본문 바로가기

자연어처리(NLP)

[초등학생도 이해하는] Llama 3.1 초간단 정리

반응형

안녕하세요, Coding your life, '코딩 오페라'입니다. 오늘은 최근 Meta에서 발표하여 이슈가 되고 있는 'Llama 3.1' LLM(Large Language Models)에 대해 소개해드리고자 합니다. 현재 저는 '초등학생도 이해하는 자연어 처리'라는 주제로 자연어 처리(NLP)에 대해 포스팅을 하고 있습니다. 제목처럼 진짜 핵심 내용을 쉽게 설명하는 것을 목표로 하고 있으니 자연어 처리(NLP)에 입문하고 싶은 분들은 많은 관심 부탁드립니다. 

Llama 3.1

Llama 3.1

 
지난 24년 7월 23일 페이스북의 모회사 Meta는 거대 자연어처리 인공지능 모델(LLM)인 Llama 3.1을 공개하여 세간의 주목을 받고 있습니다. 이렇게 주목을 받게 된 이유는 성능도 성능이지만, Openai나 Google과 다르게 ChatGPT급 고성능 LLM을 무료로 코드를 공개하였기 때문입니다. 현재 Openai의 ChatGPT, Google의  Gemini는 사용자가 무료로 사용할 수 있지만, 모델의 코드는 공개하지 않은 closed source 모델로, 다른 개발자들이 해당 모델을 통해 서비스를 개발할 수 없습니다. 그러나 Meta의 Llama 3.1는 이와 달리 모델의 코드를 open source로 공개하면서 개발자나 일반인들이 다양하게 개발할 수 있는 환경을 만들어줬습니다. 또한 성능 역시 open source LLM임에도 불구하고, ChatGPT-4와 비슷하여 세상을 놀라게 만들었습니다. 이제부터 Llama 3.1에 대해 좀 더 자세히 알아보도록 하겠습니다.  
 

Model

모델 구성

Llama 3.1은 모델의 파라미터 수에 따라 8B, 70B, 405B 모델로 나뉩니다. 여기서 B는 'Billon'의 약자로 10억을 의미합니다. 즉 모델의 파라미터가 각각 80억, 700억, 4050억개인 모델들입니다. 이는 이전작 Llama 3에서 가장 큰 70B 모델에 비해 최대 5배 이상 커진 모델입니다. 
 
또한 한번에 프롬프트를 입력할 수 있는 길이(Context length) 또한 증가하였습니다. 전작 8k에서 16배 증가한 128k 길이의 문장을 입력할 수 있어, ChatGPT-4와 동일하게 설정되었습니다. 이는 85페이지 분량의 문서를 한 번에 프롬프트로 입력할 수 있는 양으로서, 이전작의 한계점을 극복하였습니다. 보통 모델의 사이즈가 충분하지 않은 상태에서 Context length를 늘리게 되면 모델의 성능이 떨어지는데, 이번  flagship 모델은 405B로 거대하여, 길이를 늘릴수 있었던 것으로 분석됩니다. 
 

기업별 H100 GPU 구매량

 
Llama 3.1를 학습시키는데  무려 15조개 token(15 trillion)들이 사용되었습니다. 이를 위해서 Meta는 엔비디아 H100 GPU를 무려 1만 6천 개를 사용했다고 합니다. 이제 Meta가 왜 H100 GPU를 미친 듯이 샀는지 이해가 가네요. 정말 많은 비용과 시간이 들었을 텐데 open source로 푸는 것 자체가 대단합니다.

Llama 3.1 모델 아키텍처

 
그리고 모델은 개량된 transformer가 아닌, 전통적인 decoder-only transformer model을 사용했다고 합니다. 아마 open source로써 호환성을 염두해두고 일반 transformer를 사용한 게 아닐까 하는 생각이 드네요. 또한 405B flagship 모델과 같이 큰 LLM의 추론 시간을 빠르게 하기 위해 양자화(quantized)를 기존 16bit에서 8bit로 줄였다고 합니다.
 
