Pular para o conteúdo principal

O que é GRPO? Explicação da otimização da política relativa ao grupo

Explore o que é o GRPO, como ele funciona, os componentes essenciais necessários para sua implementação e quando é mais adequado usá-lo.
Atualizado 2 de jul. de 2025  · 12 min lido

O Group Relative Policy Optimization (GRPO) é uma técnica de aprendizagem por reforço (RL) de ponta que impulsiona o desempenho impressionante dos modelos de linguagem grandes (LLMs) mais recentes. Embora tenha ganhado ampla atenção após o lançamento do DeepSeek-R1, o GRPO foi introduzido pela primeira vez no DeepSeekMath, um LLM ajustado para raciocínio matemático avançado. O GRPO foi originalmente projetado para melhorar a eficiência do ajuste fino e provou ser um método econômico e versátil adotado pela comunidade.

Neste artigo, vamos nos aprofundar no GRPO. Exploraremos o que é, como funciona, os componentes essenciais necessários para sua implementação e quando é mais apropriado usá-la. O objetivo deste guia é mostrar a você os principais insights por trás do GRPO, o que justifica sua crescente popularidade.

Se você estiver ansioso para aprender mais sobre o DeepSeek, não deixe de conferir nosso curso, Trabalhando com o DeepSeek em Python

Introdução ao aprendizado por reforço

Conforme exploramos em nosso guia de ajuste fino de LLMs, o ajuste fino supervisionado (SFT) é a técnica de treinamento tradicional que consiste em treinar um modelo usando dados rotulados. Ou seja, usando exemplos que mostram as conclusões ou os resultados esperados para determinadas entradas.

Uma das limitações do SFT é que ele depende muito de conjuntos de dados grandes e rotulados, cuja produção pode ser cara e demorada. Além disso, os modelos treinados por meio da SFT correm o risco de se ajustar excessivamente aos exemplos de treinamento, o que significa que eles têm um bom desempenho em dados vistos, mas têm dificuldade de generalizar para situações novas ou inesperadas.

Uma alternativa à SFT é o aprendizado por reforço, pelo qual, em vez de aprender com exemplos fixos, um agente aprende interagindo com seu ambiente e tentando diferentes ações para concluir uma tarefa. Após cada ação, o agente recebe feedback na forma de recompensas ou penalidades. O objetivo é maximizar a recompensa total ao longo do tempo, descobrindo as estratégias que funcionam melhor.

Podemos descrever um fluxo de trabalho simples de RL da seguinte forma:

Diagrama de um fluxo de trabalho simples de RL.

Diagrama de um fluxo de trabalho simples de RL.

Se você quiser começar a trabalhar com RL em Python, o tutorial Reinforcement Learning: Uma introdução com exemplos em Python é para você!

Aprendizado por reforço facilitado

Para ilustrar o conceito de aprendizagem por reforço, imagine que você está ensinando seu primo a andar de bicicleta. No início, ela tem dificuldades para pedalar e se equilibrar, muitas vezes oscilando ou caindo.

Cada vez que ela vai um pouco mais longe, você torce por ela. Esse feedback positivo a incentiva a continuar. Mas quando ela tenta descer as escadas, você a impede rapidamente e explica os riscos. Isso serve como um sinal negativo para desencorajar tais ações.

Da mesma forma, a aprendizagem por reforço permite que os modelos explorem diferentes ações. As recompensas positivas reforçam os resultados desejáveis, enquanto as recompensas negativas desestimulam o comportamento indesejado. Com o tempo, o modelo aprende a tomar decisões melhores por meio desse feedback.

Abordagens para o aprendizado por reforço

Há diferentes técnicas para aplicar o aprendizado por reforço a um modelo. Em termos concretos, a GRPO é considerada uma evolução da otimização de políticas proximais (PPO) e da otimização de políticas diretas (DPO).

Você já ouviu falar sobre PPO e DPO antes?

Otimização da política proximal

O PPO é um algoritmo de RL amplamente utilizado, projetado para otimizar o comportamento de um modelo, maximizando suas recompensas por meio de um modelo de recompensa separado. Um ótimo exemplo de PPO em ação é oaprendizado por reforço do feedback humano (RLHF) da OpenAI . No RLHF, o feedback humano é coletado primeiro nos resultados do modelo, e esses dados são usados posteriormente para treinar um modelo de recompensa para prever o feedback. Ter um modelo de recompensa é uma maneira de dimensionar o feedback humano, sem a necessidade de humanos.

