LLM을 활용한 실전 AI 애플리케이션 개발
- 허정준
🍄 채점 모델로 코드 가독성 높이기
🍯 선호 데이터셋을 사용한 채점 모델 만들기
선호 데이터셋 Reference dataset
데이터 두 개를 선호 데이터(chosen data) / 비선호 데이터(rejected data) 로 분류
+ 왜 데이터마다 점수를 매기지 않고? => 정확한 정량적 수치를 매기기 어려운 경우 많음
- Openai도 학습에 사용 => 생성된 답변의 점수를 평가하는 리워드 모델 (reward model)
🍯 강화 학습 : 더 높은 코드 가독성 점수를 향해
에피소드 : 에이전트가 연속적으로 수행하는 행동의 모음
보상 해킹 ( reward hacking)
: 보상을 높게 받는 데에만 집중 (다른 능력이 감소 / 평가 점수만 높게 나오는 우회로 찾기 등)
🍯 PPO : 보상 해킹 피하기
근접 정책 최적화 proximal preference optimization
: 지도 미세 조정 모델에 가까운 범위 내에서 리워드 모델의 높은 점수를 찾는 방법
여기서 기준이 되는 지도 미세 조정 모델은 => 참고 모델 reference model이라고 함
🍯 RLHF : 멋지지만 피할 수 있다면...
편향성/ 공격성 제어
=> 죄송하지만 답변하기 어려운~ 제가 답할 수 없는~~
하지만 사용하기 어려움!!!
- 성능이 좋고 일관성 있는 리워드 모델이 필요함
- 참고 모델 + 학습 모델 + 리워드 모델 3개가 모델 학습에 필요하므로 많은 컴퓨터 자원이 필요함
- 강화 학습 자체가 하이퍼파라미터에 민감하고 학습이 불안정함
=> 강화 학습을 사용하지 않고도 사람의 선호를 학습할 수 있는 방법이 발견!!
🍄 강화 학습이 꼭 필요할까?
두 가지 행동을 하여 리워드 모델의 점수가 높아졌다면
어떤 행동으로 인해 점수가 높아진 걸까?
🍯 기각 샘플링 : 단순히 가장 점수가 높은 데이터를 사용한다면?
강화 학습 필요 없음
기각 샘플링
: 지도 미세 조정을 마친 모델을 통해 여러 응답을 생성하고, 그 중에서 리워드 모델이 가장 높은 점수를 받은 응답을 모아 다시 지도 미세 조정을 수행
- llama-2-chat model : RLHF -> 기각 샘플링 -> PPO 사용
🍯 DPO : 선호 데이터셋을 직접 학습하기
강화 학습 + 리워드 모델 필요 없음
스탠퍼드 대학교 [ your language Model is secretly a reward model]
당신의 언어 모델은 리워드 모델이기도 하다.
RLHF
선호 데이터셋 -> 리워드 모델 제작 -> 언어 모델의 출력을 평가하며 강화 학습
DPO
선호 데이터셋 -> 언어 모델에 바로 학습
- 학습이 잘 되고 있는지 이전 참고 모델과 비교하며 진행
허깅페이스 팀 : Zeqhyr 제퍼 모델
=> DPO 학습 전에 지도 미세 조정을 수행하지 않은 경우에는 DPO로 성능이 증가하지 않았음
=> 파운데이션 모델은 지시사항과 응답의 형식을 이해하기 어려웠기 때문
🍯 DPO를 사용해 학습한 모델들
허깅페이스 팀 : Zeqhyr제퍼-7b-베타
dDPO 진행
d = 지식 증류(knowledge distillation) : 다른 LLM이 생성한 선호 데이터셋 활용
인텔 : 뉴럴-챗-7B
DPO 학습 진행
비교적 성능이 좋은 LLM의 데이터를 선호 데이터, 비교적 성능이 낮은 LLM의 데이터를 비선호 데이터로 사용!
앨런 AI : 튈루-2
70B 모델에서 DPO 잘 작동되는 것을 확인
=> 모델 크기가 커도 상관 없음!
🍄 정리 버섯
🌱🌱🌱🍄🍄🍄🍄🌱🌱🌱🍄🌱🌱🌱🌱🌱🌱🍄🍄🌱🌱🌱🌱🍄🍄🍄🌱🌱🌱🌱🌱🌱🌱🌱🌱
하이퍼파라미터(Hyperparameters)
기계 학습 모델의 성능과 학습 과정에 직접적인 영향을 미치는 사용자가 사전에 설정해야 하는 변수
선호 데이터셋으로 리워드 모델 학습
리워드 모델으로 강화 학습
선호 데이터셋은 강화 학습에 직접적으로 쓰이지 않음
'🤖 AI > AI' 카테고리의 다른 글
🔬LLM 어플리케이션 개발하기 : RAG 검색 증강 생성 - llamaIndex (0) | 2025.01.14 |
---|---|
📬️ OpenAI Capabilities : Function calling (2) | 2025.01.13 |
🔬말 잘 듣는 모델 만들기 1 : 미세 조정 (0) | 2025.01.10 |
✍️ OpenAI Cookbook : Prompting libraries & tools & guides 구경 (0) | 2025.01.09 |
✍️ OpenAI 공식 프롬프트 엔지니어링 가이드 (0) | 2025.01.09 |