Meta Llama 3 릴리스 노트

Meta는 8B와 70B 파라미터 크기로 제공되는 새로운 세대의 오픈 액세스 대형 언어 모델(LLM)인 Llama 3를 출시했습니다. 이번 릴리스는 방대한 학습 데이터 증가와 재설계된 토크나이저를 통해 오픈 소스 AI 역량을 크게 향상시킵니다.

모델 변형 및 사양

Llama 3는 네 가지 주요 구성으로 제공되며, 각각 8K 토큰의 컨텍스트 길이와 소비자 등급 하드웨어와의 호환성을 갖습니다:

  • Meta-Llama-3-8B: 효율적인 배포를 위해 설계된 기본 사전 학습 모델입니다.
  • Meta-Llama-3-8B-Instruct: 8B 모델의 인스트럭션 튜닝 버전입니다.
  • Meta-Llama-3-70B: 대규모 애플리케이션을 위한 기본 사전 학습 모델입니다.
  • Meta-Llama-3-70B-Instruct: 70B 모델의 인스트럭션 튜닝 버전입니다.

또한 Meta는 Llama 3 8B를 기반으로 파인튜닝된 안전 전용 모델인 Llama Guard 2를 출시했습니다. 이 모델은 위험 분류 체계에 따라 안전하지 않은 콘텐츠를 감지하기 위해 LLM 프롬프트와 응답을 모두 분류하도록 설계된 생산 환경용 모델입니다.

Llama 2 대비 기술적 개선 사항

Llama 3는 성능과 효율성을 향상시키기 위해 여러 아키텍처 및 데이터 기반 개선을 도입했습니다:

확장된 토크나이저 및 어휘

Llama 3는 어휘 크기를 128,256 토큰으로 늘린 새로운 토크나이저를 사용합니다(기존 Llama 2는 32,000 토큰). 이 확장은 보다 효율적인 텍스트 인코딩과 잠재적으로 더 강력한 다국어 기능을 가능하게 합니다. 이 변화는 더 큰 임베딩 입력 및 출력 행렬 때문에 소형 모델의 파라미터 수가 7B에서 8B로 증가하는 데 기여했습니다.

학습 규모 및 데이터 큐레이션

이 모델들은 15조 토큰 이상(이전 버전보다 약 8배 더 많은 데이터)으로, 공개적으로 이용 가능한 온라인 데이터의 새로운 조합을 사용해 학습되었습니다. 학습은 24,000개의 GPU를 활용하는 두 개의 클러스터에서 진행되었습니다.

아키텍처 최적화

8B 모델은 이제 Grouped-Query Attention (GQA)을 구현하여 더 긴 컨텍스트를 처리할 때 효율성을 향상시킵니다.

인스트럭션 튜닝 프로세스

Llama 3 Instruct 모델은 1천만 개 이상의 인간 주석 데이터 샘플을 사용해 대화에 최적화되었습니다. 튜닝 과정은 감독형 파인튜닝(SFT), 거부 샘플링, 근접 정책 최적화(PPO), 직접 정책 최적화(DPO)를 결합했습니다.

성능 평가

Open LLM Leaderboard에 따르면 Llama 3는 이전 버전보다 상당한 개선을 보였습니다. Llama 3 8B는 13.41점을 기록했으며, Llama 2 7B의 8.72점과 비교됩니다. Llama 3 70B 모델은 26.37점을 달성하여 Llama 2 70B의 18.25점을 능가했습니다.

배포 및 통합

Llama 3는 Hugging Face 생태계에 완전히 통합되어 배포 및 추론을 위한 여러 경로를 제공합니다:

  • 🤗 Transformers: 릴리스 4.40과 호환되며 safetensors 지원, bitsandbytes를 통한 4비트 양자화, 그리고 Flash Attention 2를 지원합니다. Llama 3 모델은 CUDA 그래프와 함께 torch.compile()와 호환되어 추론 시 최대 4배 속도 향상을 제공할 수 있습니다.
  • Inference Endpoints: 연속 배치 및 토큰 스트리밍과 같은 프로덕션 준비 기능을 제공하는 Text Generation Inference (TGI)를 통해 배포할 수 있습니다.
  • Cloud Providers: Google Cloud (Vertex AI 및 GKE)와 Amazon SageMaker (AWS Jumpstart)를 통해 원클릭 배포가 가능합니다.

파인튜닝 및 프롬프트

프롬프트 형식

기본 모델은 특정 형식이 없지만, Instruct 버전은 효과적으로 작동하기 위해 엄격한 대화 구조가 필요합니다:

<|begin_of_text|><|start_header_id|>system<|end_header_id|>

{{ system_prompt }}<|eot_id|><|start_header_id|>user<|end_header_id|>

{{ user_msg_1 }}<|eot_id|><|start_header_id|>assistant<|end_header_id|>

{{ model_answer_1 }}<|eot_id|>

효율적인 파인튜닝

Llama 3는 🤗 TRL(Transformer Reinforcement Learning) 라이브러리를 사용해 소비자 GPU에서 파인튜닝할 수 있습니다. 4비트 양자화와 QLoRA를 활용하면 8B 모델을 단일 A10G GPU에서 약 4시간 만에 학습시킬 수 있습니다.

라이선스

Llama 3는 재배포, 파인튜닝 및 파생 작업을 허용하는 관용 라이선스를 사용합니다. Llama 3에 대한 새로운 요구 사항은 명시적인 귀속입니다: 파생 모델은 이름 앞에 "Llama 3"를 포함하고 파생 작업이나 서비스에 "Built with Meta Llama 3"를 언급해야 합니다.

Sources