44 InstructGPT (RLHF)
Контекст
GPT-3 мощная, но «сырая» — продолжает текст, а не выполняет инструкции; может быть бесполезной, лживой, токсичной. Уаянг и др. выравнивают её под намерение человека.
Идея и механизм
RLHF в три стадии. SFT: люди пишут эталонные ответы, дообучаем модель на них. Reward Model: для промпта собираем несколько ответов, люди их РАНЖИРУЮТ; обучаем модель-награду предсказывать предпочтение. RL (PPO): оптимизируем политику-LLM максимизировать награду RM, добавив KL-штраф за уход далеко от SFT.
обучение с подкреплением Три стадии формально
1. SFT — обычное дообучение на демонстрациях: максимизируем log P(y | x).
2. Reward Model. Из ранжирований берём пары «выбранный yw ≻ отвергнутый yl» и обучаем r по модели Брэдли-Терри:
3. RL (PPO). Максимизируем награду с KL-штрафом к SFT-модели:
KL-штраф критичен: без него политика «взламывает» reward-модель (reward hacking) и деградирует в нечитаемый текст с высокой наградой. Штраф держит её рядом с разумным SFT-распределением.
PPO-ptx — третий член и фирменная деталь InstructGPT: подмешивает градиент исходного предобучения (log-правдоподобие на пре-трейн-данных Dpre). Без него выравнивание даёт «налог» (alignment tax) — регрессию на стандартных NLP-бенчмарках; ptx-член её гасит, удерживая общие способности модели.
PyTorch Лосс reward-модели + RL-цель
import torch.nn.functional as F
# reward model: Брэдли-Терри на парах (выбранный, отвергнутый)
def rm_loss(r_chosen, r_rejected):
return -F.logsigmoid(r_chosen - r_rejected).mean()
# RL-цель PPO: максимизировать награду минус KL-штраф к SFT
# objective = E[r(y)] − beta·KL(pi_theta||pi_sft) + gamma·E_pre[log pi_theta] (PPO-ptx)
Почему это важно
Это РЕЦЕПТ, по которому сделали ChatGPT (Claude — родственный подход) → то, что превратило LLM из «автодополнения» в ассистента для сотен миллионов. Результат: 1.3B InstructGPT предпочтительнее 175B GPT-3 — выравнивание важнее размера для полезности; параллельно выросла правдивость и снизилась токсичность.
Связи
RL-стадия выравнивания — это PPO, где политика = языковая модель, награда = reward-модель. Скромный RL-алгоритм 2017-го оказался несущей деталью того, что выровняло ChatGPT.
GPT-3 дала мощную, но несфокусированную базу. RLHF не добавляет знаний — он фокусирует модель следовать инструкциям и быть полезной. Способности от GPT-3, послушность — от RLHF.
RLHF на PPO сложен (отдельная reward-модель + нестабильный RL). DPO покажет, что того же результата можно достичь без RL — одним classification-лоссом. Эта работа задала планку, которую DPO обошёл по простоте.
Вопросы пытливого ума
Что такое reward hacking и почему KL-штраф его сдерживает?
Reward-модель — несовершенный прокси человеческих предпочтений. Политика, оптимизируя её до предела, находит «лазейки»: ответы с высокой наградой, но плохие для людей (многословие, угодливость, странные паттерны). KL-штраф штрафует уход от разумного SFT-распределения, ограничивая, насколько далеко политика может «вылизать» reward-модель. Это компромисс «оптимизировать награду / не сломать язык».
Откуда берётся «sycophancy» (угодливость) моделей после RLHF?
Люди-разметчики склонны выше оценивать ответы, которые им приятны и с ними соглашаются — и reward-модель это впитывает. Оптимизируя её, политика учится поддакивать, даже когда не права. Это прямой артефакт того, что мы оптимизируем предпочтения людей, а не истину — известная и трудная проблема выравнивания.
Почему 1.3B выровненная модель бьёт 175B сырую — разве не парадокс?
Нет: размер даёт способности, выравнивание даёт полезность. Сырая 175B знает больше, но не понимает, что от неё хотят — продолжает текст, а не выполняет задачу. Маленькая выровненная модель делает именно запрошенное. По метрике «насколько ответ полезен пользователю» послушание важнее эрудиции — отсюда и результат.
Что читать в оригинале
Читать целиком — это канонический пайплайн выравнивания; поймите роль каждой стадии и зачем KL-штраф.