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

Etapa do pipeline

Limpeza

A limpeza remove as respostas com as quais um modelo nunca deveria aprender — erros, recusas, marcação de interface, duplicatas e respostas prontas — e corrige a estrutura para que cada registro seja válido para o treinamento.

Capítulo 55 min de leitura4 referências

O que é

Os registros reais de chat são desorganizados. Junto às respostas que você deseja que o modelo copie, eles contêm mensagens de erro, recusas de uma camada de segurança, marcações que apenas a interface do chat entende, respostas que apenas dizem que um arquivo está pronto e a mesma conversa salva duas vezes. A limpeza é o primeiro passo da preparação de dados: ela remove ou repara esses registros antes que qualquer coisa seja convertida em um arquivo de treinamento.

Isso é importante porque o fine-tuning não tem a noção de um "mau exemplo". Cada resposta-alvo que chega ao arquivo de treinamento é tratada como a resposta certa, e o modelo é induzido a torná-la mais provável. Uma mensagem de erro usada como alvo dez vezes ensina ao modelo que mensagens de erro são uma resposta normal.

Como funciona

Cada etapa busca um padrão específico e cada uma tem um motivo fundamentado em como o treinamento funciona. Algumas etapas removem uma resposta-alvo (ela permanece legível como contexto, apenas não é avaliada); outras removem um registro inteiro ou reescrevem sua estrutura.

EtapaO que ele detectaPor que isso prejudicaria o treinamento
Marcação de interfaceTags que a interface do chat usa para renderizar botões, painéis retráteis e similaresUm modelo usado fora dessa interface imprimiria tags brutas em suas respostas
Respostas de erro“Erro ao processar a consulta…” e falhas de sistema semelhantesO modelo aprenderia a falhar de propósito
Bloqueios de guardrailRecusas inseridas por uma camada de segurança da plataforma, não escritas pelo modeloEnsina recusas para perguntas que poderiam ser respondidas sem problemas
Anúncios de arquivosRespostas curtas cuja saída real foi um arquivo gerado, por exemplo, “Sua apresentação está pronta”O arquivo não está no texto, então o modelo aprende a afirmar ter feito um trabalho que não fez
EstruturaUma conversa que começa com o assistente; duas mensagens seguidas do mesmo papelOs formatos de treinamento exigem turnos alternados entre usuário e assistente, começando pelo usuário
DuplicatasA mesma conversa com a mesma resposta, salva ou importada duas vezesConta um exemplo duas vezes: mais peso, mais memorização, nenhuma informação nova
Respostas repetidasUma resposta idêntica usada como alvo muitas vezes, como uma saudação ou um aviso legal padronizadoAlgumas frases feitas dominariam e o modelo as utilizaria em todos os lugares
Alvos antes da limpeza1,850
Respostas de erro−38
Bloqueios de guardrail−12
Avisos de arquivo−27
Conversas duplicadas−64
Respostas repetidas, limitadas−41
Alvos que treinam1,668
Uma passagem de limpeza ilustrativa sobre 1.850 respostas-alvo. Cada etapa remove uma pequena parcela, mas juntas eliminam cerca de um alvo em cada dez — e essas são exatamente as respostas que teriam ensinado o modelo de forma incorreta.

As duplicatas merecem atenção especial. Pesquisas sobre grandes conjuntos de treinamento descobriram que o texto repetido é um dos principais impulsionadores da memorização: Lee et al. (2021) mostraram que a desduplicação de dados de treinamento fez com que os modelos emitissem texto memorizado dez vezes menos frequentemente, e Carlini et al. (2022) descobriram que a frequência com que uma sequência é duplicada é um dos indicadores mais fortes de se um modelo a repetirá palavra por palavra. Um conjunto de fine-tuning é muito menor, portanto, uma única conversa repetida cinco vezes representa uma grande parte do que o modelo vê.

A etapa de limite de respostas repetidas é mais branda do que a desduplicação. Uma resposta curta e idêntica como "Fico feliz em ajudar — mais alguma coisa?" pode ser perfeitamente adequada, por isso é mantida até um limite e apenas as cópias excedentes deixam de ser alvos. O modelo ainda aprende a frase, sem aprender a dizê-la para tudo.

Exemplo prático: 1.850 alvos entram, cerca de 1.670 saem
  1. Uma equipe de suporte seleciona 1.000 conversas contendo 1.850 respostas do assistente marcadas como alvos.
  2. 38 alvos são respostas de erro de uma semana de interrupção do serviço e 12 são recusas de proteção. Todos os 50 deixam de ser alvos.
  3. 27 alvos são mensagens do tipo “Seu relatório está pronto”, cuja saída real era um PDF. Removidos: apenas o texto não pode ensinar o modelo a produzir um PDF.
  4. 64 alvos estão em conversas que foram importadas duas vezes. Uma cópia de cada é mantida.
  5. A despedida “Há mais alguma coisa em que eu possa ajudar?” aparece como alvo 71 vezes. Com um limite de, digamos, 30, 41 cópias deixam de ser alvos.
  6. Restam 1.668 alvos, cerca de 90%. O treinamento custa um pouco menos, e os 10% removidos eram as respostas com maior probabilidade de piorar o modelo.

Quando é importante

  • Sempre para logs de um produto em produção. Interrupções, camadas de segurança e recursos de interface deixam rastros que se parecem com respostas.
  • Mais para conjuntos de dados pequenos. Com 200 alvos, dez ruins representam 5% do sinal; com 20.000, eles são ruído.
  • Chats importados. Exportações de outras ferramentas frequentemente contêm conversas repetidas ou parcialmente sobrepostas.
  • Quando o modelo for executado fora da interface de chat. É nesse momento que a marcação de UI deve ser removida; mantenha-a apenas se o modelo for usado na mesma interface que a renderiza.
Manter marcação de interfaceTípico Desativado#

Desativado por padrão. Ative-o apenas se o modelo treinado for responder dentro da mesma interface de chat que entende essas tags e se você quiser que ele continue produzindo botões e seções retráteis.

Erros comuns

  • Presumir que um grande conjunto de dados torna a limpeza desnecessária: duplicatas e respostas prontas crescem junto com o conjunto de dados.
  • Treinar com respostas como "Seu arquivo está pronto" e depois se perguntar por que o modelo afirma ter criado arquivos que nunca produziu.
  • Manter a marcação de interface para um modelo que será executado em outro produto, onde as tags aparecem como texto bruto.
  • Corrigir os sintomas em cada preparação em vez da origem: se muitas respostas forem erros ou recusas, os chats subjacentes ou o fluxo do produto precisam de atenção.
  • Desduplicar por mensagem em vez de por conversa, o que pode deixar uma resposta sem a pergunta que a explica.

Referências e leitura complementar

Fontes externas abrem em uma nova aba.

  1. 01Deduplicating Training Data Makes Language Models BetterLee et al., 2021 · arXiv · arxiv.orgMostra quanto texto repetido existe em conjuntos de dados reais e como sua remoção reduz a memorização.
  2. 02Quantifying Memorization Across Neural Language ModelsCarlini et al., 2022 · arXiv · arxiv.orgA memorização cresce com o tamanho do modelo, com a frequência com que um exemplo é duplicado e com o comprimento do prompt.
  3. 03LIMA: Less Is More for AlignmentZhou et al., 2023 · arXiv · arxiv.org1.000 exemplos cuidadosamente selecionados foram suficientes para obter resultados sólidos: qualidade acima de quantidade.
  4. 04Supervised fine-tuningOpenAI API docs · developers.openai.comA visão de um provedor sobre o que um exemplo de treinamento deve conter.

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