Datasets pra fine-tuning: curadoria, dedup, contaminação
- ⬜👍 DPO e RLHF simplificado: aprender com preferências(Fine-tuning & Customização de LLMs)
Recomendamos completar os pré-requisitos antes de seguir, mas nada te impede de continuar.
Onde o resultado é realmente decidido
Ajuste fino é uma das poucas áreas em que a qualidade do resultado depende muito mais do dado que do algoritmo. Com hiperparâmetros medianos e um conjunto excelente, o resultado é bom. O inverso não acontece.
E "qualidade" aqui não é volume. Mil exemplos consistentes superam dez mil com rótulos contraditórios — porque o modelo vai aprender a contradição, não a regra.
O teste mental que economiza semanas
Pegue 20 exemplos do seu conjunto e responda: uma pessoa nova no time conseguiria inferir a regra só olhando para eles? Se você mesmo hesita, o modelo não tem chance — e nenhuma quantidade de épocas conserta ambiguidade no rótulo.
O checklist, com o defeito que cada item impede
| Etapa | O defeito que ela impede |
|---|---|
| Equilíbrio entre tipos de caso | Conjunto com 80% de um tipo ensina o modelo a responder sempre aquele tipo. Ele acerta a média e falha em tudo o mais |
| Diversidade deliberada | Sem casos extremos e ambíguos, o modelo funciona em demonstração e falha na primeira entrada torta que a produção envia |
| Remoção de dado pessoal | O que entra nos pesos não sai. Dado pessoal em conjunto de treino é incidente que não tem correção — só retreino |
| Deduplicação exata e aproximada | A exata pega cópias idênticas. A aproximada pega o mesmo exemplo com uma palavra diferente — que o hash não vê, e que inflam o peso de um padrão |
| Verificação de contaminação | Exemplo de avaliação vazado para o treino faz a métrica medir memorização. Você aprova um modelo que decorou a prova |
| Revisão humana por amostra | Cem exemplos lidos à mão revelam o problema sistemático que nenhuma estatística mostra — rótulo trocado, formato inconsistente, instrução ambígua |
A ordem importa
Deduplicar ANTES de dividir treino e avaliação. Duplicatas separadas entre os dois conjuntos são contaminação por construção: o modelo viu aquele exemplo no treino e você o está usando para avaliar.
Por que a verificação de contaminação cruza o conjunto de treino com o de avaliação e com benchmarks públicos?
Dado sintético: o atalho e o preço dele
Gerar exemplos com um modelo grande é rápido e barato, e por isso virou padrão. O risco não é óbvio: o conjunto parece diverso e não é. Ele carrega os padrões, os vieses e as alucinações de um único gerador, concentrados.
- Alterne geradores. Dois ou três modelos diferentes produzem falhas diferentes, e a interseção delas é bem menor que a de um só.
- Varie os prompts de geração de forma estruturada — por domínio, por tom, por dificuldade. Prompt único gera mil variações da mesma frase.
- Revise uma amostra à mão, sempre. É onde se descobre que 30% dos exemplos gerados afirmam algo falso com confiança perfeita.
- Misture com dado real. Conjunto puramente sintético ensina o modelo a imitar outro modelo, e não a resolver o seu problema.
- Nunca gere a avaliação com o mesmo modelo que gerou o treino. Se gerar, você está medindo concordância entre duas amostras da mesma distribuição.
Onde o sintético é claramente bom
Aumentar a cobertura de casos raros que você não tem em volume: variação de formato, paráfrase de perguntas reais, casos extremos que quase nunca ocorrem. Gerar variação em torno de exemplos reais é bem mais seguro que gerar do zero.
Perguntas frequentes
❓ O que faz um conjunto de treino ser bom?
❓ Como detectar contaminação no conjunto?
❓ Vale gerar dado sintético para treinar?
Fixando
Deduplicação exata por hash não basta; o checklist pede também deduplicação aproximada. Que problema a segunda resolve?
Gerar exemplos sintéticos com um modelo grande é atalho comum. Qual é o risco principal e a mitigação indicada?
Terminou de ler?
Marcar como concluído registra o XP, mantém sua sequência e coloca 3 cartas deste módulo na fila de revisão espaçada.
Próximos passos sugeridos
Temas deste módulo
Discussão
Carregando comentários…