Por fim, o PPO usa o modelo de recompensa durante o treinamento para ajustar os parâmetros do modelo, incentivando-o a gerar respostas que se alinhem melhor às preferências humanas. O diagrama a seguir ilustra o fluxo de trabalho do PPO:

Diagrama do fluxo de trabalho do PPO.

Diagrama do fluxo de trabalho do PPO.

Se você quiser implementar o fluxo de trabalho PPO em Python, considere o tutorial Otimização de política proximal com PyTorch e Gymnasium.

Otimização direta da política

O treinamento de um modelo de recompensa separado pode ser complexo e exigir muitos recursos. Para simplificar esse processo, o DPO foi introduzido, mudando a forma como o feedback humano é coletado.

Em vez de pedir aos humanos que classifiquem as respostas com pontuações numéricas, o DPO se baseia na comparação de preferênciass. Os anotadores humanos recebem duas respostas e são solicitados a escolher a que preferem. Isso cria um conjunto de dados de exemplos preferidos e menos preferidos.

O modelo é então ajustado diretamente nesses pares de preferências, em vez de depender do modelo de recompensa. Por meio dessa abordagem, o modelo aprende a aumentar a probabilidade de gerar a resposta preferida e a reduzir a probabilidade da resposta menos preferida. 

Essa abordagem permite que o modelo se alinhe às preferências humanas sem a necessidade de um modelo de recompensa separado. Vamos dar uma olhada nesse novo fluxo de trabalho:

Diagrama do fluxo de trabalho do DPO.

Diagrama do fluxo de trabalho do DPO.

O tutorial é sobre o ajuste fino de preferências da OpenAI: A Guide With Examples ajudará você a implementar o DPO na prática.

Desafios da PPO e da DPO

A DPO apresenta muitos benefícios em comparação com a PPO. A partir dos dados necessários, o PPO precisa primeiro coletar os dados para treinar o modelo de recompensa e, em seguida, fazer o treinamento real desse modelo auxiliar (com todos os desafios técnicos do treinamento de um novo modelo), antes mesmo de começar a treinar seu modelo de destino. O DPO simplifica o processo ao eliminar a necessidade de ter um modelo de recompensa separado. No entanto, essa abordagem ainda requer uma quantidade substancial de dados de preferência.

Neste momento, você prevê uma maneira de eliminar essas limitações?

E se, em vez de depender de feedback externo, pudéssemos encontrar uma maneira automática de validar e avaliar as respostas do modelo?

É exatamente isso que a GRPO traz para você!

O que é GRPO?

O Group Relative Policy Optimization é uma técnica de RL que não requer dados rotulados, apenas um meio de "verificar" a correção e ordenar as respostas de acordo. A verificação é normalmente realizada porfunções de recompensa programáveis , por exemplo, funções que podem receber a resposta do modelo como entrada e emitir uma pontuação de classificação em algum aspecto da função.

Algumas abordagens do GRPO usam um LLM como juiz para verificar e classificar as respostas, mas a ideia central do GRPO pode ser explorada sem a necessidade de um modelo externo em domínios como o desenvolvimento de software, já que diferentes aspectos do código gerado podem ser verificados por ferramentas externas. Por exemplo,

  • O código é compilado? Aqui, só precisamos usar o compilador.
  • Você tem um erro de tempo de execução? Aqui você só precisa executar o código.
  • Ele passa nos testes de unidade? Aqui, precisamos apenas de testes unitários.
  • A saída do interpretador de código está limpa? Aqui você só precisa de um linter.

Como você pode ver, não são necessários dados humanos ou de preferência!

Funções de recompensa

No artigo original do DeepSeek-Mathas funções de recompensa foram criadas para avaliar a correção e a formatação das soluções matemáticas. Se você já solicitou uma saída estruturada para um LLM, deve ter percebido que o modelo pode ter seguido o formato de saída desejado durante a maior parte da conclusão, mas sempre houve um caso isolado que quebrou seu pipeline, certo?

No caso do DeepSeek-Mathas funções de recompensa se concentraram na correção e na formatação:

  • Recompensas de precisão avaliam se a resposta final do modelo está correta. Para problemas matemáticos determinísticos, é necessário que o modelo apresente a resposta final em um formato específico (por exemplo, dentro de uma caixa), permitindo a verificação automatizada em relação à verdade básica.
  • Recompensas de formato garantem que as respostas do modelo sigam uma estrutura predefinida. Especificamente, o modelo é incentivado a incluir seu processo de raciocínio em tags designadas (por exemplo, e ). Essa formatação facilita a extração e a análise do processo de pensamento do modelo, promovendo clareza e consistência em seus resultados.

