Supervised fine-tuning dapat membuat model bahasa meniru jawaban yang baik, tetapi banyak persoalan alignment lebih mudah dinyatakan sebagai perbandingan: dari dua respons untuk prompt yang sama, respons mana yang lebih baik?

Dataset preferensi menangkap sinyal itu sebagai tripel yang berisi prompt, respons pilihan, dan respons yang ditolak. Tantangannya adalah mengubah perbandingan tersebut menjadi pembaruan model tanpa memperlakukan preferensi subjektif sebagai target next-token biasa.

Direct Preference Optimization (DPO) menawarkan satu pendekatan praktis. DPO melatih policy model agar meningkatkan preferensi relatif terhadap respons pilihan dibanding respons yang ditolak, sambil mengukur perubahan itu terhadap model referensi yang tetap. Berbeda dari pipeline reinforcement learning from human feedback yang umum, DPO standar tidak memerlukan pelatihan reward model terpisah lalu menjalankan optimizer reinforcement learning.

Bagian berikut membahas DPO melalui probabilitas respons, kemudian menyoroti pemeriksaan implementasi dan evaluasi yang relevan sebelum memutuskan pelatihan.

Mulai dari pasangan, bukan skor

Misalkan sebuah asisten dukungan menerima prompt berikut:

How can I rotate an API key without interrupting production traffic?

Satu contoh preferensi dapat berisi dua kandidat jawaban:

chosen:  Create the replacement key, deploy it alongside the old key,
         verify traffic uses the replacement, then revoke the old key.

rejected: Revoke the current key first, then create and deploy a new one.

Label tersebut hanya menyatakan bahwa respons chosen lebih disukai daripada rejected untuk prompt ini. Label tidak menyatakan bahwa jawaban pilihan pantas mendapat skor 0.93, atau bahwa setiap kalimat di dalamnya ideal.

Penilaian berpasangan cocok untuk situasi ini karena penilai sering dapat mengurutkan dua respons dengan lebih konsisten daripada memberikan reward absolut. Objektif pelatihan dapat menggunakan urutan itu secara langsung.

Anggap model yang dapat dilatih sebagai policy. Untuk prompt x dan respons y, policy autoregresif memberikan probabilitas kondisional untuk respons lengkap:

log pi(y | x) = sum of token log probabilities in y

Untuk satu pasangan preferensi, margin log-probability policy adalah:

policy_margin = log pi(chosen | x) - log pi(rejected | x)

Margin yang lebih besar berarti policy lebih kuat memihak respons pilihan dibanding respons yang ditolak.

Menaikkan margin ini tanpa batas tampak masuk akal, tetapi DPO menambahkan pembanding: seberapa besar preferensi tersebut berubah relatif terhadap model referensi?

Gunakan model referensi sebagai baseline

DPO standar mempertahankan reference policy tetap, biasanya ditulis pi_ref. Dalam konfigurasi umum, model inilah titik awal optimasi preferensi, sedangkan policy yang dapat dilatih berubah selama DPO.

Hitung margin chosen-versus-rejected yang sama untuk referensi:

reference_margin = log pi_ref(chosen | x) - log pi_ref(rejected | x)

Lalu bandingkan kedua margin:

relative_margin = policy_margin - reference_margin

Pengurangan ini merupakan perbandingan inti. DPO tidak hanya memeriksa apakah policy saat ini memberikan likelihood lebih tinggi pada respons pilihan. DPO memeriksa apakah policy memihak respons pilihan lebih kuat daripada model referensi.

Contoh sederhana:

policy:
  log pi(chosen | x)   = -5.0
  log pi(rejected | x) = -6.0
  policy_margin        =  1.0

reference:
  log pi_ref(chosen | x)   = -5.4
  log pi_ref(rejected | x) = -5.8
  reference_margin         =  0.4

relative_margin = 1.0 - 0.4 = 0.6

Policy telah bergerak ke arah label relatif terhadap referensi. Kedua respons lengkap tetap memiliki log-probability negatif; hal itu normal. Yang relevan adalah selisih log-probability keduanya, lalu selisih antara margin policy dan referensi.

Ubah margin relatif menjadi loss

Loss DPO standar menerapkan logistic preference loss pada margin relatif yang telah diskalakan. Untuk satu pasangan, bentuk ringkasnya:

z = beta * (
      log pi(chosen | x) - log pi(rejected | x)
      - log pi_ref(chosen | x) + log pi_ref(rejected | x)
    )

loss = -log sigmoid(z)

Saat z sangat positif, policy telah bergeser ke respons pilihan relatif terhadap referensi dan loss menjadi kecil. Saat z negatif, loss mendorong policy menuju margin relatif chosen-versus-rejected yang lebih besar.

Koefisien beta menskalakan margin di dalam logistic loss. Dalam formulasi DPO asli, parameter ini terkait dengan kekuatan regularisasi KL pada persoalan reward optimization yang mendasari objektif tersebut. Dalam sistem pelatihan nyata, efek praktisnya juga berinteraksi dengan pilihan optimasi dan distribusi data. Perlakukan beta sebagai hyperparameter yang perlu divalidasi, bukan jaminan langsung atas perubahan perilaku tertentu.

