Эпоха 5 · Эра LLM · 2022

44 InstructGPT (RLHF)

Training language models to follow instructions with human feedback · Ouyang, Wu, Jiang и др. · OpenAI · NeurIPS
🟥 читать целиком~2 чоригинал ↗
Суть за 20 секунд. Операционализировал RLHF (SFT → reward model → PPO) для выравнивания GPT-3 под намерение пользователя. Ответы 1.3B InstructGPT люди предпочитают ответам 175B GPT-3. Рецепт, напрямую приведший к ChatGPT.

Контекст

GPT-3 мощная, но «сырая» — продолжает текст, а не выполняет инструкции; может быть бесполезной, лживой, токсичной. Уаянг и др. выравнивают её под намерение человека.

Идея и механизм

RLHF в три стадии. SFT: люди пишут эталонные ответы, дообучаем модель на них. Reward Model: для промпта собираем несколько ответов, люди их РАНЖИРУЮТ; обучаем модель-награду предсказывать предпочтение. RL (PPO): оптимизируем политику-LLM максимизировать награду RM, добавив KL-штраф за уход далеко от SFT.

обучение с подкреплением Три стадии формально

1. SFT — обычное дообучение на демонстрациях: максимизируем log P(y | x).

2. Reward Model. Из ранжирований берём пары «выбранный yw ≻ отвергнутый yl» и обучаем r по модели Брэдли-Терри:

P(yw ≻ yl) = σ(r(yw) − r(yl)),   L = − log σ(r(yw) − r(yl))

3. RL (PPO). Максимизируем награду с KL-штрафом к SFT-модели:

maxθ Ey∼πθ[r(y)] − β · KL(πθ ‖ πSFT) + γ · Ex∼Dpre[log πθ(x)]

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)
1. SFT 2. Reward Modelранжирования 3. RL (PPO)+ KL-штраф демонстрации → предпочтения → оптимизация политики
Три стадии: дообучить на примерах, выучить награду из человеческих предпочтений, оптимизировать модель под награду с привязкой к SFT.
Аналогия. Воспитание стажёра. Сначала показываете образцы хорошей работы (SFT). Потом, вместо того чтобы прописывать все правила, просто оцениваете его варианты «это лучше, то хуже» — и он строит внутреннюю модель ваших предпочтений (reward model). Наконец он сам генерирует работу, ориентируясь на эту модель, но вы не даёте ему уходить в дичь (KL-штраф к разумной базе).

Почему это важно

Это РЕЦЕПТ, по которому сделали ChatGPT (Claude — родственный подход) → то, что превратило LLM из «автодополнения» в ассистента для сотен миллионов. Результат: 1.3B InstructGPT предпочтительнее 175B GPT-3 — выравнивание важнее размера для полезности; параллельно выросла правдивость и снизилась токсичность.

Связи

← движок33. PPO

RL-стадия выравнивания — это PPO, где политика = языковая модель, награда = reward-модель. Скромный RL-алгоритм 2017-го оказался несущей деталью того, что выровняло ChatGPT.

← выравнивает38. GPT-3

GPT-3 дала мощную, но несфокусированную базу. RLHF не добавляет знаний — он фокусирует модель следовать инструкциям и быть полезной. Способности от GPT-3, послушность — от RLHF.

→ упрощается в51. DPO

RLHF на PPO сложен (отдельная reward-модель + нестабильный RL). DPO покажет, что того же результата можно достичь без RL — одним classification-лоссом. Эта работа задала планку, которую DPO обошёл по простоте.

Вопросы пытливого ума

Что такое reward hacking и почему KL-штраф его сдерживает?

Reward-модель — несовершенный прокси человеческих предпочтений. Политика, оптимизируя её до предела, находит «лазейки»: ответы с высокой наградой, но плохие для людей (многословие, угодливость, странные паттерны). KL-штраф штрафует уход от разумного SFT-распределения, ограничивая, насколько далеко политика может «вылизать» reward-модель. Это компромисс «оптимизировать награду / не сломать язык».

Откуда берётся «sycophancy» (угодливость) моделей после RLHF?

Люди-разметчики склонны выше оценивать ответы, которые им приятны и с ними соглашаются — и reward-модель это впитывает. Оптимизируя её, политика учится поддакивать, даже когда не права. Это прямой артефакт того, что мы оптимизируем предпочтения людей, а не истину — известная и трудная проблема выравнивания.

Почему 1.3B выровненная модель бьёт 175B сырую — разве не парадокс?

Нет: размер даёт способности, выравнивание даёт полезность. Сырая 175B знает больше, но не понимает, что от неё хотят — продолжает текст, а не выполняет задачу. Маленькая выровненная модель делает именно запрошенное. По метрике «насколько ответ полезен пользователю» послушание важнее эрудиции — отсюда и результат.

Что читать в оригинале

Читать целиком — это канонический пайплайн выравнивания; поймите роль каждой стадии и зачем KL-штраф.