Demonstrações interativas da aula de treinamento de LLMs, do pré-treinamento ao alinhamento
Quatro visualizações que acompanham os slides: o schedule de learning rate do pré-treinamento (warmup linear até ηmax seguido de cosine decay até ηmin), o Reward Model treinado com a perda de Bradley-Terry ℒRM = −log σ(rφ(x, yw) − rφ(x, yl)), o objetivo do RLHF J(θ) = E[rφ(x, y)] − β·KL(πθ ‖ πref) com o fenômeno de reward hacking, e a vantagem por grupo do GRPO Âi = (ri − mean({rj})) / std({rj}).
No pré-treinamento, o learning rate cresce linearmente de 0 até ηmax durante o warmup (tipicamente 1 a 2% do treino) e depois decai suavemente segundo ηt = ηmin + ½(ηmax − ηmin)(1 + cos(πt/T)). Abaixo, o mesmo schedule é aplicado a uma otimização estocástica de brinquedo, ℒ(θ1, θ2) = ½(θ1² + c·θ2²) com c = 12 e ruído no gradiente (imitando o ruído de mini-batch). Compare a curva de loss do schedule com a de um learning rate constante igual a ηmax.
Schedule ηt: warmup (ciano) e cosine decay (laranja); a linha vertical marca o passo atual
log₁₀ ℒ por passo: η constante (ciano) vs schedule (laranja)
💡 Com ηmax = 0.12 os dois convergem, mas o schedule termina com um piso de ruído bem mais baixo: no fim, passos pequenos filtram o ruído do gradiente. Suba para ηmax = 0.18 (acima do limite de estabilidade 2/c ≈ 0.167): o LR constante diverge, enquanto o schedule explode no platô mas se recupera quando o cosseno reduz ηt. Compare warmup de 0% e 30% nos primeiros passos e teste ηmin/ηmax = 0 contra 0.5 para ver o efeito no piso final.
O Reward Model recebe triplas (x, yw, yl), onde yw é a resposta preferida pelos anotadores, e é treinado para que P(yw ≻ yl) = σ(Δr) com Δr = rφ(x, yw) − rφ(x, yl). A perda é ℒRM = −log σ(Δr). Ajuste os rewards das duas respostas e observe a probabilidade prevista, a perda e o gradiente. À direita, um RM de brinquedo é treinado em 10 pares de preferência: cada passo empurra rφ(x, yw) para cima e rφ(x, yl) para baixo com força σ(−Δr), ou seja, o gradiente é grande quando o RM ainda discorda do rótulo humano.
σ(Δr) (verde) e ℒRM = −log σ(Δr) (laranja) em função de Δr; o marcador mostra o par atual
10 pares de preferência: r(yw) em verde, r(yl) em vermelho, por par
💡 Os botões reproduzem o exemplo numérico dos slides: o Cenário A (Δr = +2.9) dá σ ≈ 0.948 e perda ≈ 0.053; o Cenário B (Δr = −2.9) dá perda ≈ 2.96, quase 60 vezes maior, com gradiente quase máximo. No treino à direita, repare que pares já ordenados corretamente quase não se movem (a sigmoide satura) enquanto os pares invertidos se corrigem rápido. Com η = 1.5 a separação cresce sem parar: a perda de Bradley-Terry só compara diferenças, nada ancora a escala absoluta dos rewards.
No RLHF, a política πθ é otimizada para maximizar J(θ) = Ey∼πθ[rφ(x, y)] − β·KL(πθ ‖ πref), onde πref é o modelo SFT congelado. Aqui a política é uma distribuição sobre um eixo de "tipos de resposta": a utilidade humana verdadeira u(y) (verde) tem pico em respostas boas, mas o Reward Model rφ(y) (laranja) é imperfeito e superestima uma região estreita de respostas degeneradas à direita. Rode a subida de gradiente e veja para onde a massa de probabilidade migra conforme o coeficiente β da penalidade KL.
Política πθ (barras roxas), referência SFT πref (tracejada), RM rφ (laranja) e utilidade real u (verde)
Por iteração: reward do RM (laranja), utilidade real (verde) e KL(πθ ‖ πref) (rosa)
💡 Com β = 0.05 acontece reward hacking: a política colapsa no pico falso do RM, o reward laranja dispara, mas a utilidade verde despenca e a KL explode, exatamente as duas instabilidades citadas nos slides. Com β = 0.5 a política desliza para as respostas realmente boas e a utilidade sobe junto com o reward. Com β = 3 a política quase não sai do SFT: pouco hacking, mas também pouco alinhamento. O mesmo trade-off de β vale para o DPO, que carrega essa penalidade implícita na sua perda.
O GRPO elimina a value function do PPO: para cada prompt amostram-se G respostas, cada uma recebe um reward verificável ri ∈ {0, 1} (acertou ou errou a conta, como no exemplo "12 × 7 = 84" dos slides) e a vantagem é o z-score dentro do grupo: Âi = (ri − r̄) / σr. Clique nas barras para marcar quais respostas acertaram e veja as vantagens mudarem. À direita, uma política de brinquedo com probabilidade p de acertar é treinada com REINFORCE usando essas vantagens: respostas melhores que a média do grupo são reforçadas, piores que a média são penalizadas.
Grupo atual: reward ri (barra fina ciano) e vantagem Âi (verde se positiva, vermelha se negativa); clique para alternar acerto/erro
Probabilidade de acerto p da política por iteração de treino
💡 Com G = 4 e metade do grupo acertando, r̄ = 0.5, σr = 0.5 e Âi ∈ {−1, +1}, o exemplo numérico dos slides. Marque todas as respostas como corretas: σr = 0 e todas as vantagens zeram, sem gradiente. É por isso que, treinando com ▶, a curva de p acelera no meio (grupos mistos são frequentes) e satura perto de 1 (quase todo grupo é unânime). Compare G = 4 com G = 16: grupos maiores quase sempre têm variância, então a política recebe sinal de aprendizado por mais tempo.