Pular para o conteúdo
Skillpedia
Agentes41 mil · #4899

grpo-rlvr-training

Faz seu agente aprender tarefas complexas que podem ser verificadas. É útil para treinar IA em matemática, código ou outras tarefas com resultados claros.

O que ela faz

Este recurso treina uma IA para realizar tarefas que podem ser verificadas automaticamente, como resolver problemas de matemática ou escrever código. Ele usa um método chamado GRPO com aprendizado por reforço para garantir que a IA aprenda a acertar.

Quando usar

  • ✓Quando você precisa que a IA resolva problemas de matemática.
  • ✓Quando você quer que a IA escreva código que funcione.
  • ✓Quando a tarefa da IA tem uma resposta clara de 'certo' ou 'errado'.

Exemplo do que pedir para a IA

“Treine a IA para resolver equações matemáticas e verificar se a resposta está correta.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/wshobson/agents/blob/main/plugins/llm-finetuning/skills/grpo-rlvr-training/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/wshobson/agents/blob/main/plugins/llm-finetuning/skills/grpo-rlvr-training/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A IA recebe tarefas e tenta resolvê-las. Um sistema verifica automaticamente se a resposta está certa. Se estiver, a IA é recompensada e aprende a fazer melhor. Se errar, ela tenta de novo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add wshobson/agents --skill grpo-rlvr-training

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/llm-finetuning/skills/grpo-rlvr-training/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Treinamento GRPO & RLVR

Esta habilidade assume que finetuning-method-selection já foi roteado para cá porque o comportamento alvo tem um sinal verificável de sucesso/falha — não demonstrações (lora-qlora-recipes) ou pares de preferência (preference-optimization). O que se segue é quando RL é a ferramenta certa, a receita de referência, o portão obrigatório de inspeção de recompensa, e como escolher uma variante GRPO quando a receita base se comporta mal.

Entrada: uma decisão de roteamento (RLVR via GRPO) mais um verificador (executor de código, suíte de testes, verificador de esquema ou avaliador) para a tarefa alvo. Formato de saída: uma configuração GRPO validada — os valores de kwarg em references/grpo-memory.md e as funções de recompensa em references/reward-functions.md, não conselhos em formato livre — que llm-finetuning-training-engineer consome diretamente.

Quando RL se Aplica

GRPO+RLVR só compensa quando o sucesso da tarefa é verificável algoritmicamente — um teste unitário passa, um parser aceita a saída, uma chamada de ferramenta corresponde a um esquema esperado, uma resposta matemática corresponde a uma verdade fundamental. Se a avaliação da saída requer julgamento humano ou uma rubrica subjetiva, isso é um problema de "eval-harness" e calibração de juiz primeiro — veja eval-harness-first — não um motivo para pular direto para RL.

Antes de iniciar uma execução GRPO, confirme que o modelo pode às vezes ter sucesso na tarefa alvo já. RL aprimora uma capacidade existente, reponderando em direção às amostras que já funcionam; ele não instala uma capacidade do zero.

  • O modelo nunca tem sucesso, mesmo em baixa temperatura em várias amostras: a lacuna é formato ou compreensão da tarefa, não refinamento de política. Roteie de volta para SFT primeiro (lora-qlora-recipes) e retorne a esta habilidade apenas quando a taxa de sucesso base for não zero.
  • O modelo tem sucesso às vezes, inconsistentemente: este é o ponto ideal do GRPO — prossiga para A Receita abaixo.

A regra permanente para todo o plugin: DPO para gosto, GRPO para raciocínio. Se o sinal for uma preferência entre duas saídas aceitáveis, isso é preference-optimization, não esta habilidade.

A Receita

A receita de referência é GRPOTrainer da TRL com geração baseada em vLLM:

from trl import GRPOConfig, GRPOTrainer

grpo_args = GRPOConfig(
    output_dir="./outputs-grpo",
    use_vllm=True,
    vllm_mode="colocate",       # single GPU; "server" for multi-GPU
    num_generations=8,          # floor — fewer starves the group-relative baseline
    learning_rate=5e-7,         # settled range for GRPO
    beta=0.01,                  # KL coefficient vs the reference policy
    per_device_train_batch_size=8,
    gradient_accumulation_steps=4,
    bf16=True,
    logging_steps=10,
    seed=3407,
)

trainer = GRPOTrainer(
    model=SFT_CHECKPOINT,
    args=grpo_args,
    reward_funcs=[format_reward, correctness_reward],   # references/reward-functions.md
    train_dataset=prompts,       # prompt-only — GRPO generates its own completions
    processing_class=tokenizer,
)

trainer.train()
  • vllm_mode="colocate" executa a geração e o treinamento na mesma GPU — o padrão para uma máquina de GPU única.
  • vllm_mode="server" aponta para um processo servidor vLLM separado e é o caminho multi-GPU — geração e treinamento não competem pelo mesmo dispositivo.
  • num_generations ≥ 8 é um piso, não uma sugestão: a estimativa de vantagem do GRPO é relativa à média do grupo, e menos de 8 amostras por prompt produz uma linha de base ruidosa.
  • A recompensa é composta — uma recompensa de formato (a saída foi parseada / correspondeu à estrutura necessária) mais uma recompensa de correção (a resposta verificou). Uma resposta bem formada, mas errada, e uma malformada não devem pontuar identicamente; a correção sozinha perde esse sinal.
  • learning_rate=5e-7 e beta=0.01 são o ponto de partida estabelecido; desvie apenas após a execução base estar estável e a recompensa ter sido inspecionada (abaixo).

Dimensionamento de memória para esta receita por classe de tamanho alvo: references/grpo-memory.md.

A Regra de Inspeção

Execute a função de recompensa contra 50–100 saídas amostradas e leia manualmente os resultados antes de iniciar a execução de treinamento real. Este é um portão, não uma verificação de sanidade única.

Se o julgamento da função de recompensa discordar de uma leitura humana dessa amostra, corrija a função de recompensa primeiro. Treinar contra uma recompensa não inspecionada, ou ajustar hiperparâmetros para compensar uma que silenciosamente pontua a coisa errada, é como uma execução "reward-hacks": o modelo otimiza limpamente em direção ao alvo errado, e isso não surge como um bug no loop de treinamento.

…

Perguntas frequentes

O que é 'verificável'?

Significa que um computador pode dizer com certeza se a resposta está certa ou errada, sem precisar de um humano para julgar.

Quando não devo usar este recurso?

Se a tarefa exigir opinião humana, como escrever um poema ou dar um conselho, este recurso não é o ideal. Ele funciona melhor para tarefas com respostas objetivas.

O que acontece se a IA não consegue acertar nem um pouco?

Se a IA nunca acerta, mesmo com ajustes, talvez ela precise de um treinamento mais básico antes. Este recurso é para melhorar uma habilidade que a IA já tem um pouco, não para ensinar algo do zero.

Detalhes

Descrição original do autor

Train reasoning and verifiable-task behavior with GRPO and reinforcement learning from verifiable rewards (RLVR). Use when task success is algorithmically checkable (math, code, tool calls, structured output), when designing GRPO reward functions, or when a GRPO run diverges or reward-hacks.

repo: wshobson/agents

Popularidade

Estrelas no GitHub
41 mil
Posição no ranking
#4899
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas