Direct Preference Optimization (DPO) (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Direct Preference Optimization (DPO) — това е метод за изравняване на големи езикови модели (LLM) с човешките предпочитания, предложен като по-проста и стабилна алтернатива на обучението с подкрепление въз основа на обратна връзка от хора (RLHF). Методът е представен през 2023 година от група изследователи от Станфордския университет под ръководството на Рафаел Рафаилов[1].

Ключовата разлика на DPO се състои в това, че той директно оптимизира езиковия модел за съответствие с човешките предпочитания, без да е необходимо явно обучение на отделен модел на наградата (reward model) и сложен етап на обучение с подкрепление (RL), което прави процеса на настройка на LLM значително по-прост, по-бърз и по-стабилен[2].

Предистория: Ограничения на RLHF

Стандартният метод Reinforcement Learning from Human Feedback (RLHF) се състои от три основни етапа:

  1. Supervised Fine-Tuning (SFT): Базово дообучение на модела върху качествени примери.
  2. Обучение на модел на наградата: Създаване на отделен модел, който се научава да присвоява „рейтинг" на отговорите въз основа на двойни сравнения, предоставени от хора (например, отговор А е по-добър от отговор Б).
  3. Оптимизация на политиката с помощта на RL: Дообучение на основния модел с използване на алгоритми за RL (например PPO), за да генерира отговори, максимизиращи рейтинга от модела на наградата.

Въпреки ефективността си, RLHF е сложен, скъп и нестабилен процес. Той е податлив на проблеми като reward hacking (когато моделът „мами" модела на наградата) и изисква внимателна настройка на множество хиперпараметри[1]. DPO е разработен за преодоляване на тези ограничения.

Принцип на работа на DPO

Методът DPO заменя многоетапния конвейер на RLHF с един етап на обучение, който може да се разглежда като дообучение с учител.

  1. Събиране на данни за предпочитания. Както и при RLHF, се събира набор от данни, при който за всяка заявка `x` има два отговора: предпочитан (`y_w`, winning) и отхвърлен (`y_l`, losing).
  2. Директна оптимизация. Вместо да обучава модел на наградата, DPO директно използва тези данни за актуализиране на самия езиков модел. Целта на оптимизацията е да се увеличи вероятността за генериране на предпочитания отговор `y_w` и едновременно да се намали вероятността за генериране на отхвърления отговор `y_l`.

Математически това се свежда до минимизиране на функция на загубите, която се основава на логистична регресия, приложена към разликата в логаритмичните вероятности на отговорите. За да не „забравя" моделът първоначалните си знания, DPO, подобно на RLHF, използва еталонен модел (reference model, обикновено SFT-версия) за регуляризация, предотвратявайки твърде силното отклонение от изходното разпределение на отговорите[2].

Предимства в сравнение с RLHF

  • Простота и стабилност: DPO премахва необходимостта от обучение на отделен модел на наградата и сложна настройка на RL. Процесът става по-прост, по-предсказуем и по-малко податлив на грешки[3].
  • Ефективност и скорост: Изключването на два етапа значително намалява изчислителните разходи (GPU-часове) и времето, необходимо за настройка на модела. Според някои оценки DPO е с 50–60% по-икономичен от RLHF[4].
  • Качество на резултатите: Експериментите показват, че DPO не отстъпва на RLHF по качество, а при някои задачи, например при управление на тона на отговора, дори го превъзхожда. Моделите, обучени с помощта на DPO, демонстрират по-добро съответствие с човешките предпочитания[1].
  • Липса на деградация на базовите умения: Настройката чрез DPO влияе минимално върху общите способности на модела (например фактически знания или логика), за разлика от RLHF, който понякога може да влошава базовите метрики[5].

Приложение и разпространение

Благодарение на своята ефективност и простота, DPO бързо получи широко разпространение. Той беше реализиран в водещи open-source библиотеки като Hugging Face TRL и OpenRLHF.

Много успешни отворени модели бяха дообучени с помощта на DPO, включително Zephyr-7B и TÜLU 2. Тези модели показаха висока производителност на benchmark-ите за оценка на качеството на отговорите, потвърждавайки ефективността на DPO за модели в голям мащаб[5].

Индустриалните лидери също внедриха DPO в своите платформи. Например Microsoft добави поддръжка за DPO дообучение в своята услуга Azure OpenAI, позволявайки на потребителите да настройват модели, включително GPT-4, върху собствени данни за предпочитания[6].

Ограничения

Въпреки предимствата си, DPO наследява някои ограничения от самия подход за обучение на предпочитания:

  • Чувствителност към данните: Качеството и разнообразието на събраните данни за предпочитания са от критично значение. Ако данните са едностранчиви (например съдържат само един език или стил), моделът може да се преобучи и да влоши производителността си в други области[7].
  • Статичност на обучението: Както и RLHF, DPO се обучава върху статичен набор от данни и не предполага динамично взаимодействие с обкръжението. Този метод е подходящ за едностъпково съгласуване, но не и за задачи, изискващи обучение чрез последователни действия.

Връзки

  • Документация на DPO в библиотеката Hugging Face TRL
  • Аналитичен преглед на RLHF и DPO на ICLR 2024 Blogposts

Литература

  • Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
  • Hong, J.; Lee, N.; Thorne, J. (2024). ORPO: Monolithic Preference Optimization without Reference Model. arXiv:2403.07691.
  • Sun, L. et al. (2025). BPO: Revisiting Preference Modeling in Direct Preference Optimization. arXiv:2506.03557.
  • Yin, Y. et al. (2024). Self-Augmented Preference Optimization: Off-Policy Paradigms for Language Model Alignment. arXiv:2405.20830.
  • Wu, Y. et al. (2024). Self-Play Preference Optimization for Language Model Alignment. arXiv:2405.00675.
  • Li, P. et al. (2024). ROPO: Robust Preference Optimization for Large Language Models. arXiv:2404.04102.
  • Tunstall, L. et al. (2023). Zephyr: Direct Distillation of LM Alignment. arXiv:2310.16944.
  • Wu, F. et al. (2023). Diffusion-DPO: Diffusion Model Alignment Using Direct Preference Optimization. arXiv:2311.12908.
  • Lee, H. et al. (2023). RLAIF vs. RLHF: Scaling Reinforcement Learning from Human Feedback with AI Feedback. arXiv:2309.00267.
  • Rafailov, R.; Sharma, A.; Mitchell, E.; Manning, C. D.; Finn, C. (2024). Direct Preference Optimization (v3): Enhanced Experiments and Analysis. arXiv:2305.18290v3.

Бележки

  1. 1.0 1.1 1.2 Rafailov, R., et al. «Direct Preference Optimization: Your Language Model is Secretly a Reward Model». arXiv:2305.18290. [1]
  2. 2.0 2.1 «Simplifying Alignment: From RLHF to Direct Preference Optimization (DPO)». Hugging Face Blog. [2]
  3. «What is direct preference optimization (DPO)?». SuperAnnotate Blog. [3]
  4. «RLHF vs DPO: A Closer Look into the Process and Methodology». Arbisoft Blog. [4]
  5. 5.0 5.1 «RLHF without RL - Direct Preference Optimization». ICLR Blogposts 2024. [5]
  6. «Direct preference optimization». Azure OpenAI | Microsoft Learn. [6]
  7. «Direct Preference Optimization (DPO): A Lightweight Counterpart to RLHF». Toloka AI Blog. [7]