Fluxo de trabalho da GRPO

A esta altura, você deve estar se perguntando: onde o GRPO se encaixa no fluxo de trabalho de treinamento de um modelo?

Vamos analisar o processo passo a passo!

  1. Envie um prompt para o LLM e faça uma amostra das respostas de vários candidatos.
  2. Escreva uma ou mais funções programáveis que recebam os pares de perguntas e respostas e atribuam uma pontuação a cada um deles.
  3. Use essas pontuações para atualizar os pesos do LLM, aumentando a probabilidade de produzir respostas com pontuações acima da média e diminuindo-a para aquelas com pontuações abaixo da média.

Seguindo esse ciclo, o GRPO ajusta o modelo diretamente com base no resultado das funções de recompensa, sem a necessidade de coletar dados de preferência.

Diagrama do fluxo de trabalho do GRPO com recompensas de pontuação computadas por um agente externo.

Diagrama do fluxo de trabalho do GRPO com recompensas de pontuação computadas por um agente externo.

Por fim, é interessante observar que a GRPO também traz o benefício de ensinar novas tarefas ao modelo, em vez de apenas direcionar o aprendizado para uma preferência, como na PPO ou DPO.

Benefícios do GRPO

Como podemos observar no diagrama acima, a principal vantagem do GRPO é que ele não exige dados rotulados, apenas um meio de "verificar" a correção, obtida pelo uso de funções de recompensa programáveis.

Outra vantagem é que você precisa de muito menos exemplos do que o ajuste fino, o que torna essa técnica uma alternativa econômica. 

Além disso, o modelo aprende ativamente com o feedback, em vez de exemplos rotulados fixos, o que reduz o risco de ajuste excessivo. Os modelos de treinamento com GRPO permitem que eles descubram organicamente estratégias melhores e aprimorem sua cadeia de raciocínio.

Casos de uso do GRPO

Conforme discutido anteriormente, o principal caso de uso do GRPO surge quando você não tem dados rotulados, mas pode verificar a exatidão do resultado. Ele também é altamente eficaz quando você tem dados rotulados limitados, embora não o suficiente para realizar o ajuste fino supervisionado tradicional. Isso torna o GRPO particularmente valioso em cenários em que a rotulagem é cara ou impraticável.

Alguns domínios em que o GRPO demonstrou vantagens significativas incluem:

  • Habilidades matemáticas: Por exemplo, no caso do modelo DeepSeek-Math, a GRPO aumentou efetivamente a capacidade do modelo de resolver problemas matemáticos complexos sem conjuntos de dados rotulados extensos.
  • Geração de código: O GRPO ajuda a melhorar a precisão e a confiabilidade do código gerado, permitindo que o sistema autoverifique os resultados e os refine iterativamente.
  • Raciocínio em várias etapas: Foi demonstrado que o GRPO melhora o desempenho dos modelos em tarefas que exigem raciocínio sequencial e a integração de várias etapas lógicas.

GRPO avançado

Há algumas dicas e truques avançados que você deve conhecer ao implementar o GRPO na prática. 

Funções avançadas de recompensa

As funções de recompensa fornecem feedback ao modelo sobre como ele está atingindo seu objetivo. Há componentes essenciais nesse processo:

  • Diversidade nas respostas: A geração de uma ampla gama de resultados candidatos aumenta as chances de você descobrir soluções ou estratégias de maior qualidade.
  • Diversidade nas recompensas: Projetar funções de recompensa que possam diferenciar entre níveis variados de sucesso ou realização parcial, em vez de apenas um sinal binário de aprovação/reprovação. Isso é conhecido como partial credit rewards (recompensas de crédito parcial), que fornecem feedback com mais nuances, atribuindo crédito parcial a diferentes aspectos da resposta. Os exemplos incluem verificar se, pelo menos, o formato de saída está correto, se o código gerado é compilado com êxito ou se o código passa em um subconjunto de testes de unidade. Esse tipo de recompensa graduada incentiva o modelo a melhorar cada vez mais, mesmo que a resposta não esteja totalmente correta.

Além disso, a definição de uma linha de base para todo o grupo pode desempenhar um papel importante na estabilização e no aprimoramento do processo de treinamento. Ao subtrair essa linha de base das recompensas individuais, o modelo recebe feedback em relação ao desempenho geral do grupo, o que reduz a variação nas estimativas de recompensa e incentiva melhorias incrementais em relação à média.

