Bosh sahifa Wiki DPO

DPO

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:

  1. reward model;
  2. rollout;
  3. reward hisoblash;
  4. policy update;
  5. KL nazorat

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