뿐만 아니라 Llama 3.1 모델은 multilingual safety model and Prompt Guard기능을 포함하고 있는 Llama Guard 3를 필터로 적용하여, 생성형 모델의 윤리적, 도덕적 문제를 해결하였습니다. 물론 ChatGPT나 Gemini 같은 open source LLM도 이러한 문제가 중요하지만, close source LLM인 Llama 3.1은 문제가 발생 시 서비스를 중단할 수 없으므로 더욱 이 문제에 대해 신경을 쓴 것으로 보입니다. 자세한 사항은 아래 링크를 참고해 주시기 바랍니다.
https://llama.meta.com/trust-and-safety/#safeguard-model%20?

Trust & Safety - Llama

Llama trust and safety models and tools embrace both offensive and defensive strategies.

llama.meta.com

 

기능

Llama 3.1의 기능은 ChatGPT와 비슷하게 Tool use, Multi-lingual agents, Complex reasoning, Coding assistants로 구성되어 있습니다. 
 

  • Tool use(도구 사용): 사용자가 원하는 여러가지 도구들을 제공합니다. 아래와 같이 어떤 데이터를 분석하고 이를 그래프로 나타내어줍니다. 
  • Multi-lingual agents(다국어 에이전트): 영어뿐만 아니라 다른 언어들도 이해할 수 있는 Multi-lingual agents 기능이 있습니다. 아래와 같이 스페인어로 번역도 잘하는 것을 확인할 수 있습니다.  
  • Complex reasoning(복잡한 추론): 사람이 잘 하는 복잡한 추론 문제도 풀 수 있습니다. 다음과 같이 휴가 때 입을 옷에 대해 문의를 하면, 이를 분석해서 최적의 답을 찾아줍니다.
  • Coding assistants(코딩 조수): 많은 시간이 들어가는 코딩을 요구사항만 명확히 프롬프트로 전달해주면, 코드를 작성해 줍니다.  

성능

Llama 3.1에 대한 성능은 다음과 같습니다. 먼저 Llama 3.1 405B 모델의 경우 아래 그래프와 같이 여러가지 성능지표에서, 경쟁 모델 Nemotron 4, GPT-4, GPT-4o(Omni), Claude 3.5 Sonnet들 보다 우수한 성능을 보였습니다. Llama 3.1는 특히 8B와 70B와 같은 작은 모델에서 두각을 드러냈는데, 아래와 같이 비슷한 크기의 Gemma 2, Mistral, Mixtral, GPT 3.5 모델에 비해 성능이 월등히 높은 것을 확인할 수 있습니다. 

Llama 3.1 405B와 다른 경쟁 모델들 성능비교
Llama 3.1 8B와 다른 경쟁 모델들 성능비교

 
부가적으로 Meta는 사람이 평가하는 'Human Evaluation'도 진행하였습니다. 이 지표에서 Llama 3.1 405B 모델은 GPT-4와 Claude 3.5 Sonnect과 비슷한 성능을 보였지만, GPT-4o에는 미치지 못했습니다. 

Llama 3.1 405B와 다른 경쟁 모델들 사람 평가 성능비교

Open Source System

Llama 3.1은 다른 closed source LLM과는 다르게 모델의 weights를 다운받을 수 있습니다. 이로 인해 개발자들은 Llama 3.1을 그들의 필요와 도메인에 맞게 완전히 커스터마이징(fine-tuning 등) 할 수 있습니다. 그러면 Meta는 도대체 왜? 수억 달러를 들여 개발한 Llama 3.1 모델을 공짜로 open sourse release를 했을까요? 여기에는 Meta의 철학이 담겨있습니다. 바로 "LLM의 민주화"를 이루어 Llama가 "LLM계의 리눅스"가 되려고 하는 것입니다. Llama 3.1 다운로드 링크는 다음과 같습니다.
https://llama.meta.com/

Llama 3.1

The open source AI model you can fine-tune, distill and deploy anywhere. Our latest models are available in 8B, 70B, and 405B variants.

llama.meta.com

 
https://huggingface.co/collections/meta-llama/llama-31-669fc079a0c406a149a5738f

