2023’te Stanford araştırmacıları Rafailov ve ekibi bir soruyu net biçimde sordu: büyük dil modellerini insan tercihlerine uyarlamak için ayrı bir reward model şart mı? RLHF üç ayrı bileşenden oluşuyordu: SFT modeli, reward model, PPO döngüsü. Her biri ayrı eğitim, ayrı GPU bütçesi, ayrı kararsızlık riski demekti. Cevap “hayır” çıktı ve bu bulgu Direct Preference Optimization adıyla yayınlandı.

Direct Preference Optimization (DPO), model hizalama sürecini tek bir fine-tuning adımına indirgeyen bir tekniktir. Reward model eğitmek yok, PPO döngüsü yok; bunun yerine tercih verisini doğrudan bir kayıp fonksiyonuna dönüştürüp modeli tek seferde güncelliyor. 2024-2025 döneminde Llama 3 Instruct, Mistral Instruct ve Qwen2.5-Instruct gibi yaygın kullanılan açık ağırlıklı modeller bu yöntemi benimsedi.
RLHF’nin Getirdiği Mühendislik Yükü
RLHF pipeline’ı teoride temiz görünür: insan tercihlerinden bir reward model öğren, bu reward modeli kullanarak asıl dili PPO ile güncelle. Pratikte her adım kendi sorunlarını taşıyor.
İlk sorun reward model eğitimi. Annotatorlar aynı prompt’a verilen iki farklı yanıtı yan yana değerlendirip hangisinin daha iyi olduğunu işaretliyor. Bu tercih çiftlerinin kaliteli ve geniş kapsamlı olması gerekiyor. Ardından bu veriden ayrı bir sınıflandırıcı eğitiliyor ki bu da kendi overfitting ve genelleştirme risklerini getiriyor.
İkinci sorun PPO eğitiminin istikrarsızlığı. PPO’nun LLM eğitimine uyarlanması hassas bir hiperparametre dengesine bağlı. KL divergence katsayısı çok küçükse model reward modeli “hack”ler ve insan tercihlerinin ruhunu değil, metriklerini optimize eder. Çok büyükse güncelleme neredeyse hiç gerçekleşmez. Bu dengeyi bulmak iteratif bir süreç.
Üçüncü sorun hesaplama maliyeti. PPO döngüsünde aynı anda birden fazla model GPU belleğinde tutulmalı: policy modeli, referans model, reward model ve value modeli. Büyük ölçekli modellerde bu birikim pratik kısıtlar doğuruyor.
DPO bu üç bileşeni tek bir aşamayla ikame ediyor.
DPO’nun Temel Fikri
Rafailov ve ekibinin gösterdiği şey matematiksel olarak şu: optimal bir reward modeliyle eğitilmiş bir policy’nin analitik çözümü var ve bu çözüm yalnızca policy modelinin ve referans modelin log-olasılıklarına bağlı.
Sezgisel açıklama şöyle: bir reward modeli, tercih edilen yanıtın log-olasılığı ile reddedilen yanıtın log-olasılığı arasındaki fark kullanılarak tanımlanabilir. Bu fark, iki farklı modelden (policy ve referans) zaten hesaplanabilir. Dolayısıyla reward modeli ayrı bir bileşen olarak eğitmeye gerek kalmıyor; doğrudan bu farkı optimize eden bir kayıp fonksiyonu yazılabiliyor.
Sonuç: RLHF’nin üç aşamalı pipeline’ı, supervised fine-tuning mantığıyla çalışan tek bir eğitim adımına dönüşüyor.
Bu türetmenin arka planında KL-kısıtlı bir optimizasyon problemi var. RLHF şunu çözmeye çalışıyor: reward modelini maksimize et, ama referans modelden çok uzaklaşma. Bu problemin analitik bir çözümü var ve çözüm, optimal policy’yi formül olarak yazılabilir hale getiriyor. Rafailov ve ekibinin fark ettiği şey bu formülün yeniden düzenlenebileceğiydi; reward modeli hiç hesaplanmadan policy’nin log-olasılık oranları cinsinden ifade edilebiliyordu. Başka bir ifadeyle: reward modeli yerine iki modelin (policy ve referans) olasılık oranları kullanılıyor. Bu denklik teorik olarak sağlam ve uygulamada ciddi mühendislik basitliği getiriyor.
Tercih Verisi Nasıl Görünür?
DPO için gerekli veri formatı nispeten düz: her örnek bir üçlüden oluşuyor.
{
"prompt": "Kuantum bilgisayarları klasik bilgisayarlardan farklı kılan nedir?",
"chosen": "Kuantum bilgisayarlar, qubit adı verilen ve aynı anda 0 ve 1 değerini...",
"rejected": "Kuantum bilgisayarlar çok hızlı çalışan bilgisayarlardır..."
}
Bu üçlüler farklı kaynaklardan gelebiliyor. Anthropic’in HH-RLHF veri seti (Helpful and Harmless), insan annotatorların iki yanıt arasında seçim yaptığı büyük ölçekli bir havuz. UltraFeedback ise GPT-4 gibi güçlü modellerin yanıtları değerlendirdiği, ölçeklenebilir bir veri üretim yaklaşımı. Bu “AI geri bildirimi” modeli, RLAIF tekniğinin tercih veri toplama üzerindeki etkisini yansıtıyor.
Tercih çiftlerinin kalitesi doğrudan eğitim çıktısını belirliyor. İki yanıt arasındaki fark çok küçükse sinyal zayıf kalıyor; çok uç seçilmişse model gerçekçi olmayan bir distribüsyon öğreniyor. Veri toplama ve kalite güvencesi DPO’da da RLHF kadar belirleyici bir mühendislik kararı.
DPO Kayıp Fonksiyonu
DPO’nun kayıp fonksiyonu binary cross-entropy temelinde iki terimin farkını optimize ediyor. Formülü sadeleştirilerek şöyle özetlenebilir:
L_DPO = -E[log σ(β * (log(π_θ(y_w|x) / π_ref(y_w|x)) - log(π_θ(y_l|x) / π_ref(y_l|x))))]
Burada:
π_θ: eğitilen policy (güncellenen model)π_ref: referans model (genellikle SFT modeli, dondurulmuş)y_w: tercih edilen yanıt (chosen/won)y_l: reddedilen yanıt (rejected/lost)β (beta): hiperparametre, referans modelden sapma toleransı
β katsayısı modelin referanstan ne kadar uzaklaşabileceğini kontrol ediyor. Küçük beta değerlerinde model referansa yakın kalıyor, büyük değerlerde tercih sinyali daha baskın oluyor. Tipik değer aralığı 0.1 ile 0.5 arasında.
İç terim (log(π_θ / π_ref)) RLHF literatüründe implicit reward olarak geçiyor. DPO bu reward’ı ayrıca hesaplamak yerine parametrize ediyor ve policy güncellemeyle eş zamanlı optimize ediyor.
RLHF ile DPO Karşılaştırması
| Özellik | RLHF | DPO |
|---|---|---|
| Ayrı reward model | Zorunlu | Yok |
| Policy optimizasyonu | PPO (RL döngüsü) | Supervised gradient |
| GPU bellek kullanımı | Policy + Ref + Reward + Value | Policy + Ref |
| Eğitim kararlılığı | Hassas hiperparametre dengesi | Görece kararlı |
| Uygulama karmaşıklığı | Yüksek | Düşük |
| Tercih veri formatı | Skor veya sıralama | İkili çift (chosen/rejected) |
| Temsil esnekliği | Daha geniş | Tercih distribüsyonuna bağlı |
Performans açısından karşılaştırmalar karma sonuçlar veriyor. Bazı çalışmalarda DPO, RLHF ile eğitilmiş modellerle karşılaştırılabilir sonuçlar üretiyor. Bazı zorlu hizalama görevlerinde PPO tabanlı eğitim avantajlı görünüyor. Açık kaynaklı topluluğun DPO’ya yönelmesinin asıl nedeni performanstan çok mühendislik basitliği ve hesaplama erişilebilirliği.
DPO’dan Türeyen Yöntemler
DPO’nun ardından tercih hizalama literatürü hızla genişledi. Temel yöntemin farklı sınırlılıklarını ele alan birkaç varyant öne çıktı.
SimPO (Simple Preference Optimization) referans modeli tamamen kaldırıyor. Uzunluk normalizasyonu ve bir margin terimi eklediği için referans model gerektirmiyor. Bellek tüketimi daha düşük; referans yokluğu dil bütünlüğü açısından bazı durumlarda risk taşısa da küçük modellerde etkili sonuçlar veriyor.
IPO (Identity Preference Optimization) DPO’nun tercih çökmesi (preference collapse) sorununu ele alıyor. Çok yüksek kesinlikle tercih edilen yanıtlar üretildiğinde model kalibrasyonu bozulabiliyor; IPO bir düzenlileştirme terimi ekleyerek bu kayışı frenliyor.
KTO (Kahneman-Tversky Optimization) ikili tercih çifti gerektirmiyor. Her yanıta “iyi/kötü” etiketi yeterli. Veri toplama sürecini basitleştiriyor; tercih çiftleri bulmak yerine tekil yanıt kalite etiketleri kullanılabiliyor. Bu format, özellikle mevcut chatbot günlüklerinden tercih verisi çıkarmayı kolaylaştırıyor.
ORPO (Odds Ratio Preference Optimization) SFT ve tercih hizalamasını tek geçişte birleştiriyor. Ayrı bir SFT adımı gerektirmiyor; standart talimat fine-tuning datasıyla birlikte reddedilen örnekleri de dahil edince iki adım tek adıma inebiliyor.
Constitutional AI ve RLAIF veri üretim tarafını kolaylaştırırken bu varyantlar eğitim prosedürlerinin kendisini optimize ediyor. İkisi birlikte kullanıldığında yüksek kaliteli tercih verisi hem daha düşük maliyetle hem de daha büyük ölçekte üretilebiliyor.
Hangi Modeller DPO Kullanıyor?
2024-2025 döneminde açık ağırlıklı modellerin önemli bir kısmı DPO tabanlı hizalamaya geçti.
Llama 3 Instruct (Meta, 2024) en bilinen uygulamalardan biri. Meta’nın teknik raporu SFT + DPO ikili yapısını belgeledi; 8B ve 70B parametre versiyonlarının ikisi de bu şekilde hizalandı. Llama 3.1 ve 3.2’de süreç büyük ölçüde korundu.
Mistral 7B Instruct v0.2’de ekip DPO kullanımını doğruladı. Küçük parametre sayısıyla yüksek talimat uyumu bu pipeline üzerinde kuruldu; modelin kıyaslama tablolarındaki konumu büyük ölçüde bu hizalama kararına dayanıyor.
Zephyr-7B (HuggingFace H4 ekibi) DPO ile RLAIF’yi birleştiren erken ölçekli gösterimlerden biri. UltraFeedback verisiyle eğitildi ve GPT-4 değerlendirmelerinin DPO eğitimine nasıl girdiğini gösteren referans bir çalışma haline geldi.
Qwen2.5-Instruct’ta (Alibaba) DPO tabanlı tercih hizalaması kullanılıyor. Kod ve matematiksel akıl yürütme görevlerinde bu hizalamanın etkisi teknik raporlarda belgelendi.
Bu modellerin ortak noktası: reward model eğitimini gerektirmeyen, görece düşük hesaplama bütçesiyle uygulanabilen bir hizalama prosedürü.
Nasıl Uygulanır? TRL ile DPO
HuggingFace’in TRL (Transformer Reinforcement Learning) kütüphanesi DPO eğitimini birkaç satıra indirgiyor. DPOTrainer sınıfı, veri formatı, kayıp hesabı ve referans model yönetimini soyutluyor.
from trl import DPOTrainer, DPOConfig
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-v0.1")
tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1")
training_args = DPOConfig(
beta=0.1,
max_length=1024,
per_device_train_batch_size=2,
gradient_accumulation_steps=4,
num_train_epochs=1,
output_dir="./dpo-model"
)
trainer = DPOTrainer(
model=model,
args=training_args,
train_dataset=dataset, # prompt/chosen/rejected sütunları bekleniyor
tokenizer=tokenizer,
)
trainer.train()
GPU belleğini düşürmek için LoRA ile fine-tuning kombinasyonu yaygın bir tercih. peft kütüphanesi entegrasyonu DPOTrainer’a doğrudan peft_config parametresiyle geçilebiliyor. Böylece 7B parametreli bir modeli 16GB VRAM’e sığan tek GPU kurulumunda DPO ile hizalamak mümkün hale geliyor. Unsloth gibi optimize edilmiş eğitim araçları bu kombinasyonu daha da hızlandırıyor.
Sınırlılıklar ve Açık Sorular
DPO’nun başarısı bazı yapısal varsayımlara bağlı.
Veri kalitesi birinci sınır. DPO ne kadar matematiksel olarak zarif olursa olsun, gürültülü veya düşük kontrast tercih çiftleri zayıf sinyal üretiyor. Knowledge distillation çalışmalarında da görüldüğü gibi, model kalitesini nihayetinde veri kalitesi tavan belirliyor.
Referans model seçimi ikinci kısıt. Referans genellikle SFT aşamasından gelen model oluyor. Referansın kalitesi DPO gradyanlarının yönünü doğrudan etkiliyor; zayıf bir SFT referansıyla başlayan eğitim sınırlı kalıyor.
Dağılım kayması da göz ardı edilemiyor. Tercih veri setinin distribüsyonu gerçek kullanım senaryolarından uzaklaştıkça model davranışı tahmin edilemez hale gelebiliyor. Az-örnek alanlarda bu risk daha belirgin.
Bir de online/offline tartışması var. Standart DPO önceden toplanmış statik veriyle çalışıyor; modelin eğitim sırasında kendi ürettiği yanıtlardan öğrenmesi mümkün değil. Online DPO varyantları bu sınırı aşmaya çalışıyor ama böylece PPO benzeri bir döngüye yaklaşmaya başlıyor.
2025 sonrasında tercih öğrenmesi alanında GRPO (Group Relative Policy Optimization) gibi yöntemler dikkat çekmeye başladı. DeepSeek-R1’in eğitim sürecinde bu yöntemin rol oynadığı bilindiğinden, tartışma açık: DPO mı daha iyi, yoksa güçlü akıl yürütme modelleri için reward modeli geri mi gerekli?
DPO’nun Ekosistem İçindeki Yeri
DPO, RLHF’yi geçersiz kılmıyor. İki yaklaşım farklı senaryolara farklı biçimlerde uyuyor.
Sınırlı bütçeyle çalışıyorsanız ve dar bir hizalama görevi tanımlanmışsa, DPO makul tercih verisiyle tutarlı sonuçlar veriyor. Geniş bir davranış dağılımını kapsayan, nüanslı tercih sinyalleri gerektiren ve çok boyutlu ödül yapısı olan senaryolarda reward model esnekliği avantajlı kalabiliyor.
Açık kaynaklı ekosistemde DPO’nun bu denli hızlı yayılmasının arkasında hesaplama erişilebilirliği yatıyor. 40GB değil 16GB GPU’da fine-tuning yapılabilmesi, reward model eğitiminin gerektirdiği karmaşık RL kurulumunu atlayabilmek, ekiplerin kendi hizalama pipeline’larını daha kısa sürede kurmasını mümkün kıldı. Bu geçiş, tercih tabanlı hizalamanın artık yalnızca büyük laboratuvar altyapılarına değil, sınırlı bütçeyle çalışan küçük ekiplere de açık olduğu anlamına geliyor.