논문 · arXiv 2307.09288
Llama 2: 오픈 파운데이션 및 파인튜닝된 챗 모델
Llama 2: Open Foundation and Fine-Tuned Chat Models
세 줄 요약
- 🎯 기존 오픈 액세스 LLM에는 상용 독점 챗 모델과 안전하고 효과적으로 경쟁하기 위한 광범위한 정렬(RLHF)이 부족했습니다.
- 🔧 Grouped-Query Attention을 적용해 2조 토큰으로 7B–70B 모델을 사전 학습한 뒤, 고품질 SFT, 이중 보상 모델링(안전성 및 유용성), Rejection Sampling 파인튜닝, PPO, Ghost Attention(GAtt)을 적용했습니다.
- 📈 Llama 2 70B는 MMLU 68.9, GSM8K 56.8을 달성했으며, Llama 2-Chat은 인적 평가에서 ChatGPT를 상대로 36% 승률과 31.5% 무승부율을 기록했습니다.
초록
본 연구에서는 70억 개부터 700억 개 파라미터 규모에 이르는 사전 학습 및 파인튜닝된 대규모 언어 모델(LLM) 제품군인 Llama 2를 개발하고 공개합니다. 대화 사용 사례에 맞게 최적화된 파인튜닝 모델인 Llama 2-Chat은 대부분의 테스트 벤치마크에서 기존 오픈소스 챗 모델을 능가하며, 유용성과 안전성에 대한 인적 평가를 바탕으로 폐쇄형 독점 모델을 대체할 만한 수준임을 보였습니다. 우리는 커뮤니티가 본 연구를 기반으로 LLM의 책임 있는 개발에 기여할 수 있도록 Llama 2-Chat의 파인튜닝 및 안전성 개선 접근 방식을 상세히 공유합니다.
영어 원문 초록
In this work, we develop and release Llama 2, a collection of pretrained and fine-tuned large language models (LLMs) ranging in scale from 7 billion to 70 billion parameters. Our fine-tuned LLMs, called Llama 2-Chat, are optimized for dialogue use cases. Our models outperform open-source chat models on most benchmarks we tested, and based on our human evaluations for helpfulness and safety, may be a suitable substitute for closed-source models. We provide a detailed description of our approach to fine-tuning and safety improvements of Llama 2-Chat in order to enable the community to build on our work and contribute to the responsible development of LLMs.
논문 해설
문제 및 동기
LLaMA-1, BLOOM, Falcon과 같은 오픈 액세스 사전 학습 파운데이션 모델은 GPT-3의 순수 베이스 성능을 따라잡았으나, 상용 챗 어시스턴트(예: ChatGPT, Claude)는 여전히 상당한 격차를 유지하고 있었습니다. 이러한 성능 우위는 대규모 연산 자원, 독점적인 어노테이션 파이프라인, 레드팀 활동을 요구하는 인스트럭션 튜닝 및 인간 피드백 기반 강화학습(RLHF)을 통한 집중적인 사후 학습(post-pretraining) 정렬에서 비롯되었습니다. Meta는 정렬된 대화 모델을 대중화하고 정렬 및 안전성 방법론을 투명하게 공개하기 위해 Llama 2 및 Llama 2-Chat(7B, 13B, 70B 파라미터 및 미출시된 34B 변형)을 개발하고 오픈소스로 공개했습니다.
핵심 아이디어
- 사전 학습 확장: Llama 1 대비 40% 증가한 2.0조 개의 토큰으로 사전 학습을 진행하고, 컨텍스트 길이를 4,096토큰으로 두 배 확장했으며, 자기회귀 디코딩 속도를 가속하기 위해 34B 및 70B 모델에 Grouped-Query Attention(GQA)을 도입했습니다.
- 품질 중심의 SFT: 수백만 개의 노이즈가 있는 제3자 데이터보다 수만 개의 고품질 벤더 어노테이션이 더 효과적임을 입증하며, 정선된 27,540개의 데모로 SFT를 제한했습니다.
- 이중 보상 모델링(Dual Reward Modeling): 안전성 제약이 유용성을 저해하는 상충 관계를 방지하기 위해 유용성(Helpfulness)과 안전성(Safety)을 위한 두 개의 독립적인 보상 모델을 학습했습니다.
- 2단계 RLHF 정렬: 70B 모델로부터 증류된 반복적 Rejection Sampling 파인튜닝과 후속 Proximal Policy Optimization(PPO)을 결합했습니다.
- Ghost Attention(GAtt): 여러 대화 턴(20턴 이상)에 걸쳐 인스트럭션이 희석되지 않고 지속적인 시스템 지침을 유지하도록 돕는 멀티턴 대화 대상 컨텍스트 증류(Context Distillation) 기법입니다.
방법론
사전 학습 아키텍처
Llama 2는 RMSNorm 프리 노멀라이제이션, SwiGLU 활성화 함수, 회전 위치 임베딩(RoPE)을 갖춘 자기회귀 트랜스포머 아키텍처를 사용하며, 대규모 모델(34B 및 70B)에는 GQA가 추가되었습니다. 모델은 AdamW(), 10%까지 감소하는 코사인 학습률 감쇠, 0.1의 가중치 감쇠, 1.0의 그래디언트 클리핑을 사용하여 훈련되었습니다.
보상 모델링
인간 평가자는 샘플링된 두 응답 간의 비교 선호도를 4점 척도로 제공합니다. 보상 모델은 사전 학습된 대화 체크포인트로부터 초기화되며 마진이 추가된 이진 랭킹 손실로 최적화됩니다: 여기서 는 프롬프트 컨텍스트, 는 선호된 응답, 는 기각된 응답이며, 은 평가자의 선호 강도에 따라 결정되는 이산 마진입니다.
RLHF 목적 함수
최적화는 Rejection Sampling(최신 정책에서 개의 출력을 샘플링하고 가장 높은 보상을 받은 출력을 선택) 및 PPO를 통해 수행됩니다. PPO 목적 함수는 기대 보상을 최대화하면서 초기 정책 에 대한 KL 발산을 통해 정책 변화를 제한합니다: 여기서 는 화이트닝 및 로짓 변환된 안전성()과 유용성() 보상 모델의 구간별 결합입니다:
Ghost Attention (GAtt)
멀티턴 일관성을 강제하기 위해 기존 대화의 각 사용자 프롬프트에 지침 를 합성적으로 추가합니다. 응답은 최신 정책에서 샘플링되지만, 손실은 대상 턴의 토큰에 대해서만 독점적으로 계산되며(이전 턴의 손실은 0으로 처리), 추론 시에는 첫 번째 턴에만 를 유지합니다.
실험 결과
- 베이스 모델 벤치마크: Llama 2 70B는 모든 오픈소스 베이스 모델을 능가하여 MMLU(5-shot)에서 68.9, GSM8K(8-shot)에서 56.8, Big-Bench Hard(3-shot)에서 51.2를 기록하며 GPT-3.5 및 PaLM-540B에 필적했습니다.
- 인간 대화 평가: 약 4,000개의 프롬프트를 대상으로 한 인적 평가에서 Llama 2-Chat 70B는 ChatGPT(gpt-3.5-turbo-0301)를 상대로 36% 승률과 31.5% 무승부율을 기록했습니다. Llama 2-Chat 34B는 Vicuna-33B 및 Falcon 40B와의 맞대결에서 75% 이상의 승률을 보였습니다.
- 안전성 및 유해성: 안전성이 정렬된 Llama 2-Chat은 ToxiGen의 유해 생성 비율을 24.60%(베이스 70B)에서 0.01%로 낮췄으며, 인간 레드팀 벤치마크 전반에서 ChatGPT 및 Falcon보다 낮은 안전 위반 비율을 기록했습니다.
한계점 및 열린 질문
- 코딩 및 복합 추론: Llama 2 70B는 코딩 벤치마크에서 GPT-4 및 PaLM-2-L에 비해 크게 뒤처집니다(HumanEval pass@1 기준 GPT-4의 67.0% 대비 29.9%).
- 지원 언어 범위: 사전 학습 데이터의 약 89.7%가 영어로 구성되어 있어, 다른 언어에서의 모델 성능 및 안전성 정렬이 취약할 수 있습니다.
- 오거부 및 과도한 보수성: 엄격한 안전성 튜닝으로 인해 경계선상의 프롬프트에서 오거부(false refusal)가 발생합니다(예: 'bomb'이나 'Christmas Crack'과 같은 단어가 포함된 무해한 질의 거부).
- 34B 릴리스 지연: 34B 모델 변형은 논문 발표 전 레드팀 검증 시간이 충분하지 않아 일반에 공개되지 않았습니다.
핵심 용어
- Grouped-Query Attention (GQA)
- 쿼리 헤드 그룹 간에 키 및 값 헤드를 공유함으로써 대형 모델의 KV 캐시 메모리 대역폭을 줄이고 추론 속도를 향상하는 어텐션 변형 기법입니다.
- Reinforcement Learning with Human Feedback (RLHF)
- 인간의 쌍대 비교 선호도를 활용해 보상 모델을 학습시키고, PPO 및 Rejection Sampling을 통해 정책 최적화를 유도하는 정렬 절차입니다.
- Rejection Sampling fine-tuning
- 프롬프트당 여러 후보 응답을 샘플링한 후 보상 모델에 따라 가장 점수가 높은 출력을 선택하여 지도 학습 방식의 그래디언트 업데이트에 정답 레이블로 사용하는 기법입니다.
- Ghost Attention (GAtt)
- 프롬프트 컨텍스트를 조정하고 중간 토큰 손실을 마스킹하여 멀티턴 대화 전반에 걸쳐 지침을 합성적으로 유지시키는 파인튜닝 방법입니다.
- Safety RM and Helpfulness RM
- 최적화 간의 상충을 방지하기 위해 안전성 적대적 비교와 일반 유용성 비교 데이터셋으로 각각 독립적으로 훈련된 두 개의 보상 모델입니다.
- Context Distillation
- 안전 사전 프롬프트(preprompt) 조건부로 모델 완성을 생성한 다음, 해당 사전 프롬프트 없이 베이스 모델을 이 출력값에 파인튜닝하는 기법입니다.
- False Refusal
- 지나치게 민감한 안전성 휴리스틱이나 특정 트리거 단어로 인해 모델이 정당하고 안전한 사용자 프롬프트에 답변을 잘못 거부하는 현상입니다.
- Inter-Rater Reliability (IRR)
- 안전성과 유용성을 평가하는 인간 주석가들 사이의 일치도를 정량화하는 통계적 척도(Gwet의 AC1/2를 통해 평가)입니다.
자주 묻는 질문
Llama 2는 어떤 파라미터 크기로 공식 출시되었나요?
Meta는 베이스 Llama 2와 대화에 최적화된 Llama 2-Chat 모두에 대해 7B, 13B, 70B 파라미터 변형을 공개했습니다. 34B 모델은 논문에서 평가되었으나 레드팀 검증 시간 부족으로 인해 릴리스에서 제외되었습니다.
Llama 2는 사전 학습 데이터와 아키텍처 면에서 Llama 1과 어떻게 다른가요?
Llama 2는 Llama 1보다 40% 많은 2.0조 개의 토큰으로 학습되었으며, 컨텍스트 창이 4,096토큰으로 두 배 늘어났고, 34B 및 70B 모델 구성에 Grouped-Query Attention(GQA)이 추가되었습니다.
저자들이 안전성과 유용성 보상 모델을 분리하여 학습한 이유는 무엇인가요?
선호도 모델링 중에 유용성과 안전성은 자주 상충하기 때문입니다(예: 안전하지 않은 요청을 들어주는 것은 유용하지만 규정을 위반함). 이를 분리함으로써 각 목적에 특화된 최적화가 가능해지며 한 목표가 다른 목표를 저해하는 것을 방지할 수 있습니다.
Ghost Attention(GAtt)은 어떻게 멀티턴 대화에서 지침 망각을 방지하나요?
GAtt는 합성 멀티턴 대화의 각 사용자 턴에 시스템 지침을 덧붙여 응답을 샘플링한 후, 중간 턴에서 지침을 제거하고 오직 대상 턴에만 손실을 적용하여 학습시킵니다. 이를 통해 모델의 어텐션 레이어가 긴 대화 전반에서 초기 시스템 메시지에 지속적으로 집중하도록 유도합니다.
이 페이지의 해설은 AI가 논문을 바탕으로 작성했으며 오류가 있을 수 있습니다. 자세한 내용은 원문을 확인하세요.