Recursos/Treinamento de modelo/Métodos de treinamento

Método

GRPO, passo a passo

O Group Relative Policy Optimization pontua várias respostas para o mesmo prompt e reforça aquelas acima da média do grupo. Ele substitui o modelo de valor separado do PPO por essa simples comparação.

Capítulo 76 min de leitura5 referências

De onde vem o GRPO

O GRPO foi introduzido em 2024 no artigo do DeepSeekMath como uma versão mais enxuta do PPO (Proximal Policy Optimization, 2017), o algoritmo por trás da maioria dos ajustes finos de RL anteriores de modelos de linguagem, incluindo o RLHF usado no InstructGPT. Tornou-se amplamente conhecido quando o DeepSeek-R1 o utilizou em escala, e agora é o método de RL padrão em treinadores de código aberto, como o Hugging Face TRL, e na maioria dos serviços de RFT.

PPO · linha de base aprendida
prompt→o modelo escreve 1 resposta→o modelo de recompensa o pontua→modelo de valorprevê a pontuação esperada, token por token→vantagem = pontuação − previsão

O modelo de valor geralmente tem o mesmo tamanho do modelo em treinamento e é treinado junto com ele.

GRPO · linha de base do grupo
prompt→o modelo escreve N respostas→o avaliador pontua cada uma→média e dispersão do grupocalculadas, não aprendidas→vantagem = (pontuação − média) ÷ dispersão

Nenhum modelo de valor para treinar ou manter na memória. O preço é gerar N respostas por prompt em vez de uma.

O PPO precisa de uma segunda rede, o modelo de valor, para estimar quão boa uma resposta deveria ter sido. O GRPO a descarta: ele amostra várias respostas para o mesmo prompt e usa a pontuação média delas como parâmetro.

O PPO precisa de uma linha de base para transformar pontuações brutas em vantagens, e ele aprende uma: um modelo de valor (o “crítico”) que prevê, token por token, a pontuação para a qual a resposta se encaminha. Os autores do DeepSeekMath apontam que esse modelo de valor é tipicamente quase tão grande quanto o modelo sendo treinado, um fardo pesado de memória e computação, e que prever um valor a cada token é difícil quando a recompensa só chega no final. O GRPO o remove. Ele amostra um grupo de respostas para cada prompt e usa a própria pontuação média do grupo como a linha de base.

O algoritmo

  1. Amostre prompts. Extraia um lote de prompts dos seus dados.
  2. Gere um grupo. Para cada prompt, o modelo atual escreve N respostas, amostrando com aleatoriedade para que elas difiram. Grupos de 4 a 16 são comuns; o DeepSeekMath usou 64.
  3. Pontue. O avaliador dá a cada resposta uma recompensa, aqui de 0 a 1.
  4. Normalize dentro do grupo. A vantagem de cada resposta é a sua pontuação menos a média do grupo, dividida pelo desvio padrão do grupo. Cada token da resposta recebe essa mesma vantagem.
  5. Atualize com um objetivo com recorte. Torne as respostas com vantagem positiva mais prováveis e as negativas menos prováveis, mas nunca por mais do que uma proporção definida em uma única etapa (veja abaixo).
  6. Opcionalmente, penalize o desvio. Subtraia β × a divergência KL de uma cópia congelada do modelo inicial.
promptMÉDIA DO GRUPO 0.50.8resposta 1+0.30.3resposta 2−0.20.6resposta 3+0.10.3resposta 4−0.2vantagem = (pontuação − média do grupo) ÷ dispersão do grupo
GRPO em uma etapa. O modelo responde ao mesmo prompt quatro vezes; o avaliador pontua cada uma; cada resposta é comparada com a média do seu próprio grupo. Acima da média é reforçada, abaixo da média é desencorajada.
Vantagem relativa ao grupo, para o grupo na figura
advantage_i = (score_i − mean(group)) / std(group)

