Como funciona
QLoRA (Quantized LoRA) combina duas técnicas: quantização e LoRA. O modelo base é carregado em precisão reduzida (4 bits, usando o formato NF4), e o ajuste fino acontece por meio de matrizes LoRA em precisão maior (16 bits). Apenas as matrizes LoRA são treinadas; o modelo base fica congelado e quantizado.
Isso reduz drasticamente o consumo de memória de vídeo (VRAM), permitindo treinar modelos de dezenas de bilhões de parâmetros em uma única GPU de consumo (por exemplo, 24 GB). A quantização de 4 bits mantém a maior parte da qualidade do modelo, e as matrizes LoRA recuperam a precisão perdida na adaptação.
Exemplo prático
Treinar um modelo de 7 bilhões de parâmetros em uma GPU de 16 GB seria impossível em precisão completa. Com QLoRA, você carrega o modelo em 4 bits e treina as matrizes LoRA. O resultado é um adaptador pequeno que, combinado ao modelo base quantizado, atinge qualidade próxima ao ajuste fino completo.
Bibliotecas como bitsandbytes e PEFT (Hugging Face) implementam QLoRA. O código típico:
from transformers import BitsAndBytesConfig
bnb = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4")Para que serve
QLoRA serve para democratizar o ajuste fino de modelos grandes. Equipes pequenas e pesquisadores podem adaptar modelos potentes sem clusters de GPUs. É a técnica mais usada para criar modelos especializados (em código, medicina, direito) a partir de modelos base abertos, com custo acessível.