논문 리뷰/RL

[논문리뷰] Self-Rewarding Language Models

리미61 2025. 2. 6. 17:53

https://arxiv.org/abs/2401.10020

 

Self-Rewarding Language Models

We posit that to achieve superhuman agents, future models require superhuman feedback in order to provide an adequate training signal. Current approaches commonly train reward models from human preferences, which may then be bottlenecked by human performan

arxiv.org

Abstract

  기존의 LLM은 인간의 선호도를 바탕으로 한 보상 모델이다. 따라서 bottleneck문제와 LLM이 학습 중에 taining 할 수 없는 문제가 있다. 따라서 본 연구는 LLM이 자체적으로 평가 (LLM-as-a-Judge)하여 보상을 제공한다. 훈련은 Iterative DPO를 적용한다.

 

Introduction

  기존 LLM 정렬 방식은 Human Preference Data를 활용한다. 대표적으로 RLHF (Reinforecement Learning from Human Feedback)과 DPO (Direct Preference Optimization)이 있다. 

  • RLHF : Humane Preference Data을 바탕으로 보상 모델 학습 $\rightarrow$ 보상 모델 frozen $\rightarrow $ LLM을 PPO로 훈련
  • DPO : 보상 모델을 학습하지 않고 인간 선호 데이터를 직접 활용하여 LLM 훈련

  이렇게 학습하게 되면 데이터의 양과 품질의 병목 현상이 발생하고, RLHF는 frozen된 보상 모델이 더 이상 개선되지 않는 문제가 발생한다. 따라서 본 논문은 self-improving reward model을 제안한다. frozen된 보상 모델이 아니라 지속적으로 업데이트되는 보상 모델을 학습한다. 기존처럼 보상 모델과 LLM을 분리하지 않고 하나의 통합된 모델로 학습하고, 보상 모델링과 명령 수행도 동시에 개선 가능하다.

  SRLM은 (1) 주어진 prompt에 따라 응답을 생성하는 LLM 역할을 하면서, (2) 새로운 학습 데이터를 생성하고 자체 보상을 평가하는 역할을 수행한다. Iterative DPO를 활용하여 훈련을 진행한다. 

 

  1. Self-Instruction Creation
    • 모델이 새로운 프롬프트 생성 → 모델이 후보 응답 생성 → 자신이 직접 보상(LLM-as-a-Judge) 부여
  2. Instruction Following Training
    • 생성된 데이터에서 선호도 쌍(preference pairs) 선택 → DPO를 통해 훈련 진행 → 개선된 모델 생성 (Mt → Mt+1)
  3. 이 과정을 반복하면서, 명령 수행 능력과 보상 모델링 능력이 동시에 향상

Self-Rewarding Language Models

사전 훈련된 기본 LLM과 human-annotated seed data로 학습한다.

  1. Instruction Following → 사용자 요청(prompt)에 대해 응답을 생성
  2. Self-Instruction Creation → 새로운 명령 예제를 생성하고, 자체적으로 평가하여 학습 데이터 확장

이를 통해 AI Feedback을 활용한 자기 정렬을 수행한다. Self-Instruction Creation은 (1) generative candidate responses와 (2) model itself judging quality로 구성된다. 외부 보상 모델 없이 LLM이 스스로 응답 품질을 평가하는 LLM-as-a-Judge를 수행한다. 자체적으로 생성한 AIF를 학습 데이터로 활용한다. 

 기존 RLHF 방식과 달리 보상 모델이 고정되지 않고 학습 과정에서 지속적으로 개선 가능하다. Iterative training을 통해 이전 모델보다 더 나은 모델을 생성한다. 

Initialization

Seed instruction following data (IFT 데이터)

사람이 작성한 초기 학습 데이터(명령 프롬프트 + 응답 쌍)이다. 사전 훈련된 LLM을 Supervised Fine-Tuning으로 훈련한다. 

Seed LLM-as-a-Judge Data (EFT 데이터)

