Bldev's Blog

RLHF 없이 LLM 정렬하기: DPO가 보상 모델을 대체하는 방법

2026. 9. 2.

연구 배경 및 핵심 문제 의식

대규모 언어 모델(LLM)이 사람의 의도에 부합하도록 행동하게 만드는 일, 이른바 '정렬(alignment)' 문제는 오늘날 AI 연구의 핵심 과제다. 지금까지 가장 널리 쓰인 접근법은 인간 피드백 기반 강화학습(RLHF)이다. RLHF는 크게 세 단계로 나뉜다. 먼저 지도 미세조정(SFT)으로 기본 역량을 갖춘 정책 모델을 만들고, 그 다음 인간 선호 데이터를 이용해 별도의 보상 모델(Reward Model)을 학습한다. 마지막으로 PPO 같은 RL 알고리즘을 통해 정책 모델이 보상 모델의 점수를 극대화하도록 훈련하되, 레퍼런스 정책으로부터 지나치게 이탈하지 않도록 KL 발산 제약을 동시에 적용한다.

이 파이프라인은 효과적이지만 공학적 복잡성이 상당하다. 보상 모델과 정책 모델, 레퍼런스 정책 모델까지 최소 세 개의 대형 모델이 학습 루프 안에서 동시에 관리되어야 하며, PPO의 온-폴리시 샘플링은 매 스텝마다 최신 정책으로 응답을 생성해야 하기 때문에 계산 비용이 폭발적으로 증가한다. 보상 해킹(reward hacking) — 정책이 보상 모델의 맹점을 이용해 점수를 부풀리는 현상 — 을 막기 위한 KL 제약 계수 튜닝도 섬세한 작업이다. 이러한 구조적 복잡성은 RLHF를 소수의 대형 조직에서만 재현 가능한 기술로 만들어, 학계와 산업계 모두에서 실질적인 병목으로 작용해 왔다.

DPO(Direct Preference Optimization)는 바로 이 병목을 정면 돌파하기 위해 설계된 알고리즘이다. 핵심 아이디어는 보상 모델과 RL 루프를 아예 제거하고, 인간 선호 데이터를 직접 정책 최적화에 투입하는 단일 손실 함수를 유도하는 것이다. 이론적으로 RLHF의 최적 해(解)와 동치임을 증명하면서도, 구현 복잡성은 표준 지도학습 수준으로 압축했다는 점에서 DPO는 정렬 연구의 패러다임 전환을 상징하는 논문으로 평가받는다.

선행 연구와의 패러다임 비교

LLM 정렬을 위한 선행 연구들은 크게 네 갈래로 분류할 수 있다. 첫째는 PPO 기반 표준 RLHF로, 별도의 보상 모델을 학습한 뒤 온-폴리시 RL 루프를 돌리는 방식이다. 둘째는 Best-of-N 샘플링으로, 여러 후보 응답 중 보상 모델이 가장 높이 평가한 응답을 선택한다. 이는 추론 시점의 계산 비용을 폭발시키는 대신 별도 정책 학습을 생략한다. 셋째는 선호 응답만을 이용한 SFT(Preferred-FT)로, 불선호 응답을 학습 신호로 활용하지 못한다는 한계가 있다. 넷째는 Unlikelihood 학습으로, 불선호 응답의 확률을 직접 낮추도록 설계되었으나 선호·불선호 응답 간의 상대적 관계를 정밀하게 모델링하기 어렵다.

DPO는 이 모든 방법론이 공유하는 근본적 가정, 즉 '보상 모델은 정책과 별개의 구성요소'라는 전제를 뒤집는다. Bradley-Terry 선호 확률 모델을 출발점으로 삼아 최적 정책이 곧 암묵적 보상 함수(implicit reward)를 내재한다는 수학적 동치를 유도함으로써, 보상 모델 학습 단계와 RL 루프를 모두 단일 이진 분류 손실로 흡수한다. 아래 비교표는 각 방법론이 어떤 학습 단계를 포함하는지, 그리고 DPO가 어느 단계를 생략·통합했는지를 한눈에 보여준다.

핵심 아키텍처 및 구현 실증

DPO의 수학적 유도는 RLHF의 KL-제약 최적화 목표에서 출발한다. 표준 RLHF는 레퍼런스 정책 대비 KL 발산을 패널티로 부과하면서 기댓값 보상을 극대화하는 정책을 찾는다. 이 최적화 문제는 닫힌 형태(closed-form)의 해를 가지며, 최적 정책은 레퍼런스 정책에 보상의 지수 함수를 곱한 뒤 분배 함수(partition function)로 정규화한 형태로 표현된다. DPO의 핵심 통찰은 이 관계를 역으로 뒤집어, 최적 정책으로부터 암묵적 보상 함수를 역산(reparameterize)할 수 있다는 점이다.

이 해석적 관계를 활용하면 보상 모델을 따로 학습할 필요가 없어진다. DPO는 최적 정책과 레퍼런스 모델의 로그 확률 비(log-ratio)를 이용해 보상 함수를 재매개변수화하고, 이를 Bradley-Terry 선호 모델에 대입함으로써 RL 루프 없이 표준 이진 교차 엔트로피 손실만으로 정책을 직접 최적화한다.

"By reparameterizing the ground-truth reward in terms of the optimal policy and reference model, DPO bypasses the reward modeling and reinforcement learning phases entirely, directly optimizing policy via classification loss."
— 원문 링크

