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

Configuração

Limites de tokens e cortes

Todo provedor limita a quantidade de tokens que um exemplo de treinamento pode conter. Conversas longas que ultrapassam o limite são cortadas — as trocas mais antigas são removidas primeiro — ou descartadas.

Capítulo 54 min de leitura3 referências

O que é

Um modelo lê o texto como tokens, e o treinamento processa cada exemplo como uma sequência de tokens. Os provedores definem um limite de tokens por exemplo: a sequência mais longa que um único registro de treinamento pode conter. Muitas vezes, esse limite é menor do que a janela de contexto do modelo em uso normal, porque o treinamento precisa de memória não apenas para ler os tokens, mas também para calcular como cada peso deve mudar.

A maioria dos chats de suporte cabe facilmente. Os que não cabem são longas threads de solução de problemas, conversas onde alguém colou um arquivo de log ou chats que se estenderam por uma tarde. Cada um deles exige uma decisão.

Como funciona

o orçamento
record tokens = system prompt + every earlier turn + the target reply
fits          = record tokens ≤ per-example limit

rough estimate: tokens ≈ characters ÷ 4   (English text)

Cortar funciona de trás para frente a partir da resposta desejada. O prompt do sistema e o alvo são sempre mantidos, depois as trocas de mensagens são removidas a partir do início da conversa até que o total caiba. As trocas são removidas por inteiro — uma mensagem do usuário junto com a resposta a ela — para que o registro nunca comece com uma resposta solta a uma pergunta que já não está lá.

systemVocê é o assistente de suporte para…250 · mantido
user · asstInteração 1: configurando a conta1,500 · cortado
user · asstInteração 2: importando os dados do ano passado1,300 · cortado
user · asstInteração 3: a importação falhou na linha 2121,200 · mantido
userEntão, como eu corrijo a linha 212?350 · mantido
assistantA linha 212 tem uma data no formato incorreto. Altere para…600 · alvo, mantido
Uma conversa de 5.200 tokens e um limite de 3.000 tokens. O corte remove interações inteiras a partir da extremidade mais antiga até que o registro caiba, para que o prompt do sistema, o contexto recente e a resposta-alvo sobrevivam intactos.

Por que a parte mais antiga? Para a maioria dos chats, o contexto mais relevante é o mais recente: a pergunta sendo respondida, a mensagem de erro recém-citada, a última coisa que o assistente sugeriu. Pesquisas sobre entradas longas também mostram que os modelos usam melhor as informações no início e no fim de seu contexto do que o material enterrado no meio (Liu et al., 2023), portanto, um registro mais curto e focado perde menos do que a contagem de tokens sugere.

Descartar exclui o registro. Use esta opção quando a parte inicial de uma conversa for essencial para a resposta — por exemplo, quando o usuário informa o tipo de conta ou uma restrição fundamental na primeira mensagem e a resposta desejada depende disso. Uma versão cortada de um chat assim ensinaria o modelo a responder sem as informações de que ele realmente precisava, o que é uma forma silenciosa de ensiná-lo a adivinhar.

CortarTípico Padrão#

Remove as trocas de mensagens mais antigas até que o registro caiba, mantendo o prompt do sistema, o contexto mais recente e o alvo. Mantém todos os exemplos no conjunto de dados.

Descartar#

Exclui qualquer registro que ultrapasse o limite. Escolha esta opção quando as respostas dependerem de detalhes fornecidos no início de conversas longas, ou quando apenas alguns registros forem afetados.

Exemplo prático: uma conversa de 5.200 tokens e um limite de 3.000 tokens
  1. O registro contém um prompt de sistema de 250 tokens, três interações anteriores de 1.500, 1.300 e 1.200 tokens, a pergunta do usuário (350) e a resposta alvo (600): 5.200 tokens.
  2. Remover a interação 1: 3.700 tokens. Ainda acima do limite.
  3. Remover a interação 2: 2.400 tokens. Agora cabe, com 600 de sobra.
  4. O registro treinado mantém o prompt do sistema, a interação 3 (onde o erro de importação foi citado), a pergunta e a resposta — tudo a que o alvo realmente se refere.
  5. Se o usuário tivesse dito “Estou no plano legado” na interação 1 e a resposta dependesse disso, Descartar teria sido a escolha mais segura.

Por que as contagens são estimativas

Cada família de modelos tem seu próprio tokenizador, de modo que a mesma frase pode ter 20 tokens para um modelo e 24 para outro. As contagens exibidas antes do treinamento são, portanto, estimativas (o inglês tem em média cerca de quatro caracteres por token); o provedor faz a contagem exata quando recebe o arquivo. Códigos, números, URLs e textos que não estão em inglês geralmente consomem mais tokens por caractere do que o inglês simples, portanto, deixe uma margem de segurança quando seus dados estiverem repletos de qualquer um desses elementos.

Erros comuns

  • Esquecer que o prompt do sistema é contabilizado em cada registro: um prompt de 600 tokens deixa 600 tokens a menos para a conversa.
  • Cortar conversas cuja resposta depende de algo dito no início, e depois se perguntar por que o modelo inventa detalhes da conta.
  • Presumir que a estimativa é exata e chegar bem perto do limite com dados repletos de códigos ou números.
  • Ignorar quantos registros foram cortados: se for a maioria, o conjunto de dados pode se adequar melhor a um modelo com um limite maior.

Referências e leitura complementar

Fontes externas abrem em uma nova aba.

  1. 01Lost in the Middle: How Language Models Use Long ContextsLiu et al., 2023 · arXiv · arxiv.orgOs modelos usam melhor as informações no início e no fim de entradas longas do que no meio.
  2. 02Prepare data for fine-tuning your modelsAmazon Bedrock User Guide · docs.aws.amazon.comLimites reais de tokens por exemplo para vários modelos, lado a lado.
  3. 03Prepare supervised fine-tuning data for Gemini modelsGoogle Cloud documentation · docs.cloud.google.comRequisitos de conjunto de dados de outro provedor, incluindo limites de tamanho.

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