Nilai hanya kelanjutan respons

Pada preference training model bahasa kondisional, prompt menyediakan konteks bersama dan respons adalah objek yang dibandingkan. Implementasi membutuhkan log-probability respons yang dikondisikan pada prompt:

prompt tokens:   context, not part of the response score
response tokens: contribute to log pi(y | x)

Masking harus benar untuk perhitungan policy maupun referensi. Memasukkan region token, padding, atau batas template yang berbeda secara tidak sengaja dapat mengubah objektif numerik tanpa mengubah rumus konseptualnya.

Tokenisasi dan chat template juga berpengaruh. Probabilitas policy dan referensi harus merujuk pada serialisasi contoh prompt-response yang dimaksud. Perubahan format yang tampak kecil dapat mengubah batas token dan, akibatnya, sequence log-probability.

Bagian pipeline RLHF yang tidak diperlukan DPO

Pipeline preferensi berbasis reward model umumnya memiliki beberapa tahap konseptual:

preference pairs
    -> train reward model
    -> generate model responses
    -> score responses with reward model
    -> optimize policy with an RL algorithm

DPO offline standar memakai pasangan berlabel secara langsung:

preference pairs
    -> compute policy and reference log probabilities
    -> optimize DPO loss

Jalur yang lebih pendek ini menarik dari sisi rekayasa. Tidak ada scalar reward model terpisah yang harus disajikan selama optimasi policy, dan pembaruan policy dapat memakai mekanisme pelatihan model bahasa terdiferensiasi yang biasa.

Namun, preference alignment tetap memerlukan dataset perbandingan berkualitas, model referensi atau reference log-probability yang ekuivalen, batching dan masking yang cermat, serta evaluasi tingkat tugas. Pelatihan juga membutuhkan sequence log-probability untuk respons pilihan dan respons yang ditolak, sehingga setiap pasangan memerlukan lebih banyak pekerjaan scoring daripada satu target supervised.

Perhitungan referensi kadang dapat di-cache ketika dataset dan referensi tetap. Nilainya bergantung pada biaya penyimpanan, waktu preprocessing, dan framework pelatihan.

Bangun data preferensi yang memisahkan sifat yang dituju

Objektif tidak dapat memperbaiki dataset preferensi yang ambigu. Jika penilai memilih jawaban berdasarkan alasan yang tidak konsisten, model menerima arah yang juga tidak konsisten.

Misalkan sasaran sebenarnya adalah membuat asisten lebih ringkas. Pasangan yang baik menjaga isi substantif kurang lebih tetap sambil mengubah verbosity:

chosen:  concise and complete
rejected: equally correct but unnecessarily repetitive

Pasangan yang lebih lemah dapat membandingkan jawaban benar yang ringkas dengan jawaban panjang yang juga salah secara faktual. Preferensinya mudah diberi label, tetapi sinyal pelatihan mencampur setidaknya dua sifat: keringkasan dan kebenaran. Model dapat memperbaiki loss tanpa menangkap perbedaan yang sebenarnya dituju perancang dataset.

Pemeriksaan data preferensi yang berguna mencakup:

  1. Cakupan prompt. Apakah dataset mewakili permintaan yang akan diterima sistem saat deployment?
  2. Kejelasan preferensi. Dapatkah penilai yang kompeten menjelaskan alasan respons pilihan unggul?
  3. Confounding. Apakah beberapa kualitas berubah sekaligus ketika sasaran hanya satu perilaku?
  4. Konsistensi label. Apakah contoh serupa mengikuti standar yang kompatibel?
  5. Asal respons. Apakah kedua sisi merupakan output realistis untuk keluarga model dan tugas, bukan ekstrem buatan yang membuat semua perbandingan trivial?

Pemeriksaan ini relevan karena DPO mengoptimalkan preferensi relatif yang direpresentasikan oleh pasangan. DPO tidak menentukan sendiri perilaku produk yang diinginkan.

Evaluasi perilaku, bukan hanya training loss

Penurunan DPO loss menunjukkan bahwa optimizer menyesuaikan model dengan objektif preferensi. Hal itu sendiri belum membuktikan model hasilnya lebih berguna.

Evaluasi setidaknya pada held-out prompts yang tidak dipakai untuk preference training. Untuk evaluasi berpasangan, pisahkan rubrik evaluasi dari label pelatihan dan ukur seberapa sering policy baru lebih disukai daripada baseline yang relevan. Untuk tugas dengan persyaratan objektif, tambahkan pemeriksaan spesifik seperti akurasi faktual, validitas schema, batasan safety, atau hasil pengujian yang dapat dieksekusi.

Pantau juga seberapa jauh perilaku bergeser dari model awal. Optimasi preferensi dapat memperbaiki perilaku sasaran sambil merusak kapabilitas lain. Regression suite sebaiknya mencakup contoh sasaran serta kapabilitas yang tidak dimaksudkan berubah oleh pelatihan.