그래디언트 수준에서 DPO의 동작 원리를 살펴보면, 단순히 선호 응답의 확률을 높이고 불선호 응답의 확률을 낮추는 것 이상의 섬세한 메커니즘이 작동하고 있음을 알 수 있다. 암묵적 보상 모델이 불선호 응답에 잘못 높은 보상을 부여했을 경우, 그 오차 크기에 비례하여 해당 응답의 확률을 더욱 강하게 감소시키는 가중치가 자동으로 적용된다. 이는 DPO가 별도의 보상 모델 없이도 보상 추정의 불확실성을 내재적으로 보정한다는 것을 의미한다.

"The gradient of the DPO loss increases the likelihood of the preferred completions while decreasing the likelihood of dispreferred completions, weighted by how high the implicit reward model mistakenly rated the dispreferred response."
— 원문 링크

실제 구현에서 DPO 손실은 놀라울 정도로 간결하다. 배치 내 각 선호 쌍에 대해 정책 모델과 레퍼런스 모델의 로그 확률을 각각 계산하고, 선호 응답과 불선호 응답의 로그 확률 차이를 시그모이드 함수에 통과시켜 음의 로그 우도를 최소화한다. 아래 코드 실증은 이 손실 함수의 재매개변수화 과정을 구체적으로 보여준다.

벤치마크 실험 결과 및 모델 품질

DPO 논문은 세 가지 벤치마크를 통해 알고리즘의 실효성을 검증한다. 감성 제어 실험(IMDb)에서는 GPT-J 모델을 활용해 긍정적 리뷰 생성 확률을 극대화하도록 DPO를 적용했으며, 요약 품질 평가(Reddit TL;DR)에서는 Pythia-2.8B 계열 모델로 PPO 및 Best-of-N과 직접 비교했다. 단일 턴 대화 벤치마크(Anthropic HH)에서는 무해성과 도움됨을 동시에 달성하는 정책을 평가했다. 모든 실험에서 GPT-4를 평가자로 활용하는 자동화 승률(win-rate) 지표가 주요 비교 기준으로 사용되었다.

세 벤치마크 중 가장 주목할 만한 결과는 Reddit TL;DR 요약 태스크에서 나왔다. DPO로 파인튜닝된 정책은 인간 레퍼런스 대비 61%의 승률을 기록하며 PPO를 능가했고, 훈련 속도는 훨씬 빠르고 안정적이었다. 이는 복잡한 온-폴리시 샘플링과 보상 모델 관리 없이도 경쟁력 있는 정렬 성능을 달성할 수 있음을 보여주는 직접적인 실증이다.

"On the TL;DR summarization task, DPO fine-tuned policies achieve a 61% win rate against human references, outperforming PPO while training significantly faster and with greater stability."
— 원문 링크

보상-KL 트레이드오프 프론티어(reward-KL frontier) 관점에서도 DPO의 강점이 두드러진다. PPO는 KL 제약 계수를 세밀하게 조정해야 파레토 효율적인 프론티어에 근접할 수 있는 반면, DPO는 하나의 손실 함수만으로 해당 프론티어와 동등하거나 그 이상의 지점을 달성했다. 훈련 안정성 측면에서도 PPO 특유의 보상 해킹 징후나 발산 현상 없이 일관된 수렴 곡선을 보였으며, 별도의 RL 인프라(trlx 등)를 구축할 필요가 없어 실무 재현성이 크게 향상되었다.

실무적 한계 및 후속 연구 팩트체크

DPO가 RLHF 파이프라인을 단순화한 획기적 방법론임은 분명하지만, 실무 적용 시 간과해서는 안 될 한계도 존재한다. 가장 자주 지적되는 문제는 길이 편향(length bias)이다. DPO는 선호 응답과 불선호 응답 사이의 로그 확률 차이를 직접 최적화하는 구조상, 더 긴 응답이 더 높은 절대 로그 확률을 가지는 경향과 맞물려 정책이 불필요하게 장황한 출력을 생성하는 방향으로 수렴할 수 있다. 이는 요약이나 간결한 대화 응답이 요구되는 태스크에서 품질 저하로 직결될 수 있다.

또 다른 실질적 병목은 레퍼런스 정책 모델의 메모리 상주 문제다. DPO는 매 학습 스텝마다 레퍼런스 정책과 현재 정책의 로그 확률을 동시에 계산해야 하므로, 두 개의 동일한 크기 모델을 GPU 메모리에 올려야 한다. 70B 이상의 초대형 모델을 파인튜닝하는 환경에서는 이 요구사항이 심각한 VRAM 병목으로 작용한다. KL 제약을 암묵적으로 내재화했음에도 불구하고, 레퍼런스 모델 자체를 제거하지는 못한 것이다.

이러한 한계를 극복하려는 후속 연구들이 빠르게 등장하고 있다. SimPO(Simple Preference Optimization)는 레퍼런스 모델을 아예 제거하고 응답 길이로 정규화된 로그 확률 비를 보상 대리 지표로 사용함으로써, 길이 편향과 메모리 병목 두 가지를 동시에 완화하려 시도한다. 반증 연구들이 지목하는 DPO의 또 다른 취약점은 분포 외(OOD) 데이터에 대한 붕괴 현상으로, 학습 분포와 크게 다른 프롬프트에서 정책이 과도하게 짧거나 반복적인 응답을 생성하는 경향이 보고되고 있다. 이는 온-폴리시 샘플링 없이 오프라인 선호 데이터만으로 학습하는 DPO의 구조적 한계에서 비롯된다. 인스트럭션 튜닝과 RLAIF(AI 피드백 기반 강화학습) 파이프라인에 DPO를 통합하는 방식, 혹은 레퍼런스 정책 없이 마진 기반 목적 함수를 활용하는 변형들이 이 문제를 해결하기 위한 활발한 탐색 중에 있다.