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

preference-optimization

Ajuda seu agente a ajustar um modelo de IA com base em feedback humano. É útil quando você tem dados de preferência para guiar o modelo.

O que ela faz

Esta ferramenta ajuda a melhorar um modelo de IA usando dados de preferência. Ela ajusta o modelo para que ele siga melhor as preferências humanas, usando métodos como DPO, ORPO, KTO ou SimPO.

Quando usar

  • ✓Quando você tem pares de respostas preferidas ou feedback de 'gostei/não gostei'.
  • ✓Quando precisa escolher entre diferentes métodos de otimização de preferência.
  • ✓Quando um teste com DPO precisa de ajustes nos parâmetros ou solução de problemas.

Exemplo do que pedir para a IA

“Como posso ajustar meu modelo para que ele prefira respostas mais curtas e úteis, usando dados de feedback?”

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/preference-optimization/SKILL.md

Mensagem pronta para colar

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

A ferramenta compara diferentes respostas e usa seu feedback para treinar o modelo a escolher a melhor opção. Ela seleciona o método mais adequado com base no tipo de dados de preferência que você tem.

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 preference-optimization

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/wshobson/agents/main/plugins/llm-finetuning/skills/preference-optimization/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.

Otimização de Preferências

Esta habilidade assume que finetuning-method-selection já foi roteada para cá porque a forma dos dados é de pares de preferências ou feedback de "gostei"/"não gostei" sem par, não demonstrações (isso é lora-qlora-recipes) ou um sinal de recompensa verificável (isso é grpo-rlvr-training). O que segue é a seleção de método entre a família DPO, a evidência de o quanto essa seleção realmente importa, o padrão de treinamento de produção e como construir os pares em primeiro lugar.

Entrada: uma decisão de roteamento (otimização de preferência) mais pares de preferências ou feedback sem par, geralmente de um checkpoint SFT. Formato de saída: uma escolha de método validada mais uma configuração — os valores de kwarg em references/method-configs.md, não conselhos em formato livre — que llm-finetuning-training-engineer consome diretamente.

Seleção de Método

Forma dos dados Método Parâmetros chave
Pares de preferências, caso padrão DPO β=0.1, LR 5e-7–1e-6, 1–2 épocas
Limite de memória ou sem checkpoint SFT ORPO sem referência, SFT+preferência fundidos em uma única perda
"Gostei"/"Não gostei" sem par KTO rótulo binário por exemplo, sem necessidade de pareamento
Viés de comprimento observado, orçamento de varredura disponível SimPO sem referência; veja a grade de varredura abaixo
  • DPO é o padrão seguro. Use β=0.1 e uma taxa de aprendizado de 5e-7 a 1e-6 por 1–2 épocas. Esta LR é menor que a LR SFT que produziu o checkpoint que está sendo alinhado — portar uma LR em escala SFT para uma execução DPO é a configuração incorreta mais comum aqui, não um caso extremo.
  • ORPO é usado quando a memória é a restrição, ou quando não há um checkpoint SFT separado para começar — é sem referência e funde os objetivos SFT e de preferência em uma única perda, pulando a passagem SFT separada e o custo de memória do modelo de referência que o DPO carrega.
  • KTO é usado quando o feedback é um sinal binário sem par (gostei/não gostei) em vez de pares de preferências combinados — não force feedback sem par em pares sintéticos para usar DPO em vez disso.
  • SimPO corrige o viés de comprimento do DPO, mas só compensa com varreduras disciplinadas — seus ganhos publicados são um teto relatado sob uma varredura ajustada, não uma linha de base que qualquer configuração única reproduzirá. Use-o apenas quando houver orçamento de varredura; use DPO em vez disso se não houver.
  • RLHF Clássico (modelo de recompensa + PPO) foi aposentado fora dos laboratórios de ponta. Não o utilize em um pipeline de produção — cada método acima é mais barato e tem melhor suporte para as mesmas formas de dados.

Exemplos Práticos

  • "Temos um checkpoint SFT e dados de preferência pareados limpos, sem reclamações de viés de comprimento ainda." → caso padrão → DPO em β=0.1.
  • "Revisores clicam em gostei/não gostei por resposta; nada é pareado." → sinal sem par → KTO, não DPO — não sintetize pares para forçar DPO em dados sem par.
  • "O orçamento de GPU não cobre uma passagem SFT separada mais um modelo de referência DPO." → limite de memória, sem checkpoint separado → ORPO.
  • "A saída DPO favorece respostas mais longas, independentemente da qualidade, e há tempo para executar uma varredura." → viés de comprimento mais orçamento de varredura → SimPO. Pule-o se o orçamento de varredura não estiver realmente disponível.

A Verdade de Baixo Alavancagem

Um estudo de 2026 com 240-H100 (arXiv 2603.19335) é a evidência fundamental por trás da tabela acima: a escolha da função de perda vale cerca de 1 ponto percentual de alavancagem, a escala do modelo vale cerca de 50. Zero de 20 variantes DPO testadas superaram o DPO vanilla. Os rankings também invertem com a escala — uma variante que vence em um pequeno piloto pode perder no tamanho de implantação.

Duas consequências práticas:

  • Não gaste uma decisão de roteamento agonizando sobre disputas de variantes DPO. A tabela acima é suficiente; a seleção de variantes mais profunda tem baixa alavancagem em comparação com a qualidade e escala dos dados.
  • Valide na escala de implantação antes de confiar em um ranking. Uma comparação de métodos executada em um modelo piloto pequeno não se transfere para a classe de tamanho de produção — verifique novamente o vencedor quando a escala mudar.

É por isso também que a tabela de Seleção de Método acima é deliberadamente curta: ela codifica a alavancagem de ~1pp, não um ranking de variantes DPO que o mesmo estudo mostra não se sustentar em diferentes escalas. Trate qualquer conselho de seleção de variantes que não esteja nessa tabela — incluindo conselhos que afirmam que uma variante específica "vence" — como não comprovado até que tenha sido validado no tamanho de implantação alvo.

Padrão de Produção: DPO Iterativo On-Policy

Uma única passagem DPO offline em um conjunto de dados de preferência estático é um ponto de partida, não a produção

…

Perguntas frequentes

Qual método devo usar se tenho feedback de 'gostei/não gostei' para cada resposta, mas elas não estão comparadas em pares?

Use KTO. Ele é feito para feedback não pareado, onde cada resposta recebe uma avaliação individual.

Por que DPO é o método padrão recomendado?

DPO é uma escolha segura e funciona bem na maioria dos casos com dados de preferência em pares. Ele usa configurações padrão recomendadas para começar.

O que é 'viés de comprimento' e quando devo me preocupar com ele?

Viés de comprimento significa que o modelo pode preferir respostas mais longas apenas por serem longas, não por serem melhores. Se isso for um problema e você tiver recursos para testar, SimPO pode ajudar.

Detalhes

Descrição original do autor

Align a fine-tuned model with preference data using DPO, ORPO, KTO, or SimPO. Use when preference pairs or thumbs-up/down feedback exist, when choosing between preference-optimization methods, or when a DPO run needs hyperparameters or debugging.

repo: wshobson/agents

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas