Paul Gomes
· 7 min de leitura

LoRA e PEFT: fine-tuning sem retreinar o modelo inteiro

Como adaptadores de baixo posto (LoRA) e o ecossistema PEFT permitem personalizar LLMs congelando o modelo base e treinando frações minúsculas de parâmetros.

Paul Gomes

Paul Gomes

Autor

Fine-tuning clássico é um ato de força bruta: você pega um modelo com bilhões de parâmetros, calcula gradientes para todos eles e reescreve o peso inteiro. Funciona, mas é caro de um jeito que quase ninguém precisa pagar. LoRA parte de uma suspeita mais elegante — a de que a diferença entre o modelo genérico e o modelo que você quer não mora em bilhões de números, mora em um subespaço minúsculo. Se isso for verdade, você não precisa mover o modelo. Precisa só anexar um bilhete de margem.

O modelo já sabe quase tudo

Um LLM pré-treinado chega até você carregando uma quantidade absurda de conhecimento generalista. Quando você faz fine-tuning para uma tarefa específica — um tom de voz, um domínio jurídico, um formato de saída —, você não está ensinando o modelo a raciocinar do zero. Está empurrando o comportamento dele em uma direção estreita. A intuição por trás de LoRA é que esse empurrão tem baixa dimensionalidade intrínseca: a atualização de pesos que separa o modelo base do modelo ajustado pode ser bem aproximada por uma matriz de posto muito menor do que a matriz original.

Traduzindo. Cada camada linear do Transformer é, no fundo, uma matriz de pesos W. Fine-tuning tradicional aprende uma atualização ΔW com exatamente as mesmas dimensões de W — se W é 4096×4096, ΔW também é, e você guarda e treina todos esses números. LoRA faz uma aposta: ΔW não precisa ser cheia. Ela pode ser fatorada como o produto de duas matrizes finas, B e A, onde ΔW = B·A. Se W é d×d, então B é d×r e A é r×d, com r (o posto, ou rank) sendo um número pequeno — algo na casa de unidades ou dezenas, não de milhares.

O ganho é aritmético e brutal. Uma matriz d×d tem parâmetros. As duas matrizes de LoRA somam 2·d·r. Com d na casa dos milhares e r na casa das dezenas, você troca milhões de parâmetros por dezenas de milhares — por camada. Multiplique isso por todas as camadas atacadas e a conta fecha em uma fração ínfima do modelo original.

Congelar é a parte que importa

Aqui está o detalhe que muita gente subestima: durante o treinamento LoRA, a matriz W original não recebe gradiente. Ela fica congelada, intacta, exatamente como saiu do pré-treino. Só A e B aprendem. A saída da camada passa a ser W·x + B·A·x — o caminho original mais um desvio de baixo posto somado por cima.

Isso tem três consequências práticas que explicam por que LoRA virou o padrão de fato para adaptação barata.

A primeira é de memória. O que domina o consumo de VRAM em fine-tuning não são os pesos em si — são os estados do otimizador. Um otimizador como Adam guarda, para cada parâmetro treinável, dois valores auxiliares (momento e variância). Se você treina todos os parâmetros, esse overhead é várias vezes o tamanho do modelo. Congelando o base e treinando só os adaptadores, o otimizador passa a rastrear apenas as matrizes finas. O gargalo de memória do treino desmorona.

A segunda é de armazenamento e distribuição. O resultado de um fine-tuning LoRA não é um modelo novo de dezenas de gigabytes — são só as matrizes A e B, que cabem em megabytes. Você pode ter uma dúzia de adaptadores para uma dúzia de clientes ou tarefas, todos apoiados no mesmo modelo base carregado uma vez na memória. Trocar de tarefa vira trocar de adaptador, não recarregar o modelo.

A terceira é de segurança de comportamento. Como o base fica intocado, você reduz o risco do fenômeno de esquecimento catastrófico, em que o fine-tuning destrói competências gerais que o modelo tinha. O conhecimento original continua ali, no W congelado; o adaptador só desloca o resultado na margem.

O truque da inicialização e da fusão

Dois detalhes técnicos separam LoRA de “somar uma matriz aleatória e torcer”.

