ai theory
강화학습 기초 (19) - RLHF, RLAIF, DPO는 무엇이 다를까
Junyoung Park · 2024-07-19 · 6 min
들어가며...
언어 Model의 다음 Token prediction은 “사람이 어떤 답을 더 좋아하는가”를 직접 가르치지 않는다. 같은 질문에 사실적으로 답하는 문장과 그럴듯하지만 틀린 문장이 모두 자연스러운 Text일 수 있다.
Preference learning은 두 답변을 비교한 Data를 이용한다.
- : Prompt
- : 더 선호된 Winner response
- : 덜 선호된 Loser response
RLHF는 Human preference를 Reward로 바꾸고 RL로 Policy를 최적화한다. RLAIF는 Preference를 만드는 주체 일부를 AI feedback으로 바꾼다. DPO는 별도의 Reward model과 On-policy RL loop 없이 Preference pair로 Policy를 직접 학습한다.
세 방법을 이름으로 외우기보다 Data가 어디서 오고 어떤 Objective로 Policy를 고치는지 따라가 보자.
언어 생성을 RL로 보면
한 답변을 생성하는 과정을 MDP처럼 대응할 수 있다.
- State : Prompt와 지금까지 생성한 Token
- Action : 다음에 생성할 Token
- Transition: 선택한 Token이 문장 뒤에 붙음
- Episode: 하나의 Response가 끝날 때까지
- Reward: Response 전체에 대한 Preference score
Policy는 Language model이다.
한 Response의 확률은 Token probability의 곱이다.
실제로는 수치적으로 안정적인 Log probability의 합을 사용한다.
RLHF의 첫 단계: SFT
먼저 사람이 작성하거나 선별한 Demonstration으로 Supervised Fine-Tuning을 한다.
SFT는 Prompt에 답하는 형식과 기본 행동을 가르친다. 아무 답이나 만들던 Base model을 Instruction을 따르는 초기 Policy로 만든다.
하지만 Demonstration 하나만으로는 가능한 여러 답변의 상대적인 선호를 촘촘하게 표현하기 어렵다. 그래서 같은 Prompt에 대한 여러 Response를 비교한다.
두 번째 단계: Preference Data
현재 Model에서 두 Response를 만들고 Reviewer가 더 나은 쪽을 고른다.
점수를 직접 처럼 매기는 것보다 Pairwise comparison이 일관되기 쉬울 수 있다. 다만 Preference의 기준, Reviewer의 지식, Prompt distribution에 따라 Label이 달라질 수 있다.
세 번째 단계: Reward Model
Reward model 는 Prompt와 Response를 받아 Scalar score를 출력한다.
Winner가 더 높은 점수를 갖도록 Bradley-Terry 형태의 확률을 사용할 수 있다.
여기서,
이다.
Reward model loss는,
로 쓸 수 있다. Winner score와 Loser score의 차이가 커지도록 학습한다.
네 번째 단계: PPO로 Policy 최적화
Policy가 Reward model score를 높이도록 PPO로 Update한다. 다만 Reward만 최대화하면 Reward model의 빈틈을 이용하는 문장을 만들 수 있다. SFT policy 또는 별도의 Reference policy에서 너무 멀리 가지 않도록 KL penalty를 둔다.
가 크면 Reference에 더 가깝게 머무르고, 작으면 Reward를 향해 더 자유롭게 움직인다.
RLAIF: Feedback의 출처를 바꾼다
RLAIF, Reinforcement Learning from AI Feedback에서는 Human reviewer 대신 또는 함께 AI system이 Response를 비교한다. AI reviewer에게 원칙이나 Constitution을 주고 어떤 답이 그 원칙에 더 맞는지 Critique와 Preference를 만들게 할 수 있다.
중요한 점은 RLAIF가 반드시 완전히 다른 학습 Pipeline을 뜻하지는 않는다는 것이다. Preference label의 형태는 같을 수 있다.
그 Label로 Reward model을 학습해 RL을 할 수도 있고, 뒤에서 볼 Direct preference objective를 사용할 수도 있다.
AI feedback은 많은 Pair를 빠르게 만들 수 있지만 Preference를 객관적으로 만들지는 않는다.
- 원칙이 빠뜨린 상황은 그대로 사각지대가 된다.
- AI reviewer의 Bias와 Error가 Label에 들어간다.
- 평가 Model과 Policy가 비슷한 약점을 공유할 수 있다.
- 중요한 영역에서는 Human audit이 여전히 필요하다.
DPO: Reward Model을 따로 만들지 않는다
DPO, Direct Preference Optimization은 같은 Preference pair를 사용하지만 별도의 Reward model을 학습하고 PPO Rollout을 돌리는 과정을 생략한다.
핵심은 Winner가 Reference보다 상대적으로 더 가능해지고, Loser는 상대적으로 덜 가능해지도록 Policy를 직접 학습하는 것이다.
먼저 Policy와 Reference의 Log probability 차이를 보자.
DPO loss는 다음과 같다.
대괄호 안을 두 문장으로 읽으면 된다.
- Winner의 확률을 Reference에 비해 얼마나 올렸는가?
- Loser의 확률을 Reference에 비해 얼마나 올렸는가?
첫 번째가 두 번째보다 커지면 Preference를 잘 반영한 것이다.
DPO의 β는 어떻게 읽을까
는 Reference policy와의 관계와 Preference signal의 Scale을 조절한다. 구현과 유도 방식에 따라 설명의 초점은 다를 수 있지만, 실용적으로는 Policy가 Preference pair에 얼마나 강하게 반응할지 결정하는 중요한 Hyperparameter다.
너무 공격적으로 Winner probability만 높이면 문장 다양성이 줄거나 Training pair에 과적합할 수 있다. 너무 약하면 Preference를 충분히 반영하지 못한다.
RLHF와 DPO 중 무엇이 항상 더 좋은가
항상 한쪽이 우월하다고 말하기 어렵다.
RLHF + PPO
- Reward model을 다른 분석이나 Online sampling에 사용할 수 있다.
- 현재 Policy에서 새 Response를 생성하며 Reward를 탐색한다.
- Pipeline과 Hyperparameter가 복잡하고 계산 비용이 크다.
- Reward hacking과 Training instability를 관리해야 한다.
DPO
- 구현이 Supervised fine-tuning과 비슷해 단순하다.
- 별도의 Reward model과 On-policy RL infrastructure가 필요 없다.
- 고정 Preference Dataset의 Coverage에 크게 의존한다.
- Pair에 없는 행동을 Online으로 탐색하는 과정은 없다.
문제의 Data, Compute, 평가 방법에 따라 선택해야 한다.
Preference가 진짜 목표는 아니다
두 방법 모두 Preference data의 품질을 넘어설 수 없다.
- 짧고 자신감 있는 답이 실제보다 더 자주 선호될 수 있다.
- Reviewer가 사실 확인을 못 하면 그럴듯한 Error를 고를 수 있다.
- 서로 다른 사람의 가치 판단이 하나의 Label에 섞일 수 있다.
- Training Prompt와 실제 사용 Prompt가 다를 수 있다.
Preference score가 올라갔다고 사실성, 안전성, 유용성이 모두 좋아졌다고 결론 내리면 안 된다. 각각을 별도의 Evaluation으로 확인해야 한다.
이번 글에서 기억할 것
RLHF, RLAIF, DPO는 모두 비교 Preference를 활용하지만 Feedback의 출처와 Policy를 최적화하는 경로가 다르다.
- RLHF는 SFT → Human preference → Reward model → PPO의 흐름을 사용한다.
- KL penalty는 학습 Policy가 Reference에서 너무 멀어지는 것을 억제한다.
- RLAIF는 Preference 판단의 일부를 원칙에 따른 AI feedback으로 바꾼다.
- DPO는 Reward model과 On-policy RL loop 없이 Winner-Loser probability를 직접 최적화한다.
- 어떤 방법도 Preference data의 Bias와 Coverage 문제를 자동으로 해결하지 않는다.
다음 마지막 글에서는 Algorithm보다 먼저 확인해야 하는 Reward design과 Evaluation을 다룬다.