Temperatura 

Nos LLMs, o parâmetro de temperatura controla a aleatoriedade do processo de amostragem durante a geração de saída. Definir a temperatura como 0 resulta em uma amostragem determinísticaou seja, o modelo sempre escolhe o próximo token mais provável.

Embora isso garanta a consistência, muitas vezes leva você a gerar o mesmo resultado repetidamentelimitando a diversidade nas respostas.

Por outro lado, o aumento da temperatura introduz mais aleatoriedade, permitindo que o modelo explore uma gama mais ampla de possibilidades. Essa diversidade pode ser benéfica para a descoberta de soluções diferentes ou inesperadas. 

No entanto, as temperaturas mais altas têm uma desvantagem: a qualidade de cada palpite individual tende a ser menor porque o modelo coleta amostras de tokens menos prováveis com mais frequência. Por esse motivo, o processo geral de aprendizado pode ficar mais lento.

Escolher a temperatura certa às vezes é uma arte!

Hacking de recompensa

Os modelos são sorrateiros e, às vezes, exploram as funções de recompensa de maneiras não intencionais para maximizar as recompensas sem realmente atingir a meta. 

Por exemplo, digamos que o modelo seja recompensado por produzir testes para um determinado trecho de código. Pode ser que o modelo forneça uma função de teste, mas sem realmente testar nada, ignorando o objetivo real de verificar a correção do código e recebendo a recompensa de qualquer maneira.

Você deve estar ciente desses hacks ao escrever as funções de recompensa. Por exemplo, no caso da geração de testes, normalmente é necessário que o modelo gere pelo menos uma instrução 'assert' dentro do teste. Caso contrário, você será penalizado.

Conclusão

Para concluir, gostaria de aplicar o GRPO a um cenário do mundo real para garantir que todos os conceitos sejam bem compreendidos.

Imagine que você e seus amigos participam de uma competição de condicionamento físico em que as recompensas são dadas com base no desempenho em corrida, flexões e remo. Inicialmente, a academia recompensa apenas a pessoa com os melhores resultados absolutos. 

Assim, se Alice correr mais e fizer mais flexões do que Ben, ela sempre vencerá, mesmo que Ben tenha demonstrado uma melhora significativa. 

Isso parece injusto com o Ben, não é?

Para resolver isso, a academia tenta uma abordagem diferente: metas pessoais baseadas no desempenho anterior.

Agora, você só ganha recompensas se bater seus próprios recordes anteriores. Embora isso pareça mais justo, introduz novos problemas. Os novos membros, como Charlie, não têm dados anteriores para comparar, o que dificulta a participação deles. Além disso, os instrutores precisam acompanhar constantemente o progresso de todos individualmente, o que se torna ineficiente.

Finalmente, a academia oferece uma solução melhor: GRPO

Antes do início do treino, o instrutor da academia ativa um sistema que analisa as características dos participantes e os agrupa com base em condições semelhantes. Durante o treino, o sistema programa o desempenho de cada participante e calcula uma pontuação média dentro de cada grupo para servir como linha de base. Depois disso, as recompensas são dadas com base no quanto cada pessoa excede o desempenho médio do grupo naquele mesmo dia. 

Portanto, se Ben tiver um desempenho significativamente melhor do que os outros em seu grupo, ele receberá uma recompensa, mesmo que Alice ainda tenha a pontuação geral mais alta. Esse método também é justo para novatos como Charlie, pois eles são avaliados em relação aos seus pares na mesma sessão, e não com base no histórico anterior.

Um fator importante nesse processo é a temperatura, que controla o rigor com que as melhorias são recompensadas. Se a temperatura for muito baixa, apenas grandes melhorias em relação à linha de base serão consideradas. Se a temperatura for muito alta, até mesmo pequenas melhorias serão recompensadas, o que incentiva a experimentação, mas pode levar a um progresso irregular. 

O GRPO tem como objetivo encontrar o equilíbrio certo, garantindo uma melhoria constante e permitindo a exploração.

Por fim, há o risco de você ser recompensado pelo hacking. Isso significaria que os participantes encontrariam maneiras de burlar o sistema sem melhorar de fato. Por exemplo, Ben pode se concentrar apenas nos exercícios mais fáceis para aumentar sua pontuação sem esforço real. 

