Recursos/Treinamento de modelo/Preparação de dados

Configuração

Prompt do sistema

O prompt do sistema é uma instrução permanente colocada antes de cada conversa. Adicionado no momento do treinamento, o modelo aprende seu comportamento na presença desse prompt exato, portanto, ele deve permanecer o mesmo quando o modelo for utilizado.

Capítulo 54 min de leitura3 referências

O que é

Um chat possui três papéis: usuário, assistente e sistema. A mensagem de sistema vem primeiro e não é dita por ninguém na conversa; é uma instrução permanente — quem é o assistente, o que ele deve e não deve fazer, qual o comprimento e em que formato ele responde. No uso diário, é assim que você direciona um modelo sem treiná-lo novamente.

Na preparação de dados, o prompt de sistema é uma configuração opcional que é inserida no topo de cada registro de treinamento. Ele transforma um monte de chats individuais em exemplos de um assistente consistente.

Como funciona durante o treinamento

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.

Assim como a mensagem do usuário, o prompt de sistema é contexto: o modelo o lê ao prever a resposta-alvo, mas o erro é medido apenas nos tokens-alvo. Portanto, o treinamento não ensina o modelo a escrever o prompt; ele ensina ao modelo como as respostas se parecem quando esse prompt está presente.

Esse condicionamento é a parte importante. Antes de chegar ao modelo, um chat é achatado em uma única sequência de tokens usando o template de chat do modelo, com tokens especiais marcando onde as partes do sistema, do usuário e do assistente começam. O comportamento aprendido do modelo está associado a essa sequência exata. Se mais tarde você usar um prompt de sistema diferente — ou nenhum — a entrada não se parecerá mais com aquilo em que o modelo foi treinado, e o comportamento aprendido será transferido apenas parcialmente. O mesmo motivo explica por que a documentação do Hugging Face enfatiza a formatação dos dados de treinamento com o mesmo template de chat que o modelo verá em uso.

um registro de treinamento com um prompt de sistema
{"messages": [
  {"role": "system",    "content": "You are the support assistant for Acme Billing. Answer in two to four short sentences. Name the exact menu path. If you are not sure, say so and offer to connect a human."},
  {"role": "user",      "content": "How do I download last month's invoice?"},
  {"role": "assistant", "content": "Go to Billing → Invoices, pick last month and choose Download PDF. Invoices appear on the 2nd of each month."}
]}

O que incluir nele

  • Identidade e escopo: de quem é o assistente e com o que ele ajuda.
  • Estilo de resposta: comprimento, estrutura, se deve usar listas, o que fazer quando houver incerteza.
  • Regras estritas que os exemplos podem não cobrir, como nunca cotar preços ou sempre oferecer atendimento humano.
  • Não conhecimento. Fatos pertencem aos exemplos (ou à recuperação em tempo de execução); um prompt cheio de detalhes do produto é longo, custoso e fica obsoleto.

Certifique-se de que o prompt e as respostas-alvo estejam de acordo. Se o prompt disser “responda em duas frases”, mas metade dos alvos forem longos tutoriais passo a passo, o modelo aprenderá que a instrução não significa muito — e poderá ignorá-la em outros lugares também.

Exemplo prático: o que a alteração do prompt faz
  1. Um modelo é treinado em 1.500 chats de suporte com o prompt de aproximadamente 50 tokens acima. Suas respostas são curtas, indicam o caminho do menu e oferecem atendimento humano quando há incerteza.
  2. Em uso, alguém substitui o prompt por um de 400 tokens listando todos os recursos do produto. As respostas ficam mais longas e o hábito de “oferecer atendimento humano” aparece com menos frequência: a entrada não corresponde mais ao treinamento.
  3. Restaurar o prompt original traz de volta o comportamento treinado. Se as novas instruções forem realmente necessárias, adicione-as ao prompt de treinamento e treine novamente.
  4. Custo: 50 tokens × 1.500 registros × 3 épocas = 225.000 tokens de treinamento apenas para o prompt. A versão de 400 tokens custaria 1,8 milhão.
Prompt do sistemaTípico 1–5 frases#

Texto opcional adicionado antes de cada conversa. Algumas frases sobre identidade, escopo e estilo de resposta geralmente são suficientes; deixe em branco apenas se o modelo for sempre utilizado sem um.

Erros comuns

  • Treinar com um prompt de sistema e implantar com outro, para depois concluir que o ajuste fino “não funcionou”.
  • Empacotar fatos no prompt que pertencem aos exemplos ou à recuperação.
  • Um prompt que contradiz as respostas-alvo, ensinando ao modelo que suas instruções são opcionais.
  • Esquecer o custo em tokens: um prompt longo é pago em cada registro, em cada época e em cada solicitação posterior.

Referências e leitura complementar

Fontes externas abrem em uma nova aba.

  1. 01Chat templatesHugging Face Transformers docs · huggingface.coComo as mensagens do sistema, do usuário e do assistente se tornam uma única sequência de tokens, e por que o treinamento e o uso devem corresponder.
  2. 02Supervised fine-tuningOpenAI API docs · developers.openai.comExemplos de treinamento no formato de chat, incluindo a mensagem do sistema.
  3. 03Prepare data for fine-tuning your modelsAmazon Bedrock User Guide · docs.aws.amazon.comUm formato com um campo de sistema separado por registro.

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