---
title: "Direct Preference Optimization (DPO) (KO)"
source: "https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)"
wiki: "systems-analysis.info/int"
article: "Direct_Preference_Optimization_(DPO)_(KO)"
language: "ko"
categories:
  - "Category:Korean"
  - "Category:Large language models"
  - "Category:Machine learning"
revision_id: 1708
wiki_created_at: 2026-09-06T22:52:49Z
wiki_modified_at: 2026-09-06T22:52:49Z
downloaded_at: 2026-09-07T22:47:21Z
---

# Direct Preference Optimization (DPO) (KO)

**Direct Preference Optimization** (**DPO**) — 대형 언어 모델(LLM)을 인간의 선호도에 맞추기 위한 방법으로, 인간 피드백 기반 강화학습(RLHF)보다 더 간단하고 안정적인 대안으로 제안되었습니다. 이 방법은 2023년 라파엘 라파일로프의 지도 아래 스탠퍼드 대학교 연구팀에 의해 발표되었습니다<sup>[\[1\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-dpo_paper_2023-1)</sup>.

DPO의 핵심적인 차이점은 별도의 **보상 모델**(reward model) 학습 및 복잡한 강화학습(RL) 단계 없이, 언어 모델을 인간의 선호도에 직접 최적화한다는 것입니다. 이를 통해 LLM 미세 조정 과정이 훨씬 간단하고 빠르며 안정적으로 이루어집니다<sup>[\[2\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-huggingface_dpo-2)</sup>.

## 배경: RLHF의 한계

표준적인 **Reinforcement Learning from Human Feedback** (**RLHF**) 방법은 세 가지 주요 단계로 구성됩니다:

1.  **Supervised Fine-Tuning (SFT)**: 고품질 예시를 사용한 모델의 기본 미세 조정.
2.  **보상 모델 학습**: 사람이 제공한 쌍별 비교(예: 응답 A가 응답 B보다 낫다)를 기반으로 응답에 '점수'를 부여하는 방법을 학습하는 별도의 모델 생성.
3.  **RL을 이용한 정책 최적화**: 보상 모델의 점수를 최대화하는 응답을 생성하도록 RL 알고리즘(예: PPO)을 사용하여 기본 모델을 미세 조정.

RLHF는 효과적이지만 복잡하고 비용이 많이 들며 불안정한 과정입니다. **reward hacking**(모델이 보상 모델을 '속이는' 현상)과 같은 문제에 취약하고, 수많은 하이퍼파라미터를 세심하게 조정해야 합니다<sup>[\[1\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-dpo_paper_2023-1)</sup>. DPO는 이러한 한계를 극복하기 위해 개발되었습니다.

## DPO의 작동 원리

DPO 방법은 RLHF의 다단계 파이프라인을 지도 학습의 미세 조정으로 볼 수 있는 단일 학습 단계로 대체합니다.

1.  **선호도 데이터 수집**. RLHF와 마찬가지로, 각 쿼리 \`x\`에 대해 선호되는 응답(\`y_w\`, winning)과 기각된 응답(\`y_l\`, losing)이 쌍으로 구성된 데이터셋을 수집합니다.
2.  **직접 최적화**. 보상 모델을 학습하는 대신, DPO는 이 데이터를 직접 사용하여 언어 모델 자체를 업데이트합니다. 최적화 목표는 선호되는 응답 \`y_w\`의 생성 확률을 높이는 동시에 기각된 응답 \`y_l\`의 생성 확률을 낮추는 것입니다.

수학적으로 이는 응답의 로그 확률 차이에 적용되는 로지스틱 회귀에 기반한 손실 함수를 최소화하는 것으로 귀결됩니다. 모델이 초기 지식을 '잊어버리지' 않도록, DPO는 RLHF와 마찬가지로 **참조 모델**(*reference model*, 일반적으로 SFT 버전)을 정규화에 사용하여 원래 응답 분포에서 너무 크게 벗어나는 것을 방지합니다<sup>[\[2\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-huggingface_dpo-2)</sup>.

## RLHF 대비 장점

- **단순성 및 안정성**: DPO는 별도의 보상 모델 학습과 복잡한 RL 설정의 필요성을 제거합니다. 이 과정은 더 단순하고 예측 가능하며 오류가 발생할 가능성이 낮아집니다<sup>[\[3\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-superannotate_dpo-3)</sup>.
- **효율성 및 속도**: 두 단계를 생략함으로써 모델 조정에 필요한 연산 비용(GPU 시간)과 시간이 크게 절감됩니다. 일부 추산에 따르면, DPO는 RLHF보다 50~60% 더 경제적입니다<sup>[\[4\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-arbisoft_dpo-4)</sup>.
- **결과 품질**: 실험에 따르면 DPO는 품질 면에서 RLHF에 뒤지지 않으며, 응답의 어조 제어 등 일부 작업에서는 오히려 능가하는 것으로 나타났습니다. DPO로 학습된 모델은 인간의 선호도에 더 잘 부합하는 모습을 보입니다<sup>[\[1\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-dpo_paper_2023-1)</sup>.
- **기본 능력 저하 없음**: DPO 미세 조정은 기본 지식이나 논리 등 모델의 일반적인 능력에 미치는 영향이 최소화됩니다. 반면 RLHF는 때때로 기본 지표를 저하시킬 수 있습니다<sup>[\[5\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-iclr_blog-5)</sup>.

## 적용 및 확산

효율성과 단순성 덕분에, DPO는 빠르게 널리 보급되었습니다. **Hugging Face TRL**과 **OpenRLHF** 같은 주요 오픈 소스 라이브러리에 구현되었습니다.

많은 성공적인 오픈 모델들이 DPO를 사용하여 미세 조정되었으며, **Zephyr-7B**와 **TÜLU 2**가 그 예입니다. 이 모델들은 응답 품질 평가 benchmark에서 높은 성능을 보여, 대규모 모델에 대한 DPO의 효과를 입증했습니다<sup>[\[5\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-iclr_blog-5)</sup>.

산업계 선두 기업들도 자체 플랫폼에 DPO를 도입했습니다. 예를 들어, Microsoft는 Azure OpenAI 서비스에 DPO 미세 조정 지원을 추가하여 사용자가 GPT-4를 포함한 모델을 자체 선호도 데이터로 조정할 수 있도록 했습니다<sup>[\[6\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-azure_dpo-6)</sup>.

## 한계

장점에도 불구하고, DPO는 선호도 학습 접근 방식 자체의 일부 한계를 계승합니다:

- **데이터 민감성**: 수집된 선호도 데이터의 품질과 다양성이 매우 중요합니다. 데이터가 편향되어 있을 경우(예: 특정 언어나 스타일만 포함), 모델이 과적합되어 다른 영역에서의 성능이 저하될 수 있습니다<sup>[\[7\]](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_note-toloka_dpo-7)</sup>.
- **정적 학습**: RLHF와 마찬가지로, DPO는 정적 데이터셋을 기반으로 학습되며 환경과의 동적 상호작용을 전제하지 않습니다. 이 방법은 단일 단계 정렬에는 적합하지만, 순차적 행동을 통한 학습이 필요한 작업에는 적합하지 않습니다.

## 외부 링크

- Hugging Face TRL 라이브러리의 DPO 문서
- ICLR 2024 Blogposts의 RLHF 및 DPO 분석 리뷰

## 참고 문헌

- Rafailov, R. et al. (2023). *Direct Preference Optimization: Your Language Model is Secretly a Reward Model*. arXiv:2305.18290.
- Hong, J.; Lee, N.; Thorne, J. (2024). *ORPO: Monolithic Preference Optimization without Reference Model*. arXiv:2403.07691.
- Sun, L. et al. (2025). *BPO: Revisiting Preference Modeling in Direct Preference Optimization*. arXiv:2506.03557.
- Yin, Y. et al. (2024). *Self-Augmented Preference Optimization: Off-Policy Paradigms for Language Model Alignment*. arXiv:2405.20830.
- Wu, Y. et al. (2024). *Self-Play Preference Optimization for Language Model Alignment*. arXiv:2405.00675.
- Li, P. et al. (2024). *ROPO: Robust Preference Optimization for Large Language Models*. arXiv:2404.04102.
- Tunstall, L. et al. (2023). *Zephyr: Direct Distillation of LM Alignment*. arXiv:2310.16944.
- Wu, F. et al. (2023). *Diffusion-DPO: Diffusion Model Alignment Using Direct Preference Optimization*. arXiv:2311.12908.
- Lee, H. et al. (2023). *RLAIF vs. RLHF: Scaling Reinforcement Learning from Human Feedback with AI Feedback*. arXiv:2309.00267.
- Rafailov, R.; Sharma, A.; Mitchell, E.; Manning, C. D.; Finn, C. (2024). *Direct Preference Optimization (v3): Enhanced Experiments and Analysis*. arXiv:2305.18290v3.

## 주석

1.  <span id="cite_note-dpo_paper_2023-1">↑ <sup>[1.0](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-dpo_paper_2023_1-0)</sup> <sup>[1.1](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-dpo_paper_2023_1-1)</sup> <sup>[1.2](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-dpo_paper_2023_1-2)</sup> Rafailov, R., et al. «Direct Preference Optimization: Your Language Model is Secretly a Reward Model». *arXiv:2305.18290*. <a href="https://arxiv.org/abs/2305.18290" class="external autonumber" rel="nofollow">[1]</a></span>
2.  <span id="cite_note-huggingface_dpo-2">↑ <sup>[2.0](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-huggingface_dpo_2-0)</sup> <sup>[2.1](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-huggingface_dpo_2-1)</sup> «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». *Hugging Face Blog*. <a href="https://huggingface.co/blog/ariG23498/rlhf-to-dpo" class="external autonumber" rel="nofollow">[2]</a></span>
3.  <span id="cite_note-superannotate_dpo-3">[↑](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-superannotate_dpo_3-0) «What is direct preference optimization (DPO)?». *SuperAnnotate Blog*. <a href="https://www.superannotate.com/blog/direct-preference-optimization-dpo" class="external autonumber" rel="nofollow">[3]</a></span>
4.  <span id="cite_note-arbisoft_dpo-4">[↑](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-arbisoft_dpo_4-0) «RLHF vs DPO: A Closer Look into the Process and Methodology». *Arbisoft Blog*. <a href="https://arbisoft.com/blogs/rlhf-vs-dpo-a-closer-look-into-the-process-and-methodology" class="external autonumber" rel="nofollow">[4]</a></span>
5.  <span id="cite_note-iclr_blog-5">↑ <sup>[5.0](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-iclr_blog_5-0)</sup> <sup>[5.1](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-iclr_blog_5-1)</sup> «RLHF without RL - Direct Preference Optimization». *ICLR Blogposts 2024*. <a href="https://iclr-blogposts.github.io/2024/blog/rlhf-without-rl/" class="external autonumber" rel="nofollow">[5]</a></span>
6.  <span id="cite_note-azure_dpo-6">[↑](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-azure_dpo_6-0) «Direct preference optimization». *Azure OpenAI \| Microsoft Learn*. <a href="https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/fine-tuning-direct-preference-optimization" class="external autonumber" rel="nofollow">[6]</a></span>
7.  <span id="cite_note-toloka_dpo-7">[↑](https://systems-analysis.info/int/Direct_Preference_Optimization_(DPO)_(KO)#cite_ref-toloka_dpo_7-0) «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». *Toloka AI Blog*. <a href="https://toloka.ai/blog/direct-preference-optimization/" class="external autonumber" rel="nofollow">[7]</a></span>
