Recursos/Treinamento de modelo/Métodos de treinamento

Métrica

Verificações retidas no ajuste fino por reforço

Quando um provedor executa um ajuste fino por reforço em um modelo de raciocínio hospedado, ele refaz algumas perguntas de validação retidas a cada poucas etapas e avalia as respostas com o mesmo avaliador. Cada pergunta se torna uma linha do tempo mostrando se o treinamento se transfere para perguntas nas quais o modelo nunca foi treinado.

Capítulo 76 min de leitura4 referências

O que eles são

Em modelos abertos, a Scalata pode mostrar os grupos reais de respostas que o avaliador pontuou. Em modelos de raciocínio hospedados, o próprio provedor executa o avaliador e não compartilha as respostas pontuadas durante o treinamento. O que ele compartilha é um conjunto de verificações retidas: a cada poucas etapas, ele faz um punhado de perguntas de validação nas quais o modelo nunca é treinado, e avalia essas respostas com o mesmo avaliador.

Como a primeira verificação ocorre na etapa 0, antes de qualquer treinamento, cada pergunta de validação se torna uma pequena linha do tempo: como a resposta à mesma pergunta mudou à medida que o treinamento avançou. Isso faz das verificações a melhor evidência disponível de que os ganhos se transferem para perguntas que o modelo não viu, e não apenas para aquelas em que praticou.

0.000.501.0005101520etapa de treinamento (0 = antes do treinamento)teto: 1,00 do início ao fimqueda, depois se recuperainício baixo, subindorecompensa de validaçãouma amostra ruim
Três perguntas reservadas, verificadas nas etapas 0, 5, 10, 15 e 20, além da recompensa de validação (tracejado, a média de todas as perguntas verificadas). A etapa 0 é o modelo antes do treinamento. Subir a partir de um início baixo é o aprendizado que se mantém; plano em 1,00 é um teto; uma única queda que se recupera é uma amostra infeliz. Números ilustrativos.

Lendo a linha do tempo

  • Baixa na etapa 0, depois aumentando: o sinal mais claro de um aprendizado que se transfere para novas perguntas.
  • 1,00 da etapa 0 em diante: um teto. O modelo já respondeu bem o suficiente, então esta pergunta não pode mostrar melhoria. Muitas destas significam que o avaliador é muito fácil, ou as perguntas são.
  • Uma queda no meio: ruído normal. Cada verificação é uma resposta amostrada, e uma amostra infeliz pode ter uma pontuação baixa. Observe a tendência ao longo das verificações e das perguntas, não em apenas um cartão.
  • Estagnada em todos os pontos abaixo do teto: o modelo não está encontrando respostas melhores. A causa comum é um modelo inicial que raramente acerta essas perguntas; uma execução supervisionada prévia ajuda.
Pergunta (ilustrativa)Etapa 05101520Leitura
Como exportar um dashboard para o PowerPoint?0.250.380.560.810.81Aprendizado, estabiliza após 15
Um cliente pode abrir um link compartilhado sem ter uma conta?0.500.690.750.940.94Aprendizado
Quais tipos de arquivo posso enviar?0.750.940.320.880.94Uma amostra ruim em 10
Como redefinir minha senha?1.001.001.001.001.00Teto: não diz nada
Recompensa de validação (média)0.630.750.660.910.92Ganho real; estável após 15
Lendo a execução ilustrativa acima
  1. As duas primeiras perguntas começam baixas e sobem: as respostas se moveram em direção aos fatos nas suas respostas de referência. Esse é o aprendizado para o qual você treinou.
  2. A terceira cai para 0,32 na etapa 10 e se recupera para 0,88 e 0,94. Uma amostra ruim, não uma tendência, mas ela puxa a média da etapa 10 para baixo de onde estaria de outra forma.
  3. A quarta pontua 1,00 do início ao fim. Ela já era bem respondida antes do treinamento, portanto não pode mostrar nada.
  4. A recompensa de validação sobe de 0,63 para 0,92, mas 0,91 na etapa 15 e 0,92 na etapa 20 são quase iguais. O checkpoint da etapa 15 é provavelmente tão bom quanto o modelo final.

Recompensa de validação vs recompensa de treinamento

O provedor relata duas recompensas. A recompensa de treinamento é a pontuação média do avaliador nas perguntas em que o modelo está sendo treinado naquela etapa; essas perguntas mudam de etapa para etapa, então o número oscila, e um modelo pode aumentá-lo melhorando exatamente naqueles prompts. A recompensa de validação é a média das verificações retidas: as mesmas perguntas todas as vezes, nunca usadas no treinamento. Confie mais nela, pelo mesmo motivo que a perda de validação supera a perda de treinamento. A documentação da OpenAI a descreve da mesma forma: os valores da recompensa de treinamento “podem flutuar drasticamente de etapa para etapa”, enquanto a recompensa de validação é “uma métrica mais estável”.

Verificações e checkpoints

Os provedores geralmente salvam um checkpoint nas mesmas etapas das verificações. Portanto, se as verificações pararem de melhorar na metade do caminho, o checkpoint correspondente pode ser tão bom quanto o modelo final, e uma execução mais curta teria custado menos. O ajuste fino por reforço hospedado é cobrado por hora de treinamento e os modelos de raciocínio escrevem respostas longas, de modo que cada etapa é lenta: observar onde as verificações estagnam é uma economia direta na próxima execução.

