În timp ce metoda tradițională RLHF (Reinforcement Learning from Human Feedback) necesită trei pași complecși (antrenare model de recompensă, buclă instabilă PPO și monitorizare actor-critic), algoritmul DPO (Direct Preference Optimization) derivă matematic funcția optimă de pierdere direct din datele de preferință pereche (Prompt, Răspuns Câștigător y_w, Răspuns Pierzător y_l).
from trl import DPOTrainer
from transformers import TrainingArguments
training_args = TrainingArguments(
output_dir="./rezultate_dpo",
learning_rate=5e-7,
per_device_train_batch_size=2
)
dpo_trainer = DPOTrainer(
model=model_antrenabil,
ref_model=model_referinta_inghetat,
beta=0.1, # Coeficient de control al deviației față de modelul original
train_dataset=dataset_preferinte,
tokenizer=tokenizer,
args=training_args
)
dpo_trainer.train()
DPO este mult mai stabil numeric, converge mai rapid și necesită substanțial mai puține resurse GPU comparativ cu PPO.
Întrebări & Exemple practice:
Alinierea Modelelor prin Direct Preference Optimization (DPO)Ai o întrebare despre Alinierea Modelelor prin Direct Preference Optimization (DPO) 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.