answer      1      2      3      4
score      0.8    0.3    0.6    0.3
− mean     +0.3   −0.2   +0.1   −0.2      mean = 0.5
÷ std      +1.41  −0.94  +0.47  −0.94     std ≈ 0.21
Calculando vantagens para um grupo de quatro
  1. O avaliador pontua quatro respostas para um prompt: 0,8, 0,3, 0,6 e 0,3.
  2. Média do grupo = (0,8 + 0,3 + 0,6 + 0,3) ÷ 4 = 0,5. Diferenças em relação à média: +0,3, −0,2, +0,1, −0,2.
  3. Dispersão (desvio padrão dos quatro) = √((0,09 + 0,04 + 0,01 + 0,04) ÷ 4) = √0,045 ≈ 0,21.
  4. Vantagens = diferenças ÷ 0,21 ≈ +1,41, −0,94, +0,47, −0,94. A resposta 1 é a mais impulsionada para cima, a resposta 3 um pouco; as respostas 2 e 4 são empurradas para baixo igualmente.
  5. Algumas bibliotecas dividem por n − 1 ao calcular a dispersão (≈ 0,24 aqui, resultando em +1,22, −0,82, +0,41, −0,82). Os sinais e a classificação, que são o que direcionam o modelo, são os mesmos.
Dois grupos que ensinam quantidades muito diferentes
  1. O Grupo A pontua 0, 0, 0, 0: todas as respostas falharam. Média 0, dispersão 0, portanto cada vantagem é 0 e este prompt não contribui com nada. (As implementações adicionam uma constante minúscula à dispersão para que nada seja dividido por zero.)
  2. O Grupo B pontua 0,61, 0,60, 0,60, 0,59: praticamente idênticas. Mas a dispersão é minúscula (≈ 0,007), então as vantagens resultam em +1,41, 0, 0, −1,41, tão grandes quanto em um grupo com diferenças reais.
  3. Dividir pela dispersão dá aos prompts de baixa dispersão um peso desproporcional e permite que o ruído do avaliador se torne um sinal de força total. É uma das razões pelas quais a variante Dr. GRPO abandona a divisão, e por que um avaliador com pontuações brutas e consistentes supera um com ruído de aparência precisa.

O objetivo clipado, em palavras simples

Uma vez que as vantagens são conhecidas, o modelo é atualizado, frequentemente por alguns minilotes nas mesmas respostas. A cada vez, o treinador compara a probabilidade que o modelo atual atribui a uma resposta com a probabilidade atribuída pelo modelo que a escreveu. Essa proporção é de 1,0 quando a etapa começa. A ideia do PPO, que o GRPO mantém, é parar de dar crédito assim que a proporção tiver se movido o suficiente: com o habitual ε = 0,2, uma resposta acima da média não ganha mais nada por se tornar mais de 1,2× provável, e uma abaixo da média não ganha mais nada por cair abaixo de 0,8×.

REGIÃO DE CONFIANÇA 0.8–1.20.51.0 · inalterado1.5acima da média: limitadoabaixo da média: limitado ao pisonova ÷ antiga probabilidade da resposta
O objetivo clipado, para uma resposta. Respostas acima da média (verde) ganham crédito por se tornarem mais prováveis apenas até 1.2× sua probabilidade antiga; as abaixo da média (rosa) ganham crédito por se tornarem menos prováveis apenas até 0.8×. Além desses limites, o gradiente é zero, para que um lote de sorte não possa arrastar o modelo para longe.

O resultado é uma região de confiança: cada etapa só pode mover o modelo a uma distância limitada do modelo que gerou os dados, o que impede que um lote com sorte ou sem sorte cause um desvio brusco. O TRL registra a frequência com que o limite atua em clip_ratio; valores que permanecem altos significam que as atualizações continuam atingindo o limite, frequentemente um sinal de que a taxa de aprendizado é grande demais.

O objetivo do GRPO, simplificado
ratio      r = P_new(answer) / P_old(answer)        # 1.0 when the step starts