O primeiro é a inicialização assimétrica. Uma das matrizes — tipicamente A — começa com valores aleatórios pequenos; a outra, B, começa zerada. Isso garante que, no início do treino, B·A é zero, e o modelo se comporta exatamente como o base. O adaptador não introduz ruído no ponto de partida; ele cresce a partir do zero conforme aprende. Você começa idêntico ao modelo original e só se afasta na medida do necessário. Há também um fator de escala que controla a intensidade com que o desvio de baixo posto é somado ao caminho principal, o que dá uma alavanca para regular quanto o adaptador influencia a saída.

O segundo é a fusão em tempo de inferência. Como B·A tem exatamente as dimensões de W, você pode, depois do treino, somar as duas: W' = W + B·A. O adaptador desaparece dentro dos pesos. O modelo resultante roda com latência idêntica ao modelo base, porque não há caminho extra a computar — a matemática adicional foi absorvida. Diferente de arquiteturas de adaptador mais antigas, que inseriam camadas novas e cobravam um pedágio de latência em toda inferência, LoRA fusível não custa nada em produção. Você paga o custo só se quiser manter os adaptadores separados para trocá-los a quente.

PEFT é o guarda-chuva, LoRA é o inquilino ilustre

Vale separar os termos, porque são frequentemente usados como sinônimos e não são. PEFTparameter-efficient fine-tuning — é a família inteira de técnicas que perseguem o mesmo objetivo: adaptar um modelo grande mexendo no mínimo possível de parâmetros. LoRA é o membro mais popular dessa família, mas não o único.

Há abordagens que não tocam em peso nenhum e em vez disso aprendem vetores contínuos anexados à entrada — os chamados soft prompts ou prefixos — que condicionam o comportamento do modelo sem alterar as matrizes internas. Há técnicas que treinam pequenos módulos inseridos entre as camadas. E há a variante que talvez tenha tido o maior impacto prático de todas: QLoRA, que combina LoRA com quantização agressiva do modelo base. A ideia é manter os pesos congelados em precisão reduzida — comprimidos para ocupar muito menos memória — enquanto os adaptadores treináveis operam em precisão mais alta. O resultado é que fine-tuning de modelos grandes deixou de exigir clusters e passou a caber em uma única GPU de consumo. Foi isso, mais do que qualquer benchmark, que democratizou a adaptação de LLMs.

Onde LoRA quebra a cara

Nenhuma técnica é gratuita em todas as dimensões, e ser honesto sobre os limites é o que separa entendimento de marketing.

LoRA é excelente para mudar comportamento e fraco para injetar conhecimento factual novo em volume. Se você precisa que o modelo saiba de uma base de fatos grande e específica, um adaptador de baixo posto é o instrumento errado — o subespaço estreito que ele oferece não tem capacidade para absorver muita informação nova. Para isso, recuperação aumentada (RAG) costuma ser a resposta certa, não fine-tuning.

O posto r é uma alavanca de compromisso, não um botão de mais é melhor. Posto muito baixo pode não ter expressividade suficiente para a tarefa; posto alto demais corrói a economia que justificava usar LoRA em primeiro lugar e aproxima o custo do fine-tuning completo. Não existe valor universal — depende de quão longe do comportamento base você precisa ir. E a escolha de quais matrizes adaptar (só as de projeção da atenção? as de projeção de valor e query? as camadas de feed-forward também?) muda o resultado de formas que nem sempre são intuitivas e que costumam exigir experimentação.

Minha posição

LoRA é uma daquelas ideias que, depois de entendidas, parecem óbvias — e quase nunca são, antes. O insight não é técnico, é conceitual: a maior parte do que você quer de um modelo já está lá, e personalizar é uma operação de baixa dimensão. Isso deveria mudar o jeito como as empresas pensam adaptação de IA. A pergunta padrão virou “vamos treinar um modelo”, quando quase sempre a pergunta certa é “vamos anexar um adaptador e congelar o resto”.

O erro que vejo com mais frequência é tratar fine-tuning como resposta para problemas de conhecimento. Não é. LoRA molda tom, formato, estilo, aderência a instruções — o como o modelo responde. Conhecimento factual em escala pertence à recuperação. Quem confunde as duas coisas gasta orçamento treinando adaptadores que nunca vão saber o que você queria que soubessem. A elegância de LoRA está justamente em ser modesta: ela não tenta reescrever o modelo, só empurrá-lo o suficiente. Na prática, empurrar o suficiente é quase tudo o que se precisa.