응답 평가 데이터(평가 프롬프트 + 평가 결과 응답)으로 이루어져있다. LLM-as-a-Judge를 학습한다. 평가 응답은 chain-of-thought 추론 + 최종 점수(1~5점 척도)로 구성한다. 

 

본 연구에서는 2가지 데이터를 모두 사용한다. 

Self-Instruction Creation 

학습시킨 모델을 사용하여 모델이 자체 학습 세트를 스스로 수정하도록 만든다.

  1. Generate a new prompt : 기존 IFT 데이터에서 few shot 프롬프트 샘플링 후, 새로운 prompt $x_i$ 생성
  2. Generate candidate responses : 동일한 프롬프트에 대해 $N$개의 다양한 응답을 샘플링 ${y_i^1, ..., y_i^N}$
  3. Evaluate candidate responses : LLM-as-a-Judge를 사용해 모델이 스스로 생성한 응답 후보들에 대해 평가

Instruction Following Training

초기 IFT + EFT 데이터로 모델을 훈련한 후, AI Feedback 데이터(AIFT)를 추가 학습한다. 

AI Feedback Training

Self-Instruction Creation에서 생성된 데이터를 활용하여 선호도 쌍을 생성한다. 프롬프트 $x_i$에 대해 가장 높은 점수 ($y_i^w$, winning response) 와 가장 낮은 점수 ($y_i^l$, losing response) 응답을 선택한다. 이때, 두 응답의 점수가 동일하면 제외한다. $x_i, y_i^w, y_i^l$의 데이터셋을 DPO 알고리즘으로 학습한다. 

 

DPO

보상 모델을 따로 학습하지 않고 인간 선호 데이터를 직접 활용하여 훈련하는 방식이다. 

방법 훈련 과정 학습 방식
RLHF ① 인간 선호 데이터로 보상 모델 학습 → ② 보상 모델을 활용해 LLM을 강화학습(PPO) 보상 모델 기반의 RL (PPO 사용)
DPO ① 인간 선호 데이터를 활용하여 직접 LLM을 미세 조정 간단한 미분 가능 손실 함수로 최적화

 

DPO는 선호도 쌍(Preference Pairs) 데이터를 사용하여 LLM을 직접 최적화한다.

먼저 winning response가 losing response보다 더 높은 확률을 갖도로 최적화한다. DPO는 로지스틱 손실 함수를 사용하여 모델을 학습한다. 

$$L(\theta) = -\log \sigma\left( \beta \cdot \left( \log \pi_{\theta}(y_w | x) - \log \pi_{\theta}(y_l | x) \right) \right)$$

    • σ= 시그모이드 함수
    • β = 하이퍼파라미터 (선호도 학습 강도 조절)
    • $\pi_{\theta}$ = LLM의 확률 분포

따라서 (1) 모델이 직접 새로운 응답을 생성 (2) LLM-as-a-Judge 응답을 평가하여 점수 부여 (3) DPO를 사용하여 모델을 최적화 한다. 

 

Overall Self-Alignment Algorithm

Iterative Trainig

Self-Rewarding LLM은 한 번의 훈련으로 끝나는 것이 아니라, 여러 모델을 반복적으로 학습시키는 반복 훈련(Iterative Training) 방식을 사용한다. 즉 이전 모델 $M_{t-1}$이 생성한 데이터(AIFT)를 활용해 다음 모델(M_t)를 훈련하는 방식이다. 

 

Model Sequence

$M_0$

  • Based pretrained LLM으로 no fine-tuning

$M_1$ 

  • 을 IFT(Instruction Fine-Tuning) + EFT(Evaluation Fine-Tuning) 데이터로 SFT(Supervised Fine-Tuning) 수행
  • 즉, 사람이 제공한 초기 데이터로 기본적인 명령 수행 및 평가 능력 학습

$M_2$

  • $M_1$을 AIFT($M_1$) data를 사용해 DPO로 학습
  • 모델이 자체 생성한 데이터로 학습하면서 향상됨

$M_3$

  • $M_2$을 AIFT($M_2$) data를 사용해 DPO로 학습
  • 이전 모델보다 더 나은 명령 수행 및 평가 능력을 갖춤