PEFT (Parameter-Efficient Fine-Tuning) (PT)
Ajuste Fino Eficiente em Parâmetros (do inglês Parameter-Efficient Fine-Tuning, PEFT) — é um conjunto de métodos para a adaptação de grandes modelos pré-treinados, como grandes modelos de linguagem (LLMs), a tarefas específicas com custos computacionais e de recursos mínimos. Ao contrário do ajuste fino completo (full fine-tuning) tradicional, que exige a atualização de todos os parâmetros do modelo, os métodos PEFT focam na modificação de apenas uma pequena parte dos pesos (menos de 1-5% do total), deixando a maior parte do modelo inalterada ("congelada")[1].
Essa abordagem permite reduzir significativamente os requisitos de memória, espaço de armazenamento e tempo de treinamento, tornando o processo de adaptação de modelos fundamentais poderosos mais acessível e resiliente ao problema do esquecimento catastrófico[2].
Problemas do ajuste fino completo
A abordagem tradicional de ajuste fino completo, na qual todos os parâmetros do modelo são atualizados, enfrenta uma série de problemas críticos que catalisaram o desenvolvimento do PEFT:
- Altos custos computacionais: A atualização de centenas de bilhões de parâmetros exige enormes capacidades computacionais (GPUs/TPUs de alto desempenho) e uma grande quantidade de memória de vídeo (VRAM), o que torna o processo caro e inacessível para muitos pesquisadores.
- Ineficiência de armazenamento: Para cada nova tarefa, é necessário armazenar uma cópia completa do modelo, que ocupa vários gigabytes, levando a um crescimento exponencial nos requisitos de espaço em disco.
- Esquecimento catastrófico (Catastrophic Forgetting): O modelo, ao se adaptar a novos dados, "esquece" o conhecimento geral adquirido na fase de pré-treinamento, o que reduz seu desempenho em outras tarefas.
- Risco de sobreajuste (Overfitting): Em conjuntos de dados pequenos para o ajuste fino, modelos com bilhões de parâmetros tendem a "memorizar" os exemplos de treinamento em vez de aprender padrões generalizáveis[2].
Taxonomia dos métodos PEFT
Os métodos PEFT podem ser classificados pela forma como alteram os parâmetros do modelo. Existem três categorias principais: aditivos, seletivos e de reparametrização[3].
Métodos aditivos
Esses métodos congelam todos os pesos originais do modelo e adicionam novos módulos treináveis de pequeno porte.
- Adaptadores (Adapters): O método aditivo mais antigo. Pequenos módulos de rede neural com arquitetura "gargalo de garrafa" (bottleneck) são inseridos entre as camadas do transformer. Apenas os pesos desses adaptadores são treinados[4].
- Métodos baseados em prompts suaves (Soft Prompts): Em vez de alterar os pesos do modelo, esses métodos adicionam vetores treináveis ("tokens virtuais") aos dados de entrada, que direcionam o comportamento do modelo. As principais variantes são:
- Prompt Tuning: Adiciona vetores treináveis apenas aos embeddings de entrada.
- Prefix-Tuning: Adiciona prefixos de vetores treináveis aos estados ocultos em cada camada do mecanismo de atenção, o que proporciona um controle mais refinado[5].
- P-Tuning v2: Uma generalização da ideia do Prefix-Tuning que aplica prompts treináveis em todas as camadas do modelo, alcançando um desempenho comparável ao do ajuste fino completo[6].
Métodos seletivos
Esses métodos não adicionam novos parâmetros, mas selecionam e ajustam um pequeno subconjunto dos já existentes.
- BitFit: Um método extremamente econômico que ajusta apenas os vetores de bias (bias terms) e os parâmetros das camadas de normalização, atualizando menos de 0.1% do número total de parâmetros.
- Poda diferencial (Diff Pruning): Utiliza uma máscara treinável para determinar dinamicamente quais pesos devem ser atualizados durante o processo de treinamento[3].
Métodos de reparametrização
Esta categoria baseia-se na hipótese de que as alterações nos pesos para a adaptação do modelo têm um baixo "posto intrínseco" (intrinsic rank). Em vez de atualizar matrizes de peso de tamanho completo, esses métodos atualizam sua representação de baixo posto.
- LoRA (Low-Rank Adaptation): O método PEFT mais popular atualmente. Ele assume que a atualização da matriz de pesos `ΔW` pode ser aproximada pelo produto de duas matrizes de baixo posto: `ΔW = BA`. Durante o ajuste fino, a matriz original `W` é congelada, e apenas `A` e `B` são treinadas[7].
- QLoRA: Combina LoRA com técnicas de quantização para reduzir ainda mais os requisitos de memória, permitindo o ajuste fino de modelos com 65 bilhões de parâmetros em uma única GPU de consumidor[8].
Comparação de desempenho e recursos
Os métodos PEFT permitem alcançar um desempenho comparável ao do ajuste fino completo, com uma redução radical nos custos.
| Modelo | Método | Parâmetros treináveis (%) | Resultado no benchmark (Avg. Accuracy) | Fonte |
|---|---|---|---|---|
| BERT-Large | Ajuste fino completo | 100% | 80.4 (GLUE) | [4] |
| BERT-Large | Adapters | 3.6% | 80.0 (GLUE) | [4] |
| LLaMA-7B | LoRA | 0.83% | 74.7% | [9] |
| LLaMA-7B | DoRA (variante do LoRA) | 0.84% | 78.1% | [9] |
As principais vantagens do PEFT na economia de recursos são:
- Memória da GPU (VRAM): Para o modelo LLaMA 65B, o ajuste fino completo teoricamente requer >780 GB de VRAM, enquanto o QLoRA permite ajustá-lo em uma GPU com <48 GB de VRAM[8].
- Espaço de armazenamento: Os checkpoints salvos após o PEFT ocupam megabytes, e não gigabytes. Isso permite armazenar centenas de "adaptadores" para diferentes tarefas no espaço que seria ocupado por um único modelo totalmente ajustado.
Áreas de aplicação
Originalmente desenvolvidos para PNL, os métodos PEFT foram adaptados com sucesso para uma ampla gama de tarefas:
- Visão computacional (CV) e modelos multimodais (VLM): Adaptação de modelos como Vision Transformer (ViT) e Segment Anything Model (SAM) para tarefas de segmentação de imagens, inclusive em biomedicina.
- Geração e análise de código: Ajuste de LLMs para a especificidade de projetos de software concretos, APIs internas ou bases de código.
- Modelos generativos: "Estilização" de modelos de geração de imagens, como o Stable Diffusion, com o uso de adaptadores LoRA (técnica Dreambooth).
- Síntese de fala: Adaptação de modelos para gerar fala com uma voz, entonação ou coloração emocional específica.
Ligações externas
Literatura
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. ICML 2019.
- Li, X.L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Liu, X. et al. (2022). P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks. arXiv:2110.07602.
- Ben Zaken, E.; Ravfogel, S.; Goldberg, Y. (2021). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-Based Masked Language Models. arXiv:2106.10199.
- Guo, D.; Rush, A.M.; Kim, Y. (2020). Parameter-Efficient Transfer Learning with Diff Pruning. arXiv:2012.07463.
- Jiang, Z. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Chen, S. et al. (2024). Parameter-Efficient Fine Tuning: A Comprehensive Analysis Across Applications. arXiv:2404.13506.
- Zhang, J. et al. (2025). Parameter-Efficient Fine-Tuning for Foundation Models. arXiv:2501.13787.
Notas
- ↑ «Parameter-Efficient Fine-Tuning for Foundation Models». arXiv:2501.13787. [1]
- ↑ 2.0 2.1 «5 Problems Encountered Fine-Tuning LLMs with Solutions». Machine Learning Mastery. [2]
- ↑ 3.0 3.1 «PEFT: Parameter-Efficient Fine-Tuning Methods for LLMs». Hugging Face Blog. [3]
- ↑ 4.0 4.1 4.2 Houlsby, N., et al. «Parameter-Efficient Transfer Learning for NLP». Proceedings of the 36th International Conference on Machine Learning. [4]
- ↑ Li, X.L., Liang, P. «Prefix-Tuning: Optimizing Continuous Prompts for Generation». arXiv:2101.00190. [5]
- ↑ Liu, X., et al. «P-Tuning v2: Prompt Tuning Can Be Comparable to Fine-tuning Universally Across Scales and Tasks». arXiv:2110.07602. [6]
- ↑ Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [7]
- ↑ 8.0 8.1 Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [8]
- ↑ 9.0 9.1 «Parameter Efficient Fine Tuning: A Comprehensive Analysis Across Applications». arXiv:2404.13506. [9]