Back to papers – Direct Preference Optimization: Your Language Model is Secretly a Reward Model
https://arxiv.org/abs/2305.18290
На канале было уже несколько статей о том, как можно скрестить RL и LLM, не используя при этом PPO (например, Chain of Hindsight). PPO всем хочется обойти, так как это а) сложно и нестабильно обучается б) дорого по компьюту. Тут авторы говорят: для RLHF мы собираем данные о предпочтениях юзеров (i.e. отранжированные ими ответы модели), дальше на этом учим reward модель, дальше с помощью нее через PPO обучается LLM. Но мы же хотим научиться не моделировать распределение reward’а, а непосредственно предпочтения юзеров. Почему бы нам не оптимизироваться под сами данные, а не под отдельную промежуточную модель?
Дальше они переформулируют задачу так, что она становится очень похожа на обычное contrastive обучение. У нас есть промпт x и два варианта продолжения – хороший ypref и плохой ydispref. В лосс-функции (на скриншоте), соответственно, мы будем пытаться уменьшать вероятность ydispref и повышать вероятность ypref. Также мы можем посчитать probability of completion и понять, насколько модель ошибается (то есть, насколько она предпочитает плохой ответ хорошему) – p(ydispref) - p(ypref), и заодно домножить ее на гиперпараметр β. Интутивно это означает, что лосс будет больше, когда модель оказывается сильно неправа, и мы будем «дальше» разводить likelihood для этих примеров. Этот элемент лосса также служит вместо KL-дивергенции, которая есть в обычном RLHF, то есть позволяет не отойти слишком далеко от изначальной модели и не скатиться в дегенерацию (в экспериментах авторы показывают, что без этого модель правда расходится)
Касательно результатов, этот метод довольно уверенно обходит PPO и даже SFT (на «хороших» ответах) в задачах суммаризации и на диалоговом датасете Anthropic HH (helpfulness and harmlessness). Интересно было бы посмотреть кстати, насколько дешевле и быстрее их обучение обошлось
Вообще статья безумно математическая, там куча доказательств, и авторы например формально выводят, что objective в RLHF и в их лоссе один и тот же, и собственно формально выводят лосс-функцию. Надеюсь кто-то умный это тоже разберет…
Также вынуждена признать, что Приближаем Сингулярность написал первым про статью, так что чекайте его пост тоже!
Post #951
2.47K