DPO — modelni preferred va rejected javob juftliklari orqali bevosita moslashtiradigan preference optimization usuli. To‘liq nomi Direct Preference Optimization. DPO alohida reward model yaratmasdan va reinforcement-learning loopini ishlatmasdan, policy modelning yaxshi javobga nisbatan ehtimolini oshirishga intiladi.
DPO katta til modelini human yoki AI preference’lariga moslashtirishda RLHFga soddaroq alternativa sifatida qo‘llanadi.
Preference pair
Training sample odatda uch qismdan iborat:
prompt
chosen response
rejected response
Chosen annotator afzal ko‘rgan javob.
Rejected esa kamroq mos javob.
Model chosen sequence’ga rejectedga qaraganda yuqoriroq likelihood berishga o‘rgatiladi.
Reference model
DPO odatda frozen reference modeldan foydalanadi.
Reference ko‘pincha supervised fine-tuningdan chiqqan model nusxasi.
U policy qanchalik uzoqlashayotganini implicit nazorat qilishga yordam beradi.
Reference model gradient olmaydi.
Policy model
Policy trainable model.
Boshlanishida reference bilan bir xil weightga ega bo‘lishi mumkin.
Training davomida chosen javoblarga ehtimol oshadi, rejected javoblarga nisbatan kamayadi.
Policy token-level log probability hisoblaydi.
Log probability
Har javob tokenlari uchun log probability yig‘iladi.
Sequence uzunligi score’ga ta’sir qilishi mumkin.
Padding va prompt tokenlari lossga noto‘g‘ri qo‘shilmasligi kerak.
Faqat response qismidagi tokenlar comparisonga olinishi keng tarqalgan.
Beta
DPO formuladagi beta policy’ning preference’ga qanchalik kuchli moslashishini boshqaradi.
Katta beta yoki implementationga bog‘liq scale policy-reference farqiga ta’sir qiladi.
Juda agressiv setting overfitting va umumiy qobiliyat yo‘qolishiga olib kelishi mumkin.
Implicit reward
DPO policy va reference log-ratio orqali implicit rewardga yaqin signal hosil qiladi.
Alohida reward network o‘qitilmaydi.
Bu pipeline’ni qisqartiradi.
Biroq preference data sifati baribir hal qiluvchi omil.
RLHF bilan farqi
PPO-based RLHF odatda:
bosqichlarini ishlatadi.
DPO offline preference juftliklarini supervised trainingga o‘xshash loopda qayta ishlaydi.
Infrastructure soddaroq.
Offline training
DPO mavjud datasetda ishlaydi.
Policy training vaqtida yangi javob yaratishi shart emas.
Bu reproducibility va throughputni yaxshilaydi.
Ammo dataset policy hozir chiqaradigan xatolarni qamrab olmasligi mumkin.
Data sifati
Chosen javob mutlaq ideal bo‘lishi shart emas; rejectedga nisbatan yaxshiroq.
Juftliklar:
- aniq farq;
- bir xil prompt;
- bir xil format;
- to‘g‘ri ranking;
- diverse mavzu
ga ega bo‘lishi kerak.
Noaniq preference modelga qarama-qarshi signal beradi.
Length bias
Annotator yoki score uzun javobni ko‘proq yoqtirishi mumkin.
Model shunchaki uzunroq yozishni o‘rganishi ehtimoli bor.
Datasetda uzunlik bo‘yicha balans, rubric va evaluation ishlatiladi.
Sequence normalization ayrim implementationlarda qo‘llanadi.
Safety alignment
Chosen javob xavfsiz, rejected esa zararli yoki ortiqcha yordamchi bo‘lishi mumkin.
Model xavfli so‘rovga to‘g‘ri rad etishni o‘rganadi.
Faqat refusal juftliklari ko‘p bo‘lsa harmless savollarga ham rad etish ortishi mumkin.
Format alignment
DPO:
- JSON;
- qisqa javob;
- citation;
- professional uslub;
- tool chaqirig‘i
kabi format preference’larini o‘rgatishi mumkin.
Output keyin ham schema validationdan o‘tadi.
Overfitting
Kichik preference datasetda model specific phrase va annotator uslubini yodlashi mumkin.
General benchmark, held-out preference va real promptlar bilan tekshiriladi.
Early stopping va regularization ishlatiladi.
Reference drift
Reference modeli noto‘g‘ri tanlansa policy update juda cheklangan yoki beqaror bo‘lishi mumkin.
Base modeldan juda uzoq SFT policy va eski reference aralashmasligi kerak.
Tokenizer va chat template aynan mos bo‘ladi.
DPO variantlari
Preference optimization oilasida turli variantlar mavjud:
- IPO;
- KTO;
- ORPO;
- SimPO;
- boshqa losslar.
Ular reference talabi, label turi, normalization va objective bo‘yicha farqlanadi.
Tanlov benchmark va production behavior bilan qilinadi.
Evaluation
DPO modeli:
- win rate;
- human preference;
- factuality;
- safety;
- verbosity;
- format;
- general ability;
- latency
bo‘yicha reference va SFT modelga solishtiriladi.
Model faqat judge model score’i bilan baholanmaydi.
Pair construction
Bir prompt uchun javoblar bir xil decoding va taxminan teng resurs sharoitida yaratilsa comparison adolatliroq bo‘ladi. Rejected javob ataylab juda yomon bo‘lsa model faqat oson farqni o‘rganadi. Yaqin, ammo bir muhim jihatda farqli juftliklar nozik preference signal beradi.
Ties
Annotator ikki javobni teng deb hisoblashi mumkin. Majburan chosen-rejected qilish noisy label yaratadi. Tie sample alohida saqlanishi, chiqarib tashlanishi yoki tie’ni qo‘llaydigan objective bilan ishlatilishi mumkin.
Data mixture
Safety, factuality, format va style juftliklari ma’lum nisbatda aralashtiriladi. Bir tur haddan tashqari ko‘p bo‘lsa model boshqa qobiliyat hisobiga shu preferenceni kuchaytiradi. Har category bo‘yicha win rate alohida o‘lchanadi.
Checkpoint
Training davomida preference loss pasaysa ham general benchmark yoki factuality yomonlashishi mumkin. Checkpoint faqat DPO loss bilan emas, keng evaluation to‘plami bilan tanlanadi.
Batch sampling
Bir batch ichida mavzu va preference turlari balanslanadi. Bir xil promptning ko‘p variantlari ketma-ket kelib, gradientni tor yo‘nalishga og‘dirmasligi kerak.
Reproducibility
Preference pairlari, tokenizer, reference checkpoint va chat template versionlanadi. Shu elementlardan biri o‘zgarsa ayni training konfiguratsiyasi boshqa loss va behavior berishi mumkin.
Bog‘liq tushunchalar
Direct Preference Optimization, Preference learning, Chosen response, Rejected response, Reference model, Policy model, RLHF, SFT, Alignment, Human feedback