O que é contração de treinamento e quando ela realmente começa
A contração de treinamento é um fenômeno que ocorre durante o ajuste fino de modelos de linguagem, especialmente quando se trabalha com técnicas como LoRA ou quantização pós-treinamento. A ideia central é simples: os pesos do modelo começam a se aproximar de valores mais baixos ou mais concentrados ao longo do treinamento, e isso afeta diretamente a capacidade do modelo de generalizar. O problema é que a maioria dos tutoriais fala sobre isso de forma muito genérica, sem dizer exatamente quando esse processo se inicia ou como identificar que está acontecendo.
contração de treinamento quando começa
A contração não é algo que acontece do dia para a noite. Ela começa tipicamente nos primeiros 10% a 20% do treinamento, quando o modelo ainda está explorando o espaço de parâmetros. O que você observa na prática é uma redução gradual na magnitude dos gradientes e, em alguns casos, uma diminuição nos valores dos pesos adaptativos. Isso é particularmente visível quando se usa Learning Rate Decay agressivo ou quando o dataset de treinamento é pequeno demais para o rank do LoRA que você escolheu. Já vi isso acontecer de forma bem específica num projeto onde estávamos ajustando um modelo de 7 bilhões de parâmetros com LoRA rank 16 e um learning rate de 5e-4. Nos primeiros 50 steps, a loss caía normalmente. A partir do step 150, comecei a notar que os embeddings de saída estavam produzindo respostas cada vez mais genéricas, mesmo com a loss ainda diminuindo. O problema era que a contração já tinha começado silenciosamente e o modelo estava "esquecendo" nuances do dataset de fine-tune enquanto mantinha a performance média alta.
👉 Clique no botão abaixo para saber mais sobre o assunto!
A workaround que funcionou foi dobrar o rank do LoRA para 32, reduzir o learning rate para 2e-4 e, o mais importante, adicionar um warmup de 100 steps antes de iniciar o decay. Isso deu ao modelo espaço suficiente para explorar sem entrar em colapso prematuro. O treinamento levou cerca de 30% mais tempo, mas a qualidade das saídas melhorou significativamente e a perda de capacidade criativa que tínhamos observado desapareceu. Outro ponto que pouca gente menciona: a contração de treinamento não é sempre ruim. Em datasets muito grandes e bem balanceados, uma contração moderada nos primeiros 15% do treinamento pode ser sinal de convergência saudável. O indicator chave é a divergência entre loss de treino e loss de validação. Se a loss de treino continua caindo mas a de validação estabiliza ou sobe, você provavelmente está vendo contração excessiva, não aprendizado real.
Há também a questão da quantização. Se você planeja quantizar o modelo após o fine-tune, a contração durante o treinamento pode ser benéfica, pois pesos menores se comportam melhor após a compressão. Nesse caso, eu costumo ajustar o warmup e o decay para acelerar levemente a contração controlada nos primeiros 30% do treino. Modelos quantizados com essa estratégia tendem a manter até 95% da performance original com apenas 2-3% de degradação em benchmarks padrão, contra 8-12% de queda quando o fine-tune é feito sem considerar esse fator. O downside é que essa abordagem exige monitoramento mais próximo durante todo o treino. Você precisa acompanhar métricas além da loss — coisas como entropy das distribuições de saída, norma dos gradientes por camada, e diversidade de tokens gerados em intervalos regulares. Sem esses dados, é fácil interpretar erroneamente um colapso de contração como progresso normal.
Se você está começando agora e quer entender melhor o conceito antes de aplicar, recomendo rodar experiments curtos com lr=1e-4 por apenas 200 steps em um subset de 500 amostras. Anote a loss a cada 20 steps e observe se há plateaus ou quedas abruptas. Isso leva cerca de 15 minutos em uma GPU comum e já mostra se o seu setup está propenso a contração prematura ou se o modelo tem condições de treinar sem colapso. Não existe uma fórmula mágica que funcione para todos os casos. O tamanho do dataset, o rank do LoRA, o learning rate e a taxa de decay interagem de formas imprevisíveis. O que funciona para um modelo de 3B pode falhar completamente com um de 70B. A melhor estratégia é testar, medir e ajustar incrementos pequenos a cada experimento, documentando cada mudança. Levanta aqui se tiver dúvidas específicas sobre algum desses parâmetros ou se quiser compartilhar resultados de experimentos similares.