objective  min( r × A ,  clip(r, 1 − ε, 1 + ε) × A )  −  β × KL(new ‖ reference)

           A = the answer's advantage
           ε = 0.2   (how far one step may move an answer's probability)
           β = 0 … 0.04   (pull back toward the starting model; 0 = none)

A penalidade KL

O GRPO original adiciona mais um termo: β vezes a divergência KL entre o modelo sendo treinado e uma cópia congelada de onde ele começou, a referência. A divergência KL mede o quão diferentes são duas distribuições de probabilidade; aqui, ela cresce à medida que as escolhas de palavras do modelo se desviam das da referência. Com β acima de 0, o desvio custa recompensa, de modo que o modelo melhora na tarefa enquanto permanece próximo à sua linguagem e estilo originais. O DeepSeekMath usou β = 0,04 e adicionou a penalidade diretamente à perda, em vez de subtraí-la da recompensa.

Trabalhos posteriores descobriram que a penalidade frequentemente é desnecessária em tarefas com respostas verificáveis, e o TRL agora tem como padrão β = 0, o que também economiza memória porque nenhuma cópia de referência precisa ser carregada. Ainda vale a pena ter uma penalidade quando um modelo juiz é o avaliador e as respostas começam a se degradar (fraseado estranho, formatação quebrada, uma mudança de idioma): um desvio que um juiz pode não punir. As configurações de RFT explicam como defini-la.

Peculiaridades conhecidas

  • Viés de comprimento. Na fórmula original, a perda de cada resposta é calculada em média sobre o seu próprio comprimento, de modo que uma resposta longa e errada é menos penalizada por token do que uma resposta curta e errada. O artigo do Dr. GRPO mostrou que isso infla o comprimento da resposta, especialmente para respostas incorretas. O tipo de perda padrão do TRL, dapo, calcula a média sobre todos os tokens no lote em vez disso.
  • Grupos de sinal zero. Prompts fáceis (todas as respostas certas) e os sem esperança (todas erradas) não produzem nenhuma atualização. O TRL registra a sua proporção como frac_reward_zero_std; a receita DAPO filtra esses grupos e amostra mais.
  • A geração domina o custo. Escrever N respostas token por token consome a maior parte do tempo de cada etapa, o que faz do tamanho do grupo e do comprimento da resposta as principais alavancas de velocidade e preço.

Erros comuns

  • Ler uma única pontuação isoladamente. No GRPO, a pontuação de uma resposta só importa em relação às outras respostas para o mesmo prompt.
  • Usar grupos de dois para economizar tempo. Com duas respostas, qualquer diferença, mesmo o ruído do avaliador, torna-se um sinal completo de +1 / −1.
  • Fornecer prompts fáceis demais ou difíceis demais. Ambos geram pontuações idênticas dentro de um grupo e nenhum sinal.
  • Presumir que a penalidade KL está ativada. Em muitas bibliotecas atuais, o padrão é β = 0.
  • Confiar em um avaliador de aparência precisa. Pequenas diferenças ruidosas de pontuação são ampliadas para vantagens em escala total.

Referências e leitura complementar

Fontes externas abrem em uma nova aba.

  1. 01DeepSeekMath: Pushing the Limits of Mathematical Reasoning in Open Language ModelsShao et al., 2024 · arXiv · arxiv.orgIntroduz o GRPO; sua etapa de RL elevou o GSM8K de 82,9% para 88,2% e o MATH de 46,8% para 51,7%.
  2. 02Proximal Policy Optimization AlgorithmsSchulman et al., 2017 · arXiv · arxiv.orgO objetivo com recorte e a ideia de região de confiança que o GRPO herda.
  3. 03Understanding R1-Zero-Like Training: A Critical PerspectiveLiu et al., 2025 · arXiv · arxiv.orgDescobre o viés de comprimento do GRPO e propõe o Dr. GRPO, uma variante sem viés.
  4. 04DAPO: An Open-Source LLM Reinforcement Learning System at ScaleYu et al., 2025 · arXiv · arxiv.orgCorreções práticas para o GRPO: perda no nível do token, recorte assimétrico, filtragem de grupos de sinal zero.
  5. 05GRPO TrainerHugging Face TRL docs · huggingface.coVariantes de perda, padrões e as métricas que uma execução de GRPO registra.

Transforme semanas de trabalho especializado em minutos

Veja como o Scalata se adapta à sua equipe, aos seus dados e aos seus Controles.

Fale com vendas