Sequence likelihood adalah sinyal diagnostik, bukan ukuran kualitas lengkap. Respons pilihan yang menjadi lebih mungkin relatif terhadap pasangannya tidak menjamin salah satu respons itu baik secara absolut.

Mode kegagalan yang perlu diperiksa

Probabilitas absolut respons pilihan masih dapat turun

DPO adalah objektif relatif. Policy mendapat sinyal positif ketika hubungan chosen-versus-rejected membaik relatif terhadap referensi. Ini tidak mensyaratkan probabilitas absolut setiap respons pilihan naik pada setiap langkah optimasi.

Sebagai contoh, log-probability respons pilihan dapat berubah dari -5 menjadi -5.2, sementara respons yang ditolak berubah dari -5.5 menjadi -6.2. Respons pilihan sedikit lebih kecil kemungkinannya secara terpisah, tetapi marginnya terhadap respons yang ditolak naik dari 0.5 menjadi 1.0.

Jika persyaratan produk bergantung pada terjaganya likelihood untuk respons tertentu, periksa kuantitas tersebut secara langsung dan jangan menganggap pairwise loss menjaminnya.

Panjang dapat menjadi fitur tersembunyi

Response log-probability adalah jumlah atas token yang dihasilkan. Respons yang lebih panjang umumnya mengakumulasi lebih banyak suku log-probability negatif. Jika respons pilihan dan yang ditolak memiliki distribusi panjang yang sistematis berbeda, dataset dapat membawa sinyal terkait panjang di samping preferensi yang dimaksud.

Jangan otomatis membagi sequence score dengan panjang di dalam objektif DPO standar karena itu mendefinisikan objektif yang berbeda. Sebaliknya, periksa distribusi panjang respons, buat pasangan yang lebih sedikit confounding jika memungkinkan, dan evaluasi apakah model terlatih mengubah verbosity secara tidak diinginkan.

Preferensi bising menghasilkan batas yang bising

Sebagian prompt memang memiliki beberapa jawaban yang sama-sama baik. Memaksakan label chosen/rejected yang keras pada respons yang hampir ekuivalen dapat menambah noise. Penilaian berulang atau independen pada subset ambigu dapat menunjukkan apakah preferensi cukup stabil untuk dipakai melatih model.

Distribution shift tetap berlaku

DPO offline berlatih pada kumpulan pasangan respons yang tetap. Ketika policy berubah, output yang dihasilkannya sendiri dapat berbeda dari respons dalam dataset. Hasil held-out yang kuat pada distribusi pasangan awal tidak menjamin performa setara pada respons baru atau populasi prompt baru.

Evaluasi policy terlatih dengan benar-benar menghasilkan respons memakai pengaturan mirip deployment, bukan hanya melakukan rescoring terhadap pasangan tersimpan.

Kondisi yang cocok untuk DPO

DPO cocok dipertimbangkan ketika sudah tersedia model bahasa yang kapabel, pasangan respons chosen/rejected yang bermakna dapat dikumpulkan, dan dibutuhkan prosedur preference training offline tanpa membangun pipeline reward-model-plus-RL terpisah.

Metode yang lebih sederhana dapat lebih sesuai ketika output yang diinginkan dapat ditentukan langsung. Jika setiap prompt memiliki satu target yang jelas dan sasarannya adalah imitasi langsung, supervised fine-tuning lebih mudah dianalisis. Jika masalah utamanya adalah fakta yang sering berubah, retrieval dapat menangani penyebabnya secara lebih langsung daripada preference training. Jika correctness dapat diperiksa secara deterministik, kandidat hasil generasi ditambah verifier dapat memberi sinyal yang lebih kuat daripada label pasangan subjektif.

DPO juga bukan pengganti evaluasi. Optimasi preferensi mengubah model sesuai perbandingan yang diberikan; keputusan deployment tetap bergantung pada apakah perubahan tersebut memperbaiki tugas nyata pada prompt dan pengaturan generasi yang realistis.

Penutup

Direct Preference Optimization mengubah penilaian respons berpasangan menjadi objektif pelatihan model bahasa dengan membandingkan dua margin: seberapa kuat policy yang dapat dilatih memihak respons pilihan terhadap respons yang ditolak, dan seberapa kuat model referensi tetap sudah memihaknya.

Kerangka ini menjelaskan daya tarik sekaligus batas DPO. Metode ini menghilangkan loop pelatihan reward-model-and-RL terpisah, tetapi perilakunya tetap bergantung pada probabilitas referensi, detail implementasi tingkat token, pilihan optimasi, dan terutama kualitas pasangan preferensi.

Untuk proyek DPO praktis, gunakan sasaran perilaku yang sempit, bangun pasangan yang mengisolasi perbedaan tersebut, verifikasi masking respons dan perhitungan log-probability, lalu nilai hasil pada output generatif dan metrik tugas held-out, bukan training loss saja.