목차
6.1 Sentiment Task: 감성 조절 능력 실험 (IMDb)
연도 : 2023
0. Abstract
- 기존 RLHF(인간 피드백을 활용한 강화학습)은 복잡하고 한계가 있음
- 간단한 classification loss 를 이용해 RLHF의 문제를 해결
- 샘플링이나 복잡한 하이퍼파라미터 튜닝 없이도 인간의 선호도에 맞는 fine-tuning이 가능
- 기존의 PPO 기반 RLHF보다 감정 제어 성능이 뛰어남
1. Introduction
- 명확하지 않은 문서를 이해해야 하지만, 정확한 대답을 해야하함
- 이진 분류 손실 함수(binary classification loss) 사용
- 핵심 아이디어는, 보상 모델을 명시적으로 학습하지 않고도 최적의 정책(Policy)을 바로 도출할 수 있도록 선호 기반 확률모델(theoretical preference mode, 예: Bradley-Terry 모델)을 재파라미터화하는 것
- 즉, 정책(Policy)을 직접적으로 학습함, binary cross entropy objective(분류모델에 자주 사용하는 Loss)를 이용함
- 기본적으로 preferred를 dispreferred에 비해 높도록 학습함. 그렇지만 모델이 이미 preferred 를 잘 선택하고 있으면 학습시 가중치를 줄이고, 잘못된 응답할 확률이 높으면 가중치를 높여 학습함.
2. Related Work
Instruction Tuning : 사람의 의도를 더 잘 파악하기 위해 진행
RLHF : 보상모델(reward model) 학습 >> 강화학습(PPO 등의 방법)으로 LLM 학습
기존 연구 내용 이므로 이하 생략
3. Preliminaries (사전 지식)
SFT (Supervised Fine-Tuning)
- 기존의 사전학습(pretraining)을 마친 언어모델(π₀)에 대해,
- 인간이 만든 고품질 응답 데이터로 지도학습(fine-tuning)을 수행
- 이 과정을 거쳐 \(π^{SFT}\) 라는 정책(policy)을 만듦
Reward Modelling
- 이 단계에서는 \(π^{SFT}\) 가 생성한 응답 쌍을 인간이 평가
- 그 데이터를 바탕으로 보상 모델 (reward model) 을 학습
- 선호 모델: Bradley-Terry 모델 (두 응답의 선호 확률)
- \( x \) : 프롬프트, 입력 문장
- \( y_l \) : 인간이 덜 선호한 응답 (loser)
- \( y_w \) : 인간이 더 선호한 응답 (winner)
- \( r^*(x, y) \) : 추정되는 실제 보상 함수
- \( p^*(y_w \succ y_l \mid x) \) : x에 대한 응답 쌍 \(y_w, y_l\) 중에서 \(y_w\) 를 선호할 확률
$$ p^*(y_w \succ y_l \mid x) = \frac{e^{r^*(x, y_w)}}{e^{r^*(x, y_w)} + e^{r^*(x, y_l)}} $$
- 보상 모델 학습 손실 함수
- \( E[...] \) : 기대값
- \( (x, y_w, y_l) ∼ D \) : 데이터셋 D로부터 무작위로 (질문, 선호 응답, 비선호 응답)을 샘플링
- \( r_{\phi} \) : 학습된 보상 함수
- \( \sigma \) : 시그모이드 함수
$$ \mathcal{L}_R(r_\phi; D) = -\mathbb{E}_{(x, y_w, y_l) \sim D} \left[ \log \sigma \left( r_\phi(x, y_w) - r_\phi(x, y_l) \right) \right] $$
RL 기반 Fine-Tuning (PPO 등)
- 보상 모델 r_ϕ를 학습했으니
- 이 보상을 최대화하는 방향으로 언어모델을 강화학습으로 다시 fine-tuning
- \( \max \) : 아래의 식을 조정해 뒤의 식을 최대화
- \( \mathbb{E}_{x \sim D,\, y \sim \pi_\theta(y \mid x)} \left[ r_\phi(x, y) \right] \) : 학습 데이터 D에서 프롬프트 x를 고르고, 모델 \( \pi_\theta \)가 응답 y를 생성했을 때, 보상 모델 \( r_\phi \) 가 평가한 점수의 평균값
- \( D_{\mathrm{KL}} \left[ \pi_\theta \,\|\, \pi_{\mathrm{ref}} \right] \) : KL Divergence는 두 확률분포 사이의 차이를 측정 , π_θ (새 모델)과 π_ref (기존 SFT 모델) 사이의 차이
$$ \max_{\pi_\theta} \quad \mathbb{E}_{x \sim D,\, y \sim \pi_\theta(y \mid x)} \left[ r_\phi(x, y) \right] - \beta \, D_{\mathrm{KL}} \left[ \pi_\theta \,\|\, \pi_{\mathrm{ref}} \right] $$
4. Direct Preference Optimization
강화학습 없이, 단순한 손실 함수만으로
인간 선호(preferences)에 맞게 언어 모델을 fine-tuning하는 방법 제시.
기존 RLHF 방식에서 보상을 최대화 하기 위해서는
샘플링, 보상 모델, 강화학습이 필요하다.
DPO의 핵심 아이디어는
보상함수를 정책함수(policy)로 표현한 것임
즉, 보상함수는 정책과 참조 정책의 확률비율로 표현
- \( r(x, y) \) : 보상함수
- \( \pi (y|x) \) : 정책함수 (policy)
$$ \pi_r(y \mid x) = \frac{1}{Z(x)} \, \pi_{\text{ref}}(y \mid x) \exp\left( \frac{1}{\beta} \, r(x, y) \right) $$
이걸 로그 취하고 정리하면 아래와 같다.
$$ r(x, y) = \beta \log \left( \frac{\pi_{\text{ref}}(y \mid x)}{\pi_r(y \mid x)} \right) + \beta \log Z(x) $$
다음으로, 인간 선호 모델은 다음과 같이 표현한다.
$$ p^*(y_1 \succ y_2 \mid x) = \sigma\left( r(x, y_1) - r(x, y_2) \right) $$
위 식에서 \( r(x, y) \) 를 이전 식으로 대체를 해주고, Log 변환해준 값의 대표값이 최종 DPO의 손실 함수이다.
$$ \mathcal{L}_{\text{DPO}}(\pi_\theta) = -\mathbb{E}_{(x, y_w, y_l)} \left[ \log \sigma \left(
\beta \log \left( \frac{\pi_{\text{ref}}(y_w \mid x)}{\pi_\theta(y_w \mid x)} \right)
-
\beta \log \left( \frac{\pi_{\text{ref}}(y_l \mid x)}{\pi_\theta(y_l \mid x)} \right)
\right) \right] $$
최종 손실 함수는 아래와 같은 장점이 있다.
- 정책 π만을 가지고도 선호도 손실을 계산할 수 있다
- 보상 모델도, RL도, 샘플링도 필요 없다!
손실함수는 아래 방법으로 업데이트 한다.
- 선호된 응답의 확률을 높이고
- 덜 선호된 응답의 확률을 낮추며
- 가중치는 현재 모델이 얼마나 잘못 판단하고 있는지에 따라 조정
$$ \nabla_\theta \mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_{\text{ref}}) =
- \beta \, \mathbb{E}_{(x, y_w, y_l) \sim D} \left[
\underbrace{\sigma\left(\hat{r}_\theta(x, y_l) - \hat{r}_\theta(x, y_w)\right)}_{\text{higher weight when reward estimate is wrong}} \cdot
\left(
\underbrace{\nabla_\theta \log \pi_\theta(y_w \mid x)}_{\text{increase likelihood of } y_w}
-
\underbrace{\nabla_\theta \log \pi_\theta(y_l \mid x)}_{\text{decrease likelihood of } y_l}
\right)
\right] $$
5. Theoretical Analysis of DPO
5.1 Your Language Model Is Secretly a Reward Model
r(x, y) 와 r'(x, y) 가 어떤 함수 f(x)에 대해
$$ r(x, y) - r'(x, y) = f(x) $$
가 성립하면, 두 보상 함수는 동등하다 (equivalent) 고 봄.
다음 내용도, 수학적으로 DPO가 RLHF에 비해 표현력이 나쁘지 않다는 내용에 대한 증명이니
증명은 생략하겠다.
6. Experiments
6.1 Sentiment Task: 감성 조절 능력 실험 (IMDb)
- π_ref (GPT-2-large SFT 모델)를 사용해 두 개의 응답 (y₁, y₂) 생성
- 사전 학습된 감성 분류기를 사용해 두 응답의 감성 점수 평가
- 점수가 높은 쪽을 y_w, 낮은 쪽을 y_l로 설정
6.2 Summarization Task: TL;DR 요약 (Reddit)
- 사람이 여러 요약을 보고 선호도를 라벨링한 데이터셋
6.3 Dialogue Task: 단일 턴 대화 (Anthropic-HH)
- 사람의 질문과, 모델이 생성한 2개의 응답 쌍 + 선호 라벨 포함
- 인간이 직접 평가한 고품질 선호 데이터를 사용
아래는 생략
6.4 Out-of-distribution 테스트 (CNN/DailyMail)
6.5 Human vs GPT-4 평가 일치도
결론1. 성능이 좋다.
결론2. 데이터는 사람이 선호도를 라벨링할 수도, 다른 모델을 이용해 선호도를 라벨링할 수도 있다.
데이터는 (x, y_w, y_l) 쌍을 구성해야 함.
결론3. \( \pi (y|x) \) 는 LLM 모델이 입력이 x일때 y가 출력할 확률을 나타낸 것이기 때문에 따로 계산할 필요없이 바로 구할 수 있음. 그리고 \( \pi (y_w|x) \) 와 크게 다르면 확률상 차이가 크다는 것이니 이것을 맞추는 방향으로 학습한다고 보면됨.
7. Discussion
생략
'자연어처리 > LLM 논문 요약' 카테고리의 다른 글
[LLM] EXAONE 3.5 논문 리뷰 (2) | 2025.03.10 |
---|---|
[LLM] DeepSeek-R1 논문 핵심내용 요약 (2) | 2025.02.02 |
[LLM] DeepSeek 실행 방법 with Pytorch (0) | 2025.01.28 |
[LLM] DeepSeek-R1 논문 리뷰 (5) | 2025.01.28 |
[LLM] Google Gemini - 논문 요약 (3) | 2024.09.11 |