Recursos/Treinamento de modelo/De chats a exemplos de treinamento

Conceito

Alvos (respostas treináveis)

As respostas do assistente que você escolhe para o modelo aprender: como um alvo é aprendido, o que faz um bom alvo e por que tudo o que o antecede é contexto.

Capítulo 33 min de leitura4 referências

O que é um alvo

O ajuste fino supervisionado ensina pelo exemplo: aqui está uma situação, aqui está a resposta que queremos. Em um chat, a situação é a conversa até o momento e a resposta é uma mensagem do assistente. As respostas que você marca como dignas de serem aprendidas são os alvos, também chamados de respostas treináveis. Tudo o que vem antes de um alvo é o seu contexto.

Um registro de treinamento — a última mensagem é o alvo
{"messages": [
  {"role": "system",    "content": "You are Scalata's support assistant."},
  {"role": "user",      "content": "How do I reset my password?"},
  {"role": "assistant", "content": "Open Settings → Security and choose Reset password. You'll get an email link valid for 30 minutes."}
]}

O modelo aprende um mapeamento: dado este prompt do sistema e esta pergunta, produza esta resposta. Ao longo de centenas de registros, ele capta o que as respostas têm em comum — o estilo do caminho do menu, o comprimento, o nível de detalhe, o tom.

systemVocê é o assistente de suporte da Scalata.lido · mascarado
userComo faço para redefinir minha senha?lido · mascarado
assistantAbra Configurações → Segurança e escolha Redefinir senha.avaliado · perda contabilizada
O modelo lê todos os tokens, mas seu erro é medido apenas na resposta alvo. O contexto molda a previsão; ele próprio nunca é avaliado.

Como um alvo é aprendido

Para cada alvo, o modelo lê o contexto e prevê a resposta um token por vez. Em cada posição, ele atribui uma probabilidade a cada possível próximo token, e o erro de treinamento — perda de entropia cruzada — é baixo quando ele atribui uma alta probabilidade ao token que realmente vem a seguir. Os pesos são então ajustados para que os tokens do alvo se tornem mais prováveis na próxima vez que um contexto semelhante aparecer. Os tokens de contexto são lidos, mas não pontuados; consulte Mascaramento de perda.

Duas consequências se seguem. Primeiro, o modelo aprende tudo sobre um alvo: seus fatos, formulação, comprimento e erros. Segundo, ele aprende cada alvo em seu contexto: uma resposta que está correta após uma pergunta pode estar errada após uma pergunta semelhante, e o modelo só consegue perceber a diferença se o contexto a mostrar.

Escolhendo bons alvos

  • Correto. Fatos incorretos, passos falhos e nomes de menus desatualizados são aprendidos tão fielmente quanto os corretos.
  • A resposta que você deseja, não a resposta que você obteve. Se uma resposta estava quase certa, corrija-a em vez de mantê-la como está.
  • Autossuficiente. Uma resposta que só faz sentido por causa de algo que o modelo não verá — um arquivo anexado, uma tela compartilhada — o ensina a se referir a coisas que não estão lá.
  • Consistente. Perguntas semelhantes devem receber respostas com formatos semelhantes, ou o modelo aprenderá a inconsistência.
  • Respostas reais. Mensagens de erro, recusas da plataforma e respostas que apenas anunciam um arquivo gerado não são respostas a serem aprendidas.
Escolhendo alvos em um chat de três respostas
  1. Resposta 1: “Olá! Como posso ajudar hoje?” — uma saudação. Inofensiva, mas não vale a pena ser aprendida; deixe-a como contexto.
  2. Resposta 2: “Por favor, verifique suas configurações.” — vaga. Corrija-a para os passos reais ou deixe-a como contexto.
  3. Resposta 3: “Abra Configurações → Notificações e desative ‘Resumo semanal’.” — específica e correta. Marque-a como um alvo.
  4. Resultado: um alvo, com a saudação e a resposta vaga como contexto. Se você corrigir a resposta 2, ela pode se tornar um segundo alvo.

Erros comuns

  • Marcar toda resposta do assistente como um alvo por padrão, incluindo saudações e texto de preenchimento.
  • Manter uma resposta quase certa como um alvo em vez de corrigi-la.
  • Incluir respostas que dependem de anexos ou resultados de ferramentas que o modelo não terá.
  • Treinar com uma resposta que posteriormente se descobriu estar errada.

Referências e leitura complementar

Fontes externas abrem em uma nova aba.

  1. 01SFT TrainerHugging Face TRL docs · huggingface.coComo um treinador de código aberto treina apenas com respostas do assistente.
  2. 02Supervised fine-tuningOpenAI API docs · developers.openai.comAs orientações de um provedor hospedado sobre a preparação de exemplos de treinamento.
  3. 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.orgAté onde 1.000 alvos cuidadosamente escolhidos podem chegar.
  4. 04Supervised Fine-TuningHugging Face LLM Course · huggingface.coUm passo a passo prático de ajuste fino supervisionado em dados de chat.

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