Ce înseamnă DPO (Direct Preference Optimization)
Rafailov et al. (Stanford, 2023) au descris RLHF ca „o procedură complexă și adesea instabilă”: întâi se antrenează un model de recompensă, apoi LLM-ul este optimizat prin RL. Ei au arătat că aceeași problemă se poate rezolva cu o singură pierdere de clasificare, direct pe datele de preferință.
Metoda, DPO, nu mai cere eșantionare din model în timpul antrenării și nici mult reglaj de hiperparametri. În experimentele lucrării, DPO a egalat sau a depășit RLHF cu PPO.
Cum funcționează
Pentru fiecare prompt există un răspuns preferat (chosen) și unul respins (rejected).
Pierderea crește probabilitatea relativă a răspunsului preferat și o scade pe a celui respins, față de un model de referință înghețat (de obicei modelul SFT).
Pe înțelesul tuturor
În loc să angajezi un arbitru care notează fiecare încercare (modelul de recompensă), îi arăți elevului direct două lucrări: „asta e mai bună decât aceea”, iar el se ajustează din comparație.
Exemplu
Llama 3 a folosit SFT urmat de DPO în post-antrenare (raportul Meta, 2024).
Zephyr-7B (Hugging Face, 2023) a fost aliniat cu DPO pe preferințe generate de un model profesor, fără adnotare umană.
Variante ulterioare: KTO (2024), care lucrează cu răspunsuri marcate doar ca bune sau rele, și ORPO (2024), care combină SFT și alinierea într-o singură etapă, fără model de referință.
De reținut
- DPO folosește aceleași date ca RLHF (perechi de preferințe).
- Este mai simplu de rulat decât PPO, dar calitatea depinde mult de datele de preferință.
Nu confunda
- DPO vs. SFT: SFT vede doar răspunsul bun; DPO vede și răspunsul respins și învață diferența.
Termeni înrudiți
- RLHF (Alinierea prin Feedback Uman): Metoda de aliniere în care oamenii compară răspunsuri, un model de recompensă învață aceste preferințe, iar LLM-ul este optimizat prin învățare prin întărire.
- Supervised Fine-Tuning (SFT): Etapa în care un model de bază este antrenat pe exemple de instrucțiuni și răspunsuri bune, ca să învețe formatul și comportamentul unui asistent.
- GRPO (Group Relative Policy Optimization): Variantă de PPO introdusă în DeepSeekMath, care renunță la modelul de valoare și compară fiecare răspuns cu media unui grup de răspunsuri la aceeași întrebare.
- LoRA și QLoRA: Metodă de fine-tuning care antrenează doar două matrice mici atașate straturilor modelului, cu mult mai puțină memorie decât fine-tuning-ul complet.
Întrebări & Discuții: DPO (Direct Preference Optimization)
Ai o întrebare despre DPO (Direct Preference Optimization) 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.