No que o modelo é treinado

O ajuste fino por reforço usa os mesmos chats do treinamento supervisionado, transformados em uma linha por resposta, terminando nessa resposta. A conversa até a resposta é o prompt; a própria resposta se torna uma referência que apenas o avaliador vê. Um chat com três respostas gera três linhas, e a referência de cada linha é apenas a sua última resposta, com as respostas anteriores mantidas no prompt como contexto.

Linha 1
desenvolvedor: suas instruçõesusuário 1→resposta 1referência, vista apenas pelo avaliador
Linha 2
desenvolvedor: suas instruçõesusuário 1resposta 1usuário 2→resposta 2referência, vista apenas pelo avaliador
Linha 3
desenvolvedor: suas instruçõesusuário 1resposta 1usuário 2resposta 2usuário 3→resposta 3referência, vista apenas pelo avaliador
Um chat com três respostas se transforma em três linhas de reforço. Cada linha termina em uma resposta: tudo antes dela é o prompt, e apenas essa resposta é a referência com a qual o avaliador faz a comparação. Para modelos de raciocínio hospedados, as instruções do sistema trafegam como uma mensagem de desenvolvedor.
Um chat, três linhas
chat:  system · user 1 · reply 1 · user 2 · reply 2 · user 3 · reply 3

row 1  prompt: developer · user 1                                   reference: reply 1
row 2  prompt: developer · user 1 · reply 1 · user 2                reference: reply 2
row 3  prompt: developer · user 1 · reply 1 · user 2 · reply 2 · user 3   reference: reply 3

Modelos de raciocínio hospedados (a série o) não aceitam uma mensagem system em exemplos de reforço. As mesmas instruções vão em uma mensagem developer, que esses modelos tratam da mesma forma que outros modelos tratam system; um arquivo de treinamento com uma mensagem de sistema nesse local falha na validação.

Uma linha de reforço para um modelo de raciocínio hospedado
{"messages": [
   {"role": "developer", "content": "You are Scalata's support assistant. Be brief."},
   {"role": "user",      "content": "How do I share a report with a client?"}],
 "reference": "Open the report → Share → pick the client. They get an email link."}

Métricas

Recompensa de validaçãoTípico Deve ter tendência de alta a partir da etapa 0; altos e baixos entre as verificações são normais#

A pontuação média do avaliador sobre as verificações retidas em uma etapa. As mesmas perguntas todas as vezes, nunca usadas no treinamento, de modo que é um sinal mais estável e honesto do que a recompensa de treinamento. Uma recompensa de validação crescente é um aprendizado que se transfere; uma que estagna marca onde uma execução mais curta teria sido suficiente.

Etapa 0Típico A linha de base para cada pergunta#

A verificação antes de qualquer treinamento: as respostas do modelo inicial às perguntas de validação. Todas as verificações posteriores são lidas em comparação a ela. Uma pergunta que já está alta na etapa 0 tem pouco espaço para mostrar melhoria.

TetoTípico No máximo algumas por execução#

Uma pergunta que pontua 1,00 da etapa 0 em diante. O avaliador não pode dar uma pontuação maior, então não pode mostrar nenhuma mudança. Algumas são normais; muitas significam que o avaliador ou as perguntas de validação são fáceis demais para medir o progresso.

Erros comuns

  • Ler apenas um cartão. Uma única verificação é uma resposta amostrada; avalie a tendência ao longo das verificações e perguntas.
  • Confiar em uma recompensa de treinamento crescente quando a recompensa de validação está estagnada. O modelo pode estar se ajustando aos prompts de treinamento ou burlando o avaliador.
  • Ignorar os tetos. Perguntas com 1,00 do início ao fim inflam a média e ocultam se houve alguma mudança.
  • Sempre usar o modelo final. Se as verificações estagnaram na metade do caminho, o checkpoint correspondente é igualmente bom e a próxima execução pode ser mais curta.
  • Escrever uma mensagem de sistema em arquivos de reforço criados manualmente para modelos da série o. Em vez disso, use uma mensagem de desenvolvedor.

Referências e leitura complementar

Fontes externas abrem em uma nova aba.

  1. 01Reinforcement fine-tuningOpenAI API docs · developers.openai.comO serviço RFT hospedado: arquivos de validação, recompensa de treinamento e validação, e checkpoints.
  2. 02GradersOpenAI API docs · developers.openai.comComo os avaliadores do provedor são definidos e o que eles leem de cada linha.
  3. 03Fine-tune a model with reinforcement fine-tuning in Microsoft FoundryMicrosoft Learn · learn.microsoft.comAjuste fino por reforço de modelos de raciocínio no Azure, incluindo dados de validação.
  4. 04Scaling Laws for Reward Model OveroptimizationGao, Schulman & Hilton, 2022 · arXiv · arxiv.orgPor que uma pontuação contra a qual o modelo é otimizado pode aumentar enquanto a verdadeira qualidade cai.

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