14. Transfer Learning
Ninguém treina um modelo do zero. A pergunta interessante deixou de ser como adaptar um modelo pré-treinado e passou a ser se vale adaptá-lo — porque as alternativas ficaram muito boas.
Então este capítulo é organizado em torno de uma decisão, não de uma técnica. Primeiro: você deve mudar os pesos? Normalmente não. Depois, se deve: quais pesos, quantos e com qual objetivo — e as respostas honestas são "os de posto baixo", "cerca de 0,5% deles" e "depende de você ter rótulos, preferências ou um verificador".
Antes de fazer fine-tuning: não faça
Fine-tuning é a resposta cara para uma pergunta que quatro coisas mais baratas costumam responder melhor. A ordem abaixo é a que se deve percorrer, de cima para baixo e parar no meio é o desfecho normal.
| Tente isto primeiro | Resolve | Não resolve |
|---|---|---|
| Um prompt melhor, com alguns exemplos | Formato, tom, enquadramento da tarefa, a maioria das queixas de "o modelo não segue instruções" | Conhecimento ausente; latência; custo por chamada |
| Busca (RAG) | Fatos que o modelo não tem, fatos que mudam, dados por cliente, citações | Comportamento e estilo; capacidade de raciocínio |
| Ferramentas e chamadas de função | Aritmética, dados atuais, ações num sistema, qualquer coisa cuja resposta certa um programa calcula | Qualquer coisa sem API |
| Um modelo maior ou mais novo | Quase tudo, na hora, a um custo por token mais alto | Suas metas de latência e custo unitário |
| Fine-tuning | Formato e comportamento consistentes a baixo custo; um modelo pequeno que iguala um grande na sua tarefa; vocabulário e estilo do domínio | Fatos que mudam — esses pertencem à busca |
Fine-tuning é a ferramenta errada para ensinar fatos
Este é o erro mais comum e mais caro em trabalho aplicado com LLMs. Um fine-tune espalha fatos novos por bilhões de pesos, de forma não verificável, sem citação e sem jeito de atualizar ou apagar um deles. Um índice de busca faz o mesmo trabalho com um PUT. Faça fine-tune de comportamento; busque conhecimento. Quando alguém propuser fazer fine-tuning na documentação da empresa, esta é a frase para dizer em voz alta.
Há um caso econômico que justifica fine-tuning de forma confiável: você tem um prompt que funciona num modelo de fronteira e precisa que ele rode 100× mais barato. Gere dados com o modelo grande, faça fine-tune de um pequeno e meça a diferença. Isso é destilação e é assim que a maioria dos modelos pequenos em produção é de fato construída hoje.
O quadro clássico e por que ele mudou
A história original de transfer learning é sobre camadas: as camadas iniciais de um modelo de visão aprendem bordas e texturas que transferem para qualquer lugar, as finais aprendem as categorias do ImageNet, então você congela a frente e retreina o fundo1. Está correto e para uma tarefa pequena de visão ainda é exatamente o que fazer.
Deixou de escalar por uma razão: "retreinar o fundo" de um modelo de 8B de parâmetros ainda significa um estado de otimizador que não cabe.
Troque o método para fine-tuning completo e leia a divisão. O problema não são os pesos. O AdamW mantém uma cópia mestra em fp32 mais duas estimativas de momento — 12 bytes por parâmetro treinável, seis vezes o tamanho dos próprios pesos em bf16. Some os gradientes e você precisa de cerca de 16 bytes por parâmetro antes de guardar uma única ativação.
Esse número é toda a motivação do fine-tuning eficiente em parâmetros: gradientes e estado do otimizador são dimensionados pelos parâmetros treináveis, não pelo tamanho do modelo. Torne 0,5% dos parâmetros treináveis e 90% da memória desaparece.
LoRA: a atualização é de posto baixo
A hipótese do LoRA2 é uma afirmação sobre adaptação, não sobre compressão: a mudança que uma tarefa exige tem posto muito menor do que a matriz de pesos que ela modifica. Congele \(W_0\) e aprenda a atualização como produto de duas matrizes finas:
\(A\) é inicializada aleatoriamente e \(B\) em zero, de modo que \(\Delta W = 0\) no primeiro passo e o treino começa exatamente do modelo pré-treinado. A escala \(\alpha/r\) existe para que mudar \(r\) não obrigue a reajustar a taxa de aprendizado.
Se a hipótese vale depende inteiramente da tarefa e é para isso que serve o painel abaixo.
O terceiro painel — o que o posto escolhido não consegue expressar — é o que se deve observar. Uma mudança de estilo ou formato é genuinamente de posto 2 ou algo assim e o LoRA empata com o fine-tuning completo. Uma mudança de domínio quer de 16 a 32. Ensinar um idioma novo não é de posto baixo e nenhum \(r\) acessível esvazia aquele painel.
Configurações práticas de LoRA e um conselho ultrapassado para desaprender
O artigo original aplicava LoRA só a \(W_q\) e \(W_v\) e essa recomendação continua sendo repetida em toda parte. Trabalhos posteriores são claros: aplicar a todas as camadas lineares — inclusive o MLP — é melhor com o mesmo orçamento de parâmetros e o MLP é onde vivem dois terços dos parâmetros. Padrões sensatos:
- \(r = 16\), \(\alpha = 32\) como ponto de partida; aumente \(r\) só se a perda de treino estacionar alta.
- Mire todas as projeções lineares:
q,k,v,o,gate,up,down. - Taxa de aprendizado 10× maior que a do fine-tuning completo — perto de
1e-4, não1e-5. - Faça o merge para produção: \(W_0 + BA\) volta a ser uma matriz só, então a inferência não custa nada a mais. Mantenha sem merge quando quiser servir muitos adaptadores sobre uma base compartilhada.
O QLoRA3 acrescenta a outra metade: quantize a base congelada para NF4 de 4 bits e mantenha os pesos LoRA em bf16. Como a base está congelada, o erro de quantização é um viés fixo em torno do qual o adaptador simplesmente aprende. É a técnica que colocou fine-tuning de 65B numa única GPU de 48 GB.
O DoRA5 decompõe a atualização em magnitude e direção e aplica LoRA só à direção, fechando a maior parte do buraco restante para o fine-tuning completo a um custo praticamente igual. É a única variante recente de PEFT que vale adotar por padrão quando o LoRA fica aquém.
O resto do zoológico de PEFT, com honestidade
| Técnica | Situação em 2026 |
|---|---|
| LoRA | O padrão. Todo o resto é medido contra ele. |
| QLoRA | O padrão quando a restrição é memória. |
| DoRA | Vale tentar quando o LoRA não basta e o fine-tuning completo não cabe no orçamento. |
| Camadas adaptadoras (Houlsby) | Histórico. Acrescentam latência de inferência porque não podem ser fundidas. |
| Prefix / prompt tuning | Histórico. Difíceis de otimizar, mais fracos e consomem janela de contexto. |
| BitFit, IA³ | Curiosidades. Úteis para entender o que basta, não para entregar. |
Pós-treino: o que você otimiza, não quais pesos
O PEFT responde "quais pesos se movem". A outra metade da pergunta é em direção a quê e o pipeline moderno tem três estágios que fazem coisas genuinamente diferentes.
flowchart LR
A[Modelo base<br/>previsão do próximo token] --> B[SFT<br/>demonstrações]
B --> C[Otimização de preferências<br/>DPO / GRPO]
C --> D[Modelo em produção]
B -.-> E[Destilação<br/>de um modelo mais forte]
E --> C 1. Fine-tuning supervisionado (SFT). Treine em pares (prompt, boa resposta) — a mesma perda de próximo token, sobre demonstrações curadas. É o que transforma um modelo base em algo que responde em vez de continuar. Aqui a qualidade dos dados domina a quantidade com folga: alguns milhares de exemplos escritos com cuidado rotineiramente batem centenas de milhares raspados.
2. Otimização de preferências. O SFT ensina uma boa resposta; não consegue ensinar que a resposta A é melhor que a B. A solução original, RLHF7, treina um modelo de recompensa com comparações humanas e otimiza a política com PPO — poderoso e um fardo de engenharia real: quatro modelos na memória e um laço notoriamente instável.
O DPO4 removeu a maior parte disso. A sacada é que o objetivo do RLHF tem uma política ótima em forma fechada, então o modelo de recompensa pode ser substituído algebricamente e as preferências otimizadas diretamente com uma perda de estilo classificação sobre pares:
Dois modelos em vez de quatro, sem laço de amostragem e treina como aprendizado supervisionado. Para a maioria dos praticantes, substituiu o PPO por completo.
3. Aprendizado por reforço a partir de um verificador (RLVR). Quando a correção pode ser checada — um teste unitário passa, uma prova compila, uma resposta aritmética bate — não é preciso modelo de recompensa aprendido nenhum. Amostre várias tentativas, pontue com o verificador e empurre probabilidade para as que deram certo. O GRPO6 faz exatamente isso e ainda descarta a rede de valor, normalizando as recompensas dentro de cada grupo de amostras:
É o sinal de treino por trás dos modelos de raciocínio dos últimos dois anos e é tratado apropriadamente no capítulo 15. O ponto a levar daqui: isso é fine-tuning e precisa de um verificador em vez de um rótulo.
Esquecimento catastrófico não é hipotético
Faça fine-tune pesado numa tarefa estreita e o modelo piora em todo o resto — inclusive em seguir instruções e nos comportamentos de segurança para os quais ele foi alinhado. Mitigações, na ordem em que costumam ser a resposta certa: use LoRA (ele muda menos, então esquece menos), mantenha a taxa de aprendizado baixa, misture ~10% de dados gerais no seu conjunto e avalie em tarefas nas quais você não está treinando antes e depois. Essa última é a única forma de descobrir.
Quando usar o quê
| Situação | Faça isto |
|---|---|
| Formato ou tom errados | Engenharia de prompt. Não faça fine-tune. |
| Fatos ausentes ou que mudam | RAG. Não faça fine-tune. |
| Precisa de dados atuais ou de ações | Ferramentas / chamadas de função |
| Qualidade de modelo de fronteira a 1% do custo | Destile: gere dados com o grande, faça SFT num pequeno |
| < 1k exemplos rotulados | Prompting few-shot, ou encoder congelado + cabeça linear em visão |
| 1k–100k exemplos, uma GPU | LoRA, todas as camadas lineares, \(r=16\) |
| Idem, mas limitado por memória | QLoRA |
| > 100k exemplos, um cluster de verdade e a tarefa é distante do pré-treino | Fine-tuning completo ou pré-treino continuado |
| Muitos clientes, um modelo base | Adaptadores LoRA servidos sem merge sobre uma base compartilhada |
| "Prefira esta resposta àquela" | SFT → DPO |
| Respostas que um programa consegue checar | SFT → GRPO com um verificador |
| Um corpus inteiro de domínio novo, sem rótulos | Pré-treino continuado, depois SFT |
Pontos principais
- A primeira pergunta é se vale fazer fine-tuning. Prompting, busca, ferramentas e um modelo maior resolvem a maior parte daquilo que as pessoas tentam consertar com fine-tuning.
- Fine-tune comportamento, busque conhecimento. Fatos em pesos não podem ser citados, atualizados nem apagados.
- O fine-tuning completo é caro por causa do estado do otimizador, não dos pesos: o AdamW custa 12 bytes por parâmetro treinável.
- O LoRA funciona quando a atualização necessária é de posto baixo — o que é verdade para estilo e formato, aproximadamente verdade para mudanças de domínio e falso para conhecimento novo.
- Aplique LoRA a todas as camadas lineares, use taxa de aprendizado ~10× maior que a do fine-tuning completo e faça merge para produção para que a inferência não custe nada a mais.
- O QLoRA quantiza a base congelada; o adaptador aprende em torno do erro de quantização. O DoRA é a variante a tentar quando o LoRA fica aquém.
- O pós-treino é SFT → otimização de preferências → RL a partir de um verificador. O DPO substituiu o PPO para a maioria; GRPO com um verificador foi o que produziu os modelos de raciocínio.
- Destilação a partir de um modelo mais forte é como a maioria dos modelos pequenos de produção é construída.
- Fine-tuning causa esquecimento. Misture dados gerais, prefira LoRA e avalie fora da tarefa.
-
Pan, S. J., & Yang, Q. (2010). A Survey on Transfer Learning — IEEE TKDE. O enquadramento que antecede o deep learning e ainda organiza a área. ↩
-
Hu, E., et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models — ICLR. ↩
-
Dettmers, T., Pagnoni, A., Holtzman, A., & Zettlemoyer, L. (2023). QLoRA: Efficient Finetuning of Quantized LLMs — NeurIPS. NF4 de 4 bits, dupla quantização, otimizadores paginados. ↩
-
Rafailov, R., et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model — NeurIPS. A dedução que remove o modelo de recompensa. ↩
-
Liu, S.-Y., et al. (2024). DoRA: Weight-Decomposed Low-Rank Adaptation — ICML. ↩
-
DeepSeek-AI (2025). DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. GRPO e raciocínio aprendido de um verificador em vez de demonstrações. ↩
-
Ouyang, L., et al. (2022). Training language models to follow instructions with human feedback — NeurIPS. InstructGPT; o pipeline SFT → modelo de recompensa → PPO por inteiro. ↩
-
Biderman, D., et al. (2024). LoRA Learns Less and Forgets Less — TMLR. Uma medição cuidadosa das duas metades da troca. ↩