Phase 18 - Lesson 01
Seguimento de Instruções como Sinal de Alinhamento
Toda crítica posterior ao RLHF questiona esse pipeline. Antes de estudar como a pressão de otimização distorce um proxy, você precisa conhecer o proxy. O InstructGPT (Ouyang et al., 2022) definiu a arquitetura de referência: ajuste fino supervisionado (SFT) em pares de instrução-resposta, um modelo de recompensa (reward model) treinado em classificações de preferência em pares, e PPO contra o modelo de recompensa com uma penalidade KL em relação à política SFT. Um InstructGPT de 1.3B foi preferido em relação a um GPT-3 de 175B. Esse único resultado é a razão pela qual todo laboratório de ponta em 2026 ainda lança um pipeline de pós-treinamento baseado em RLHF.
Tipo: Learn Linguagens: Python (stdlib, pipeline simples de três estágios) Pré-requisitos: Fase 10 · 06 (SFT), Fase 10 · 07 (RLHF), Fase 10 · 08 (DPO) Tempo: ~45 minutos
Objetivos de Aprendizado
- Nomear os três estágios do pipeline do InstructGPT e a perda (loss) usada em cada um.
- Explicar por que um modelo de 1.3B ajustado por instruções venceu o GPT-3 bruto de 175B em avaliações de preferência humana.
- Definir contra o que a penalidade KL no estágio 3 protege e por que removê-la causa colapso para um comportamento de busca de modo (mode-seeking).
- Descrever a taxa de alinhamento (alignment tax) e a mitigação PPO-ptx que Ouyang et al. usaram contra ela.
O Problema
Modelos de linguagem pré-treinados completam texto. Eles não respondem a perguntas. Se você pedir ao GPT-3 para "escrever uma função em Python que inverte uma lista", frequentemente receberá de volta outro prompt, porque a maior parte da distribuição de treinamento são textos da web que continuam com mais textos da web. O modelo está fazendo o seu trabalho — mas o trabalho está errado.
O proxy que todos os laboratórios sérios usaram para corrigir isso é a preferência humana. Duas conclusões são enviadas a um avaliador; o avaliador escolhe a melhor; um modelo de recompensa aprende com a escolha do avaliador. Então, um ciclo de RL altera a política em direção a saídas com pontuações altas no modelo de recompensa. Essa é a tese completa do InstructGPT em três frases. O resto do artigo é engenharia.
O Conceito
Estágio 1: ajuste fino supervisionado (SFT)
Colete pares de prompt-resposta onde a resposta seja o que um humano bem-intencionado escreveria. Ouyang et al. usaram 13 mil prompts de rotuladores e da API da OpenAI. Faça o ajuste fino (fine-tuning) do modelo base com esses dados usando a perda tradicional de entropia cruzada (cross-entropy loss).
O que o SFT oferece: o modelo agora responde a perguntas em vez de apenas continuá-las. O que ele não oferece: qualquer sinal sobre qual resposta o avaliador prefere quando múltiplas respostas são plausíveis.
Estágio 2: modelo de recompensa (RM)
Para cada prompt, colete K conclusões geradas pelo modelo SFT. Um rotulador as classifica. Treine um modelo de recompensa que pontue qualquer par de prompt-resposta de forma que, para os pares onde y_w foi preferido em relação a y_l:
L_RM = -log sigmoid(r(x, y_w) - r(x, y_l))
Essa é a perda de preferência em pares de Bradley-Terry (Bradley-Terry pairwise preference loss). O RM geralmente é inicializado a partir do modelo SFT com a cabeça de LM substituída por uma cabeça escalar.
Modelos de recompensa são pequenos: um modelo de 6B foi suficiente para o InstructGPT de 175B. Eles também são frágeis — a seção 5 do artigo trata majoritariamente dos comportamentos de roubo de recompensa (reward hacking) que surgiram em pequena escala.
Estágio 3: PPO com penalidade KL
Defina o objetivo:
J(pi) = E_{x~D, y~pi(.|x)} [ r(x, y) ] - beta * KL(pi(.|x) || pi_SFT(.|x))
Maximize com PPO. O termo KL impede que a política pi se afaste muito da política SFT. Sem ele, o otimizador encontra exemplos adversários — sequências de texto com pontuações altas sob o RM porque o RM nunca as viu antes, não porque os humanos de fato as prefiram.
O coeficiente KL beta é o hiperparâmetro mais importante do RLHF. Muito baixo: reward hacking. Muito alto: nenhuma melhora em relação ao SFT.
A taxa de alinhamento (alignment tax)
Após o RLHF, o modelo é preferido por humanos, mas apresenta regressão em benchmarks padrão (SQuAD, HellaSwag, DROP). Ouyang et al. chamam isso de taxa de alinhamento (alignment tax) e corrigem o problema com o PPO-ptx: misturando gradientes de pré-treinamento no objetivo de RL para que o modelo não esqueça como realizar tarefas posteriores para as quais nunca foi recompensado.
J_ptx(pi) = J(pi) + gamma * E_{x~D_pretrain} [ log pi(x) ]
O PPO-ptx tornou-se padrão. Anthropic, DeepMind e Meta usam alguma variação dele.
O resultado
Um InstructGPT de 1.3B (SFT + RM + PPO-ptx) é preferido pelos rotuladores em relação ao GPT-3 base de 175B cerca de 70% das vezes. A diferença aumenta em prompts de teste ocultos originados do tráfego de produção. Duas conclusões importantes a partir desse número:
- O alinhamento é um eixo diferente da capacidade. O modelo de 175B tinha mais capacidade; o de 1.3B tinha mais alinhamento; os rotuladores preferiram o modelo alinhado.
- O piso de capacidade é estabelecido pelo modelo base. Não é possível fazer com que um modelo base saiba fatos que nunca viu por meio de RLHF.
Por que este é o ponto de referência para a Fase 18
Toda crítica nas lições posteriores — roubo de recompensa (Lição 2), DPO (Lição 3), bajulação (Lição 4), CAI (Lição 5), agentes dormentes (Lição 7), fingimento de alinhamento (Lição 9) — questiona alguma parte desse pipeline. O roubo de recompensa ataca o estágio 2. O DPO colapsa os estágios 2 e 3. O CAI substitui o rotulador humano. A bajulação mostra que o rotulador é um sinal enviesado. O fingimento de alinhamento mostra que a política pode contornar completamente o estágio 3. Não é possível compreender nenhuma dessas críticas sem antes ter esse pipeline em mente.
Use It
O arquivo code/main.py simula os três estágios em dados fictícios de preferência. A "política" base é uma moeda enviesada sobre as ações {A, B, C}. O Estágio 1 (SFT) imita as ações do rotulador em 200 prompts. O Estágio 2 ajusta um modelo de recompensa Bradley-Terry a partir de 500 classificações em pares. O Estágio 3 executa uma atualização simplificada de PPO com uma penalidade KL em relação à política SFT. Você pode observar a recompensa subir, a divergência KL crescer e o desvio da política acontecer — além de poder desligar o termo KL para ver o roubo de recompensa surgir em menos de 50 etapas de atualização.
O que observar:
- Trajetória da recompensa com
beta = 0.1vsbeta = 0.0. - KL(pi || pi_SFT) ao longo das etapas de treinamento.
- Distribuição de ações final comparada com a preferência do rotulador.
Ship It
Esta lição produz outputs/skill-instructgpt-explainer.md. Dada a descrição de um pipeline de RLHF ou o resumo de um artigo, ela identifica qual dos três estágios está sendo modificado, qual função de perda (loss) está sendo usada em cada estágio e se há uma penalidade KL ou regularizador equivalente.
Exercícios
- Execute
code/main.py. Definabeta = 0.0e relate a distribuição de ações após 200 etapas de PPO. Explique o comportamento de busca de modo (mode-seeking) em um parágrafo. - Modifique o modelo de recompensa para incluir um viés de +0.5 para a ação B (um bug de recompensa simulado). Execute o PPO com
beta = 0.1. A penalidade KL impede a política de explorar esse viés? Em qual valor debetaa exploração se torna perceptível? - Leia a Figura 1 de Ouyang et al. (arXiv:2203.02155). Reproduza a curva de preferência do rotulador executando o PPO por 1, 5, 20 e 100 etapas e medindo a preferência em relação ao modelo SFT.
- A Seção 4.3 do artigo relata que um InstructGPT de 1.3B supera o GPT-3 de 175B cerca de 70% das vezes. Por que essa taxa seria maior em prompts ocultos de produção do que nos próprios prompts dos rotuladores?
- Substitua a perda do PPO por DPO (Fase 10 · 08) usando os mesmos dados de preferência. Compare o desvio final da política (divergência KL em relação ao SFT) e a recompensa final. Qual método se desvia mais para o mesmo nível de recompensa?
Termos-Chave
| Termo | O que dizem | O que realmente significa |
|---|---|---|
| SFT | "ajuste de instruções" | Estágio 1: ajuste fino por entropia cruzada em pares de prompt-resposta |
| Modelo de recompensa (Reward model) | "o RM" | Regressor escalar sobre (prompt, resposta) treinado com Bradley-Terry em rótulos de pares |
| Bradley-Terry | "perda de preferência em pares" | -log sigmoid(r_w - r_l); reduz a classificação em pares a uma classificação binária |
| Penalidade KL | "o regularizador" | `beta * KL(pi |
| PPO-ptx | "PPO com mistura de pré-treino" | Adiciona uma fração da verossimilhança de pré-treinamento ao objetivo do PPO para contrabalançar a taxa de alinhamento |
| Taxa de alinhamento (Alignment tax) | "a regressão do RLHF" | Queda pós-RLHF em benchmarks padrão nos quais o RLHF não focou |
| Preferência do rotulador | "a verdade absoluta (ground truth)" | Amostra de classificações humanas; o RM é um proxy estatístico disso, não de "valores humanos" |