O que é
O ajuste fino completo continua o treinamento de todo o modelo nos seus exemplos: cada peso em cada camada pode mudar. É a forma mais direta de ajuste fino e mecanicamente igual às etapas finais de como o modelo foi construído. A alternativa é o ajuste fino eficiente em parâmetros (PEFT), como o LoRA, que congela os pesos originais e treina um pequeno complemento em seu lugar.
Para onde vai a memória
A execução de um modelo precisa apenas de seus pesos. O treinamento de cada peso precisa, para cada um, do próprio peso, de seu gradiente e do estado do otimizador. Com o AdamW na configuração usual de precisão mista, isso significa um peso de 16 bits e um gradiente de 16 bits para as passagens forward e backward, além de uma cópia mestre de 32 bits do peso e das duas médias móveis de 32 bits do Adam, mantidas para atualizações estáveis. A contabilidade do artigo do ZeRO coloca isso em 16 bytes por peso; outras configurações que mantêm os gradientes em 32 bits chegam a cerca de 18.
per trainable weight · AdamW · mixed precision
16-bit weight 2 bytes
16-bit gradient 2 bytes
32-bit master weight 4 bytes
32-bit Adam momentum 4 bytes
32-bit Adam variance 4 bytes
───────────────────────────────────
16 bytes + activations
7B model: 7 × 10⁹ × 16 bytes ≈ 112 GB- Apenas a execução em 16 bits: 7 bilhões × 2 bytes ≈ 14 GB.
- Ajuste fino completo com AdamW: 7 bilhões × 16 bytes ≈ 112 GB, antes das ativações. Isso é mais do que uma única GPU de 80 GB suporta, portanto, o trabalho é dividido entre várias GPUs com técnicas como ZeRO ou FSDP, que dividem o estado do otimizador, os gradientes e os pesos entre elas.
- LoRA no rank 16 em todas as camadas lineares de um modelo de 7B no estilo Llama: cerca de 40 milhões de pesos treináveis, 0,6% do modelo. Seu estado de treinamento é de cerca de 40 milhões × 16 bytes ≈ 0,6 GB, além da base congelada de 14 GB: aproximadamente 15 GB.
- QLoRA: a base congelada mantida em 4 bits ocupa cerca de 3,5 GB, de modo que o total fica em torno de 4–5 GB mais ativações, ao alcance de uma única GPU de consumo.
- As ativações são adicionadas em todos os casos e crescem com o tamanho do lote e o comprimento da sequência. O gradient checkpointing troca processamento extra por menos memória de ativação.
O que ele proporciona
O ajuste fino completo pode alterar o modelo em qualquer direção, não apenas dentro do pequeno subespaço que um adaptador pode alcançar. Um estudo comparando os dois descobriu que o ajuste fino completo aprende mudanças com 10 a 100 vezes o rank das configurações típicas do LoRA, e que ele aprendeu mais em grandes conjuntos de treinamento de código e matemática de cerca de 100.000 exemplos. Para o caso de negócios comum, de algumas centenas a alguns milhares de exemplos de chat que ensinam tom, formato e fraseado de domínio, o LoRA aplicado a todas as camadas geralmente se iguala ao ajuste fino completo.
O que ele custa: esquecimento
O esquecimento catastrófico é a tendência de uma rede treinada em algo novo perder o que aprendeu antes. Como o ajuste fino completo pode mover cada peso, ele tem mais espaço para sobrescrever habilidades gerais: um modelo de suporte que responde perfeitamente às perguntas do seu produto, mas que se tornou pior em seguir instruções não relacionadas. Um estudo empírico de ajuste contínuo de instruções observou o esquecimento em modelos de 1B a 7B de parâmetros, e descobriu-se que os modelos com ajuste fino usando LoRA, que mantém a base congelada, esquecem menos.
- Menos épocas e uma taxa de aprendizado menor, para que os pesos se desloquem menos de onde começaram.
- Misture dados gerais, como uma parcela de exemplos amplos de seguimento de instruções junto aos seus.
- Avalie além da sua tarefa. Inclua algumas perguntas gerais na avaliação para que uma regressão seja evidenciada.
- Prefira um adaptador, a menos que um ganho com o ajuste fino completo tenha sido efetivamente medido.
Ajuste fino completo e LoRA lado a lado
| Aspecto | Ajuste fino completo | Adaptador LoRA |
|---|---|---|
| Pesos treináveis | Todos eles | Normalmente 0,1–1% |
| Memória para treinar | Cerca de 16 bytes por peso, mais ativações | A base congelada (2 bytes por peso, ou cerca de 0,5 em 4 bits) mais um pequeno adaptador |
| Resultado salvo | Uma cópia completa do modelo, por ex., cerca de 14 GB para 7B em 16 bits | Um arquivo de adaptador, frequentemente de dezenas a centenas de MB |
| Taxa de aprendizado típica | Em torno de 1e-5 | Aproximadamente 10× maior |
| Risco de esquecimento | Maior | Menor |
| Melhor para | Grandes conjuntos de dados que ensinam novas habilidades substanciais | Tom, formato e fraseado do domínio; várias variantes de uma base |
Erros comuns
- Escolher o ajuste fino completo porque parece mais minucioso. Em pequenos conjuntos de dados, geralmente custa muito mais sem nenhum ganho mensurável.
- Orçar a memória da GPU a partir do tamanho de download do modelo. O treinamento de cada peso precisa de cerca de oito vezes os pesos de 16 bits, mais as ativações.
- Treinar muitas épocas com uma alta taxa de aprendizado e testar apenas a tarefa alvo, para depois descobrir que as habilidades gerais se degradaram.
- Esquecer que cada ajuste fino completo é um modelo de tamanho normal para armazenar e servir.
Referências e leitura complementar
Fontes externas abrem em uma nova aba.
- 01ZeRO: Memory Optimizations Toward Training Trillion Parameter ModelsRajbhandari et al., 2019 · arXiv · arxiv.orgA origem da contabilidade de 16 bytes por parâmetro e do sharding usado para distribuí-la entre as GPUs.
- 02GPU memory usageHugging Face Transformers docs · huggingface.coUm detalhamento de pesos, estados do otimizador, gradientes e ativações durante o treinamento.
- 03LoRA Learns Less and Forgets LessBiderman et al., 2024 · arXiv · arxiv.orgUma comparação cuidadosa entre o ajuste fino completo e o LoRA em código e matemática: o que cada um aprende e o que cada um esquece.
- 04An Empirical Study of Catastrophic Forgetting in Large Language Models During Continual Fine-tuningLuo et al., 2023 · arXiv · arxiv.org
- 05LoRA vs. full fine-tuningTogether AI docs · docs.together.aiOs conselhos práticos de um provedor sobre quando passar de um adaptador para o ajuste fino completo.