Ajuste Fino (Fine-tuning)
Ajuste fino (do inglês, Fine-tuning), também conhecido como sintonia fina, é um método de aprendizagem por transferência em aprendizado de máquina, no qual os parâmetros de um modelo pré-treinado (pre-trained model) são adaptados para resolver uma nova tarefa específica. Em vez de treinar um modelo do zero, o que exige enormes volumes de dados e recursos computacionais, o ajuste fino permite utilizar o conhecimento já codificado nos pesos do modelo e "ajustá-los" para necessidades específicas.
Essa abordagem tornou-se o padrão de fato na área de aprendizado profundo, especialmente ao trabalhar com grandes modelos de linguagem (LLMs) e modelos de visão computacional.
Conceito
O processo de ajuste fino pode ser dividido em duas etapas principais:
1. Pré-treinamento (Pre-training): Um modelo (por exemplo, BERT ou GPT) é treinado em um conjunto de dados muito grande e geral (como toda a internet) usando uma tarefa auto-supervisionada (por exemplo, prever a próxima palavra). Nesta fase, o modelo aprende padrões gerais, sintaxe, semântica e conhecimento sobre o mundo.
2. Ajuste fino (Fine-tuning): O modelo pré-treinado é usado como base, e seus pesos são ajustados em um conjunto de dados rotulado, menor e específico para a tarefa alvo.
A ideia principal é que o conhecimento adquirido na fase de pré-treinamento é universal e pode ser transferido com sucesso para resolver muitas outras tarefas mais específicas.
Processo de Ajuste Fino
Um processo típico de ajuste fino inclui os seguintes passos:
1. Seleção de um modelo pré-treinado: Escolhe-se um modelo cujas capacidades básicas são adequadas para a tarefa alvo (por exemplo, BERT para tarefas de compreensão de texto, GPT para geração).
2. Adaptação da arquitetura: Uma nova camada "de cabeça" (head), específica para a tarefa alvo, é adicionada ao modelo pré-treinado. Por exemplo:
- Para classificação de texto, adiciona-se uma camada totalmente conectada simples com uma função softmax.
- Para reconhecimento de entidade nomeada (NER), um classificador é adicionado à saída de cada token.
3. Treinamento no conjunto de dados alvo: O modelo inteiro (ou parte dele) é treinado em um novo conjunto de dados rotulado. Nesta fase, os pesos do modelo, incluindo os pesos das camadas pré-treinadas, são atualizados por meio da descida de gradiente para minimizar a função de perda na nova tarefa. 4. Uso de uma taxa de aprendizado mais baixa: Durante o ajuste fino, geralmente se utiliza uma taxa de aprendizado significativamente menor do que a usada no pré-treinamento. Isso é necessário para não "destruir" o conhecimento útil já codificado nos pesos do modelo, mas apenas para corrigi-los cuidadosamente.
Tipos de Ajuste Fino
Ajuste Fino Completo (Full Fine-tuning)
- Princípio: Todos os parâmetros do modelo pré-treinado são atualizados juntamente com a nova camada "de cabeça".
- Vantagens: Potencialmente oferece o melhor desempenho, pois todo o modelo se adapta à nova tarefa.
- Desvantagens: Requer recursos computacionais e de memória significativos, pois é necessário armazenar e atualizar os gradientes de todos os parâmetros. Existe o risco de esquecimento catastrófico, quando o modelo "esquece" o conhecimento geral adquirido durante o pré-treinamento.
Ajuste Fino Eficiente em Parâmetros (Parameter-Efficient Fine-Tuning, PEFT)
Esta é uma família de métodos que visam reduzir os custos computacionais durante o ajuste fino. A ideia principal é congelar a maioria dos parâmetros do modelo pré-treinado e treinar apenas um pequeno número de parâmetros novos ou selecionados.
- Exemplos de métodos PEFT:
- Adaptadores (Adapters): Pequenas camadas adicionais, chamadas adaptadores, são inseridas na arquitetura do Transformer, e apenas elas são treinadas.
- LoRA (Low-Rank Adaptation): Em vez de atualizar as matrizes de peso completas, o LoRA treina suas atualizações de baixo posto (low-rank). Isso permite reduzir o número de parâmetros treináveis em milhares de vezes.
- Prompt Tuning: Vetores treináveis, chamados "prompts", são adicionados aos dados de entrada e ajustados para resolver a tarefa, enquanto o modelo em si permanece congelado.
- Vantagens do PEFT:
- Eficiência: Reduz significativamente os requisitos de memória e computação.
- Modularidade: Permite adaptar facilmente um único modelo pré-treinado para múltiplas tarefas, armazenando apenas pequenos conjuntos de pesos adaptados para cada uma.
Ajuste Fino por Instruções (Instruction Tuning)
Este é um tipo específico de ajuste fino, focado em melhorar a capacidade de um LLM de seguir instruções em linguagem natural.
- Princípio de funcionamento: O modelo é ajustado em um conjunto de dados composto por pares de "instrução — saída desejada".
- Objetivo: Melhorar a capacidade de generalização do modelo para tarefas novas e nunca vistas, que podem ser descritas como instruções. Modelos como InstructGPT e FLAN-T5 são exemplos proeminentes dessa abordagem.
Literatura
- Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
- Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
- Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
- Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
- Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
- Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.
Ver também
- Grandes modelos de linguagem
- BERT
- GPT