Escolha de GPU para ajuste fino de LLM (guia de VRAM)
De 7B a 70B: calculamos a VRAM necessária para ajuste fino completo e LoRA; explicamos o efeito do tamanho de batch, do comprimento de sequência e da quantização no orçamento.
01
Porque é que a VRAM é determinante?
Durante o ajuste fino, os pesos do modelo, os gradientes, o estado do otimizador (aproximadamente o dobro dos pesos para o Adam) e as ativações coexistem na memória. Se este total não couber na VRAM, o treino não arranca; e mesmo que caiba, as cargas que trabalham no limite sofrem pressão de memória e a eficiência da GPU desploma-se.
Por isso a escolha de GPU é antes de tudo uma questão de memória: uma placa de velocidade média com a VRAM adequada é sempre mais eficiente do que uma placa rápida com VRAM insuficiente.
02
Necessidades realistas consoante o tamanho do modelo
Os valores seguintes são intervalos práticos para treino em bf16 e comprimentos de sequência típicos; à medida que aumentam o comprimento de sequência e o tamanho de batch, aproximas-te do limite superior.
- Ajuste fino completo de 7B: pesos ~14 GB + estado de Adam ~56 GB + gradientes ~14 GB → na prática 2 × 80 GB com folga, 1 × 80 GB apertado.
- Ajuste fino completo de 13B: recomendam-se 2 × 80 GB.
- Ajuste fino completo de 34B: fazem falta 4 × 80 GB de classe.
- Ajuste fino completo de 70B: imprescindível a classe 8 × 80 GB (A100/H100) com paralelismo multiplaca.
- LoRA/QLoRA: modelos de 7–13B cabem numa única placa de 24–48 GB; para 70B, QLoRA numa placa de 80 GB é a prática habitual.
03
LoRA e quantização para o orçamento
O LoRA congela as matrizes de pesos e treina apenas pequenas matrizes de atualização de baixo rank; a proporção de parâmetros treináveis situa-se tipicamente entre %0,1 e %1. Isto elimina a maior parte do estado do otimizador e da memória de gradientes.
O QLoRA leva isto um passo mais além: o modelo base é quantizado para 4 bits (NF4) e elevado seletivamente para 16 bits durante o cálculo. É o padrão para equipas relativamente pequenas ajustarem modelos de classe 70B numa única placa; a perda de qualidade depende da tarefa e da qualidade dos dados, e deve ser sempre medida.
04
Efeito do tamanho de batch e do comprimento de sequência
A memória de ativações cresce aproximadamente de forma linear com o comprimento de sequência e de forma quadrática na camada de atenção. Passar uma sequência de 2.048 para 8.192 tokens aumenta significativamente a memória de treino sem alterar nada no peso do modelo.
O batch efetivo = batch por placa × passos de acumulação de gradientes. Se não couber na memória, reduz primeiro o comprimento de sequência e o batch por placa, e regressa depois ao batch efetivo pretendido com acumulação de gradientes.
05
Recomendações práticas de escolha
- Classe 24 GB (ex.: RTX 4090): ajuste fino LoRA de 7–13B; ideal para ciclos de experiência e desenvolvimento rápidos.
- Classe 48 GB (ex.: L40S/A6000): ajuste fino completo de 7B ou QLoRA de 13–34B.
- Classe 80 GB (A100/H100): QLoRA de 70B, ajuste fino completo de 13B; o padrão por nó em trabalhos multiplaca.
- Se precisas de treino multiplaca, aluga as placas não separadamente mas o mesmo nó/cluster em conjunto; NVLink e a rede de baixa latência são críticos.
06
Lista de verificação
- Número de parâmetros do modelo e método pretendido (completo / LoRA / QLoRA).
- Comprimento de sequência máximo e tamanho de batch efetivo pretendido.
- Tamanho do conjunto de dados e necessidade de armazenamento persistente em disco.
- Mede a utilização real de memória com um aluguer de experiência curto; valida a tabela de cálculo em campo.
Os artigos desta página são conteúdo de exemplo; estão marcados como rascunhos não publicados até a ligação do CMS.