O que é
Um conjunto de treinamento é uma amostra das situações que um modelo encontrará. Ele contém um padrão que você deseja que seja aprendido, como a forma como o seu assistente responde e em qual tom e formato, e um ruído que você não deseja: a formulação exata de uma resposta, um erro de digitação, as peculiaridades da pergunta de um cliente. Um modelo generaliza quando capta o padrão. Ele sofre overfitting quando também se ajusta ao ruído, e sofre underfitting quando não capta o padrão.
Como identificar
O sinal mais claro está nas curvas de perda. A perda de treinamento pode continuar caindo enquanto o modelo puder memorizar mais. A perda de validação, medida em conversas nas quais o modelo nunca foi treinado, para de cair quando o modelo aprende o que generaliza, e aumenta assim que ele começa a memorizar.
Em um modelo de linguagem com fine-tuning, o overfitting também aparece nas próprias respostas.
- Cópia literal: frases, sentenças inteiras e até mesmo nomes e números das respostas de treinamento aparecem em respostas a perguntas não relacionadas.
- Respostas prontas: uma resposta bem representada é dada a perguntas que apenas se assemelham à sua pergunta original.
- Perda de flexibilidade: perguntas formuladas como os dados de treinamento funcionam bem, as formuladas de maneira diferente falham, e as tarefas gerais que o modelo base executava pioraram.
- Invenção confiante: o modelo imita o estilo de respostas específicas e detalhadas, como menus nomeados e etapas numeradas, sem o conhecimento por trás delas, e inventa os detalhes.
Por que acontece
| Causa | Por que isso leva à memorização |
|---|---|
| Exemplos insuficientes | Com poucos dados, memorizar cada resposta é a maneira mais fácil de reduzir a perda |
| Muitas épocas | Cada passagem mostra as mesmas respostas novamente, até que o modelo as reconheça |
| Taxa de aprendizado muito alta | Grandes atualizações se ajustam a exemplos individuais rapidamente |
| Duplicatas e respostas repetidas | Uma resposta que aparece muitas vezes é aprendida como uma resposta fixa |
| Dados restritos | O modelo nunca vê como as perguntas reais variam, portanto, não consegue aprender o que varia |
| Capacidade excessiva para os dados | O fine-tuning completo ou um adaptador grande em um conjunto pequeno tem espaço para armazenar exemplos |
Como evitar
- Pare no melhor ponto. Use o número de épocas em que a perda de validação foi a menor, ou um checkpoint desse ponto. Isso é a parada antecipada, a proteção mais simples e eficaz.
- Menos épocas ou uma taxa de aprendizado menor. Ambas limitam o quanto os pesos se distanciam do modelo base.
- Mais dados e mais variados. Cubra as diferentes maneiras como as pessoas realmente perguntam, incluindo perguntas curtas e vagas. Algumas centenas de exemplos variados ensinam mais do que mil quase duplicados.
- Remova duplicatas e respostas excessivamente repetidas antes do treinamento.
- Regularização: Dropout do LoRA, decaimento de pesos ou simplesmente um rank de adaptador menor, o que limita o quanto pode ser armazenado.
- Execução A: 6 épocas, multiplicador 2. A perda de treinamento atinge 0.15. A perda de validação é menor após a época 2 e termina bem acima desse mínimo. No chat de teste, as respostas reutilizam frases inteiras das respostas de treinamento.
- Execução B: 2 épocas, multiplicador 1. A perda de treinamento termina em 0.6 e a perda de validação termina perto do seu mínimo. As respostas mantêm o estilo da empresa, mas são formuladas de forma inédita para cada pergunta.
- Conclusão: A menor perda de treinamento da Execução A é o problema, não a conquista. A Execução B generaliza e custou um terço do valor para ser treinada.
Underfitting
O underfitting é a falha oposta: nem a perda de treinamento nem a de validação caem muito, e o modelo ajustado responde de forma muito parecida com o modelo base. As causas são pouco treinamento (poucas épocas ou etapas, ou uma taxa de aprendizado muito baixa) ou dados sem um padrão consistente, como respostas que abordam perguntas semelhantes de maneiras contraditórias. Verifique os dados primeiro. Aumentar as épocas ou a taxa de aprendizado em dados inconsistentes ensina principalmente a inconsistência.
Erros comuns
- Julgar uma execução pela sua perda de treinamento. A menor perda de treinamento geralmente pertence à execução com maior overfitting.
- Tentar consertar um modelo fraco com mais épocas no mesmo conjunto de dados pequeno.
- Pular a divisão de validação para manter todos os exemplos para o treinamento e perder a única maneira de ver o overfitting.
- Deixar que duplicatas ou uma única resposta pronta dominem os dados.
- Validar em conversas que também aparecem no treinamento, o que oculta o overfitting completamente.
Referências e leitura complementar
Fontes externas abrem em uma nova aba.
- 01OverfittingGoogle Machine Learning Crash Course · developers.google.comGeneralização, overfitting e o papel de um conjunto reservado, com exemplos interativos.
- 02OverfittingWikipedia · en.wikipedia.org
- 03Early stoppingWikipedia · en.wikipedia.orgParar no ponto de menor erro de validação, a proteção mais comum contra o overfitting.
- 04Regularization for Deep LearningGoodfellow, Bengio & Courville · Deep Learning, chapter 7 · deeplearningbook.orgA abordagem clássica de decaimento de pesos, dropout, parada antecipada e aumento de dados.