глоссарий

DPO

DPO

DPO (Direct Preference Optimization) — «прямая оптимизация предпочтений». Это способ настройки языковой модели, при котором ее поведение выравнивают с человеческими предпочтениями напрямую, без обучения отдельной наградной модели. Вместо сложной цепочки вознаграждений DPO использует готовые примеры: «этот ответ лучше, чем тот» — и подталкивает веса модели в сторону желаемых вариантов.

Зачем это нужно? Чтобы ассистенты были не просто грамотными, но и полезными, их учат отвечать так, как ожидают люди. Раньше применяли RLHF, но он требует отдельной награды, нескольких моделей и больших затрат. DPO упрощает процесс до одного шага: берем пары ответов (хороший и плохой) и напрямую обновляем веса. Это быстрее, стабильнее и доступнее небольшим командам, а результаты сопоставимы или даже лучше.

Как это работает интуитивно? Представьте преподавателя, который показывает студенту два решения: одно верное, другое с ошибками. Вместо объяснения правил он говорит: «выбирай первое». Студент постепенно настраивает рассуждения так, чтобы лучшие варианты получали больше предпочтения. DPO делает то же с моделью: сравнивает вероятности выбрать хороший и плохой ответ и увеличивает разрыв. Модель перестает генерировать грубые или вредные фразы, отдавая предпочтение человеческим.

Пример: нужно обучить чат-бота поддержки вежливо отвечать на жалобы. Собирают датасет из пар ответов на одно сообщение: один корректный и сочувствующий («Понимаю, сейчас исправим»), другой сухой («Ошибка, ждите»). Применяют DPO — и модель начинает систематически выбирать доброжелательные ответы, даже на новые запросы. Сервис улучшается без огромного набора размеченных правил.

Итог: DPO — элегантный метод, превращающий человеческую оценку в простую настройку. Он делает ИИ послушнее и дружелюбнее, экономя время и ресурсы. Это шаг к моделям, которые слушаются людей не по принуждению, а по обучению.