RLHF и DPO: сравнение методов выравнивания ИИ, управление отказами LLM | AiManual
AiManual Logo Ai / Manual.
08 Янв 2026 Гайд

RLHF vs DPO: полное руководство по выравниванию ИИ и управлению отказами

Глубокое сравнение RLHF и DPO для выравнивания языковых моделей. Почему ИИ отказывается отвечать, математическая интуиция методов, практические шаги по исправле

Почему ИИ вдруг отказывается отвечать? (И это не баг)

Вы задаете вопрос - модель молчит. Или выдает отказ. Или начинает рассуждать об этике. Знакомо? Это не ошибка - это результат выравнивания. Или его отсутствия.

Если ваша LLM внезапно заартачилась - не паникуйте. Скорее всего, ее просто "переобучили безопасности".

Выравнивание (alignment) - это попытка заставить ИИ делать то, что мы хотим. Безопасно, полезно, предсказуемо. Проблема в том, что мы сами не знаем, чего хотим. А ИИ это чувствует.

RLHF: сложный танец с тремя партнерами

Reinforcement Learning from Human Feedback. Звучит умно. Работает болезненно. Представьте: вы учите собаку командам, но вместо лакомства - тысячи оценок от разных людей. Собака сходит с ума. Так и модель.

1 Как работает RLHF (если коротко)

Берете предобученную модель. Называете ее "актер". Создаете вторую модель - "критик". Критик учится отличать хорошие ответы от плохих. Актер генерирует ответ, критик ставит оценку. Актер пытается получить больше баллов. Все это крутится в цикле reinforcement learning, обычно через PPO (Proximal Policy Optimization).

PPO - это как тренер, который не дает актеру слишком резко менять поведение. Иначе модель "сломается" и начнет генерировать абракадабру.

Проблемы RLHF? Их море. Нужно обучать две модели одновременно. Сбор человеческих предпочтений - дорого и медленно. Критик может ошибаться, и актер научится его обманывать. В итоге получаем модель, которая отлично проходит тесты, но в реальности упорно отказывается помогать с "опасными" запросами. Даже если вы просто хотите рецепт салата.

DPO: одна формула вместо цирка

Direct Preference Optimization. Кто-то посмотрел на этот RLHF-цирк и сказал: "Ребята, давайте проще". И выкинул критика. И PPO. И половину вычислений.

DPO сводит выравнивание к одной задаче оптимизации. Берете два ответа на один вопрос: один хороший (предпочтительный), один плохой (отвергнутый). Модель учится увеличивать вероятность хорошего ответа и уменьшать - плохого. Все. Никаких промежуточных моделей, никаких reward-функций.

💡
Математическая интуиция DPO проста: вместо обучения отдельной функции вознаграждения, мы прямо настраиваем политику модели, чтобы она соответствовала предпочтениям. Используется теорема Брадли-Терри для моделирования вероятностей выбора.

В моей статье DPO за 5 минут я подробно разбираю, как это работает на пальцах. Спойлер: это действительно проще.

RLHF vs DPO: боксерский поединок в таблице

Критерий RLHF DPO
Сложность реализации Высокая (нужен PPO, две модели) Низкая (одна формула, одна модель)
Вычислительные затраты Огромные (обучение критика + актера) Умеренные (только fine-tuning)
Стабильность обучения Хрупкая (легко сломать модель) Более стабильная (прямая оптимизация)
Качество выравнивания Высокое (но зависит от критика) Сопоставимое (на хороших данных)
Управление отказами Косвенное (через reward shaping) Прямое (можно таргетировать отказы)

DPO выигрывает по простоте и скорости. RLHF - по гибкости (теоретически). На практике, если у вас нет команды из 10 инженеров и бюджета на тысячи GPU-часов - выбирайте DPO.

Отказы ИИ отвечать: диагноз и лечение

Модель говорит "Я не могу ответить на этот вопрос"? Это не особенность - это болезнь. И ее можно вылечить.

2 Почему возникают отказы

Причина 1: Переобучение безопасности. Модель так сильно научили избегать "опасных" тем, что она теперь видит опасность в безобидных запросах.

Причина 2: Конфликт инструкций. Системный промт говорит "будь полезным", а выравнивание шепчет "не навреди". Модель в ступоре.

Причина 3: Статистический артефакт. В данных для fine-tuning было слишком много примеров отказов. Модель просто запомнила, что так надо.

3 Хирургическое удаление отказов: Refusal Steering

Есть метод, который удаляет отказы точечно, не трогая остальные способности модели. Называется Refusal Steering.

Как это работает? Вы находите конкретные слои нейросети, отвечающие за поведение "отказа". И аккуратно их корректируете. Это как найти провод, который замыкает, и перерезать его, не отключая свет во всем доме.

В статье Как работает Refusal Steering я даю пошаговый алгоритм. Вы удивитесь, насколько это просто.

4 DPO для управления отказами: практический рецепт

  1. Соберите датасет пар: запрос, где модель отказывается (плохой ответ) и запрос, где она должна ответить (хороший ответ).
  2. Для хороших ответов можно использовать ту же модель, но с подсказкой "ты должен ответить". Или взять ответы от более послушной модели.
  3. Проведите тонкую настройку с DPO, используя эти пары предпочтений.
  4. Тестируйте не только на целевых запросах, но и на нейтральных, чтобы не сломать другие навыки.

Не перестарайтесь! Если удалить все отказы, модель станет опасной. Нужен баланс между полезностью и безопасностью.

Ошибки, которые все совершают (и вы тоже)

  • Использовать DPO на маленьких датасетах. DPO жадный до данных. Меньше 1000 пар предпочтений - и он начнет выучивать шум.
  • Смешивать RLHF и DPO без понимания. Это как мешать бензин с водой. Получится бесполезная смесь.
  • Игнорировать дрейф интерпретации. Модель сегодня отвечает, завтра - нет. Почему? Читайте в статье про Interpretation Drift.
  • Верить, что выравнивание - разовое действие. Это процесс. Как уход за садом. Запустите - и модель снова начнет "дичать".

Что дальше? GRPO и будущее без критика

RLHF умирает. Да, я сказал. На смену приходят методы вроде GRPO (Group Relative Policy Optimization), где вообще нет отдельной модели-критика. Обучение становится в разы быстрее и стабильнее.

Если вы хотите попробовать DPO или GRPO на своей модели, у меня есть практический гайд по дообучению 7B-модели на Colab. Бесплатно, с пошаговыми инструкциями.

Философский вопрос: а нужно ли это выравнивание?

Посмотрите на эту провокационную статью. Автор утверждает, что AI Alignment - часто просто повод продать дорогую услугу. И он прав. Не все задачи требуют сложного выравнивания. Иногда достаточно четких инструкций (см. README для ИИ-агентов).

Мой совет: начинайте с простого. Попробуйте DPO. Если не работает - тогда RLHF. Но в 80% случаев DPO хватит. И не забывайте, что идеально выровненная модель - это модель, которая всегда говорит "да". А это уже не ИИ, а сервильный помощник. Нам это нужно?