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
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á.
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.
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.
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.
- 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.
- Remover a interação 1: 3.700 tokens. Ainda acima do limite.
- Remover a interação 2: 2.400 tokens. Agora cabe, com 600 de sobra.
- 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.
- 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.
- 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.
- 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.
- 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.