DPO를 이용한 Llama 2 미세 조정 가이드
Fine-tune Llama 2 with DPO
·2023.08.08 09:00
RLHF의 복잡성을 해결하는 DPO 방식을 통해 Llama 2를 효율적으로 미세 조정하는 방법을 설명한다.
RLHF(Reinforcement Learning from Human Feedback)는 모델의 출력을 인간의 의도에 맞추는 필수적인 단계이지만, 보상 모델(Reward Model) 구축과 복잡한 RL 최적화 과정을 거쳐야 한다는 어려움이 있다.
**Direct Preference Optimization (DPO)**는 이러한 복잡성을 획기적으로 줄인 방법론이다. DPO는 별도의 보상 모델 없이, 선호도 데이터를 사용하여 언어 모델을 직접 최적화한다. 이는 RLHF의 목적 함수를 분석적으로 변환하여 단순한 이진 교차 엔트로피(binary cross-entropy) 손실로 처리할 수 있게 한다.
Hugging Face의 TRL(Transformer Reinforcement Learning) 라이브러리를 사용하면 DPO 학습을 간편하게 수행할 수 있다. DPOTrainer는 다음과 같은 세 가지 키를 가진 데이터 형식을 요구한다:
- prompt: 모델에 주어지는 컨텍스트 프롬프트
- chosen: 선호되는 응답
- rejected: 선호되지 않는 응답
본 가이드는 Stack-Exchange 선호도 데이터셋을 활용하여 Llama 2 7B 모델을 미세 조정하는 구체적인 코드 예시와 워크플로우를 제공한다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.