Ce este Aliniere Fără Model de Recompensă: DPO (Direct Preference Optimization) și KTO?

Denumire completă

DPO_Loss = -E[log sigma(beta * log(pi_theta(y_w|x)/pi_ref(y_w|x)) - beta * log(pi_theta(y_l|x)/pi_ref(y_l|x)))]

DPO (Direct Preference Optimization) revoluționează alinierea etică a modelelor de limbaj prin eliminarea nevoii de a antrena un Reward Model separat și fără instabilitatea algoritmului PPO din RLHF. Optimizează direct politica modelului pe perechi de preferințe umane (răspuns dorit vs răspuns nedorit).

from trl import DPOTrainer
from transformers import TrainingArguments

dpo_trainer = DPOTrainer(
    model=model,
    ref_model=model_referinta,
    beta=0.1,  # Factor de penalizare a devierii de la modelul de bază
    train_dataset=dataset_preferinte_umane,
    tokenizer=tokenizer,
    args=TrainingArguments(output_dir="./model_aliniat_dpo")
)
dpo_trainer.train()

Simplitate și convergență: Standardul curent utilizat pentru alinierea modelelor de ultimă generație Llama, Mistral și Zephyr.

Învață AI • Comunitate & Q&A

Întrebări & Discuții: Aliniere Fără Model de Recompensă: DPO (Direct Preference Optimization) și KTO

Ai o întrebare despre Aliniere Fără Model de Recompensă: DPO (Direct Preference Optimization) și KTO sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!

🤖

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.

Comunitate AI Adaugă o întrebare sau distribuie un cod / prompt

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.