Para evitar isso, a academia acrescenta medidas de proteção, como exigir uma combinação equilibrada de exercícios ou penalizar exercícios repetitivos e de baixo esforço. Essas restrições garantem que as recompensas reflitam o progresso genuíno.

Se você quiser saber mais sobre como os LLMs funcionam e como desenvolver o seu próprio, confira nosso curso, Como desenvolver grandes modelos de linguagem.

Introdução aos agentes de IA

Aprenda os fundamentos dos agentes de IA, seus componentes e o uso no mundo real - não é necessário programar.
Explorar o curso

GRPO FAQs

Quantos dados são necessários para o GRPO?

Em geral, menos de 1.000 exemplos rotulados.

O GRPO exige o programa de desempenho anterior?

Não. O GRPO usa apenas as informações da etapa de treinamento atual.

O que é um grupo no GRPO?

Um grupo é uma coleção de respostas modelo para o mesmo prompt.

Como o GRPO evita o hacking de recompensas?

Ao incorporar restrições, o GRPO desestimula os modelos a explorar caminhos fáceis para obter recompensas inflacionadas.

Como as recompensas são atribuídas no GRPO?

Cada resposta é recompensada com base no quanto ela supera o desempenho da linha de base do grupo, e não na recompensa absoluta.


Andrea Valenzuela's photo
Author
Andrea Valenzuela
LinkedIn
Twitter

Andrea Valenzuela está trabalhando atualmente no experimento CMS no acelerador de partículas (CERN) em Genebra, Suíça. Com experiência em engenharia e análise de dados nos últimos seis anos, suas funções incluem análise de dados e desenvolvimento de software. Atualmente, ela está trabalhando para democratizar o aprendizado de tecnologias relacionadas a dados por meio da publicação no Medium ForCode'Sake.

Ela é bacharel em Engenharia Física pela Universidade Politécnica da Catalunha, bem como mestre em Sistemas Interativos Inteligentes pela Universidade Pompeu Fabra. Sua experiência em pesquisa inclui trabalho profissional com algoritmos anteriores da OpenAI para geração de imagens, como o Normalizing Flows.

Tópicos

Principais cursos da DataCamp

Programa

Desenvolvimento de modelos de idiomas grandes

0 min
Aprenda a desenvolver grandes modelos de linguagem (LLMs) com PyTorch e Hugging Face, usando as mais recentes técnicas de aprendizagem profunda e PNL.
Ver detalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

O que é um modelo generativo?

Os modelos generativos usam o aprendizado de máquina para descobrir padrões nos dados e gerar novos dados. Saiba mais sobre sua importância e aplicações em IA.
Abid Ali Awan's photo

Abid Ali Awan

11 min

Big Data Concept

blog

Agrupamento no aprendizado de máquina: 5 Algoritmos de agrupamento essenciais

Saiba o que é clustering e como ele é usado no aprendizado de máquina. Veja os diferentes tipos de agrupamento no aprendizado de máquina e confira algumas perguntas frequentes.
Moez Ali's photo

Moez Ali

15 min

blog

Tudo o que sabemos sobre o GPT-5

Saiba como o GPT-5 evoluirá para um sistema unificado com recursos avançados, visando um lançamento no verão de 2025, com base no mais recente roteiro da OpenAI e no histórico do GPT.
Josep Ferrer's photo

Josep Ferrer

8 min

blog

O que é processamento de linguagem natural (NLP)? Um guia abrangente para iniciantes

Explore o mundo transformador do Processamento de Linguagem Natural (PLN) com o guia abrangente do DataCamp para iniciantes. Mergulhe nos principais componentes, técnicas, aplicativos e desafios da PNL.
Matt Crabtree's photo

Matt Crabtree

11 min

Tutorial

Agrupamento hierárquico em R

O agrupamento é a forma mais comum de aprendizado não supervisionado, um tipo de algoritmo de aprendizado de máquina usado para fazer inferências a partir de dados não rotulados.
DataCamp Team's photo

DataCamp Team

15 min

Tutorial

Guia de Introdução ao Ajuste Fino de LLMs

O ajuste fino dos grandes modelos de linguagem (LLMs, Large Language Models) revolucionou o processamento de linguagem natural (PLN), oferecendo recursos sem precedentes em tarefas como tradução de idiomas, análise de sentimentos e geração de textos. Essa abordagem transformadora aproveita modelos pré-treinados como o GPT-2, aprimorando seu desempenho em domínios específicos pelo processo de ajuste fino.
Josep Ferrer's photo

Josep Ferrer

11 min

Ver maisVer mais