이번에는 DPO(Direct Preference Optimization)와 RLHF(Reinforcement Learning with Human Feedback)에 대해서 알아보고자 합니다.
둘 다 LLM의 성능 향상을 위해 사용자의 선호도(Preference)에 맞게 최적화하는 기법을 의미하지만 차이가 존재하는데요
각각 어떤 것들이며, 차이점이 무엇인지에 대해서 알아보도록 하겠습니다.
1. RLHF(Reinforcement Learning with Human Feedback)와 DPO(Direct Preference Optimization)
(1) RLHF
- RLHF는 강화학습을 활용해서 사람이 선호하는 응답을 생성하도록 AI 모델을 훈련하는 방법을 말합니다.
- 이 방식은 ChatGPT, Claude, Gemini 같은 최신 LLM에서 적극적으로 활용되고 있는데요
- RLHF는 다음과 같은 3단계의 기본 구조를 가집니다.
1) Supervised Fine Tunign(SFT)
* 기존 언어 모델을 사람이 제공한 데이터로 지도 학습을 실시
2) Reward Model 학습
* 인간이 여러 개의 모델 출력을 보고, 좋은 응답과 나쁜 응답을 비교하여 순위(Ranking)에 대한 label을 답변별로 제공
* 이 데이터를 사용해 보상 모델(Reward Model)을 학습
* 이에 따라 보상 모델인 r(x,y)는 입력 x에 대해 생성된 응답 y의 선호도(score)를 예측
3) Reinforcement Learning (PPO 기반 강화 학습)
* 학습된 Reward 모델을 이용하여 Reinforcement Learning을 수행 (이때 주로, Proximal Policy Optimization / PPO 를 사용)
* 이를 통해 모델의 출력을 계속 개선하면서 더 높은 보상을 받는 방향으로 업데이트
출처 : https://aws.amazon.com/ko/what-is/reinforcement-learning-from-human-feedback/
- RLHF의 핵심은 Policy model인 π(y∣x)가 보상 모델인 r(y)의 보상 결과를 최대화하도록 학습하는 것입니다.
* 즉, 모델이 생성한 응답 y가 보상 모델 r(y)로 부터 최대한 높은 점수를 받도록 최적화 하는 것입니다.
* 강화 학습을 위해 PPO 알고리즘이 주로 사용되며, 업데이트 과정은 다음과 같습니다.
- 이와 같은 RLHF의 장점과 단점에 대해서 알아보면
1) 장점
* 사람의 선호도(Preference)를 반영한 고품질 응답 가능
* 최신의 LLM 모델들에서 그 효과성을 입증하고 있음(OpenAI, Anthropic, DeepMInd에서 나온 모델들)
* 실제 유저 피드백을 통해 지속적인 개선 가능
2) 단점
* 보상 모델이 완벽하지 않음 (사람의 선호도가 편향되거나 잘못되었을 수 있음)
* PPO 학습이 불안정 시 과적합 가능성 존재
* 학습 비용이 매우 큼
(2) DPO(Direct Preference Optimization)
- DPO는 위와같은 RLHF의 단점을 해결하기 위해 등장한 새로운 최적화 방법입니다.
- DPO의 핵심 아이디어는 아래와 같습니다.
* 비용이 큰 강화학습 없이 선호도를 학습
* PPO 같은 복잡한 알고리즘 없이도 LLM을 인간의 피드백에 맞게 조정
- 즉, RLHF처럼 보상 모델을 활용하지만, PPO 기반의 강화학습을 활용하지 않는다는게 주요한 아이디어입니다.
- DPO의 기본 원리는, 보상 모델 없이 선호도를 반영한 로짓(Logit) 에 대한 최적화를 수행하는 것입니다.
- DPO의 학습 과정
* 데이터 준비 : 인간이 두개 응답 ( Yw(좋은 응답)과 Yl(나쁜 응답) )을 비교 데이터로 제공
(즉, 답변 중 좋고 나쁨을 사람의 관점에서 바라본 label로 구분)
* 최적화 목적 함수 설정 : 모델이 좋은 응답을 생성할 확률과 나쁜 응답을 생성할 확률의 차이가 커지도록 목적함수 설정
* 수식 기반 최적화 : 보상 모델 사용 없이 모델의 로그 확률을 비교하여 최적화
- DPO의 수식
- DPO의 장점과 단점은 아래와 같습니다.
1) 장점
* PPO 강화학습이 없기에 간단하고 빠른 학습 가능
* 보상 모델을 따로 설정하지 않기에 더 직관적임
* 메모리 및 계산량 감소
2) 단점
* RLHF 대비 최적화 능력이 부족할 수 도 있음
* 일반화 성능이 RLHF 대비 낮을 수도 있음
* 아직 검증 사례가 많지는 않음
2. RLHF와 DPO 비교 정리
비교 항목 | RLHF | DPO |
핵심 개념 | 보상 모델을 기반으로 PPO 강화 학습 | 직접 모델을 업데이트하여 선호도 반영 |
보상 모델 유무 | O | X |
강화학습 필요 여부 |
O | X |
학습 난이도 | 복잡 / 불안정 | 간단하고 빠름 |
메모리 & 비용 | 매우 높음 | 낮음 |
즉
- RLHF는 대규모 모델 최적화에 강력하지만 학습이 어렵고 비용이 크고
- DPO는 간단한 최적화가 가능하지만 RLHF보다 일반화 성능이 떨어질 수 있다
로 정리해볼 수 있겠습니다.
'딥러닝 with Python' 카테고리의 다른 글
[딥러닝 with Python] NAS(Neural Architecture Search) 알아보기 - 강화학습을 기반으로 (0) | 2025.02.23 |
---|---|
[딥러닝 with Python] Decoder only 모델과 Encoder-Decoder 모델 비교 (in LLM) (0) | 2025.02.23 |
[딥러닝 with Python] In-Context Learning이란? ICL이란? (0) | 2025.02.21 |
[딥러닝 with Python] Affinity Score란? (0) | 2025.02.20 |
[딥러닝 with Python] 옵티마이저(Optimizer)란? (0) | 2025.02.19 |
댓글