Llama 3.1 - a meta-llama Collection

This collection hosts the transformers and original repos of the Meta Llama 3.1, Llama Guard 3 and Prompt Guard models

huggingface.co

 
리눅스는 MS, MacOS 와 같은 closed source OS(Operating System) 달리 누구나 커스터마이징 할 수 있는 open source OS입니다. 이로인해 리눅스는 자유도가 높은 OS로 개발자 사이에서 입소문이 났고, 결국 리눅스 생태계가 구축되며 현재 개발자들 사이에서 없어서는 안 될 OS가 되었습니다. 이와 같이 현재 Meta의 스탠스를 보면, LLM계의 리눅스가 되려고 하는 것 같습니다. Open, closed source LLM에 대해 정리를 하면 다음과 같습니다.
 

  • Closed source LLM(ChatGPT, Gemini): 유저 중심 AI
  • Open source LLM(Llama): 개발자 중심 AI

그런데 Llama 3.1 405B 모델과 같이 거대 AI 모델을 돌리려면 서버와 전기 등 엄청난 자원이 필요합니다. 때문에 개발자 입장에서는 비용이 만만치 않게 들어가는데요, 이를 해결하고자 이미 Meta는 아래와 같이,  AWS, NVIDIA, MS, Databricks, Groq 등 다양한 클라우드 및 서버 업체들과 파트너쉽을 맺고 있습니다.

Meta와 파트너쉽을 가지고 있는 회사들

 
 
Meta 홈페이지에는 Llama 3.1에 관련하여 다음과 같은 문구가 있습니다.
 

"Open source will ensure that more people around the world have access to the benefits and opportunities of AI, that power isn’t concentrated in the hands of a small few, and that the technology can be deployed more evenly and safely across society."

 

직역을 하자면 "open source LLM은 AI가 특정 대기업의 독과점되지 않고 더 많은 사람들이 접근할 수 있게 하며, 이는 사회를 더욱 안전하게 한다."라고 해석할 수 있습니다. 이를 통해 Meta의 AI대한 철학을 엿볼 수 있었습니다.   

 
과연 이러한 Meta의 철학은 AI 민주화를 위한 진심일까요? 아니면 LLM의 선두 주자인 OpenAI와 Google을 힘들게 하려는 후발주자로써의 전략일까요? 여러분들의 의견을 알려주세요 ㅎㅎ
 
참고로 여러분들을 위해 제가 유튜브 영상도 제작했으니 많은 관심 부탁드리겠습니다. 앞으로 인공지능 관련 영사을 꾸준히 업로드할 예정이니 구독 좋아요도 부탁드려요 😍😍
https://www.youtube.com/watch?v=gFZZGdMmObI&t=503s

 https://youtu.be/v0liTMKlxNE?si=lrgUtVb15E8D4oLr


 

다음시간에는 오늘 설명드린 세계에서 가장 강력한 open source LLM인 Llama를 직접 사용하는 방법에 대한 포스팅을 올리도록 하겠습니다.   

 
추가적으로 제가 AI 학습 관련 오픈 카카오톡방을 만들었습니다. AI와 코딩 학습에 목말라 있으신 분들이 라면 누구나 들어와서 즐겁게 맘껏 정보공유와 AI 공부하시면 될 것 같습니다. 링크는 다음과 같이니 꼭 한번 참석 및 홍보 부탁드리겠습니다.
https://open.kakao.com/o/ggxse9sg

인공지능/AI/코딩 공부방(코딩오페라)

인공지능/AI/코딩 공부방

open.kakao.com

 
지금 까지 'Llama 3.1'모델에 대해 알아보았는데, 도움이 되셨나요? 만약 되셨다면 구독 및 좋아요로 표현해 주시면 정말 감사하겠습니다. 구독과 좋아요는 제가 블로그를 운영하는 데 정말 많은 힘이 됩니다. 궁금한 사항 혹은 앞으로 다루어 주었으면 좋을 주제가 있으시면 댓글 남겨주시면 감사하겠습니다. 여러분 저는 Coding your life, '코딩 오페라'였습니다.

반응형