Cómo funciona
QLoRA (Quantized LoRA) combina dos técnicas: cuantización y LoRA. El modelo base se carga en precisión reducida (4 bits, usando el formato NF4), y el ajuste fino ocurre por medio de matrices LoRA en precisión mayor (16 bits). Solo las matrices LoRA se entrenan; el modelo base queda congelado y cuantizado.
Esto reduce drásticamente el consumo de memoria de video (VRAM), permitiendo entrenar modelos de decenas de miles de millones de parámetros en una sola GPU de consumo (por ejemplo, 24 GB). La cuantización de 4 bits mantiene la mayor parte de la calidad del modelo, y las matrices LoRA recuperan la precisión perdida en la adaptación.
Ejemplo práctico
Entrenar un modelo de 7 mil millones de parámetros en una GPU de 16 GB sería imposible en precisión completa. Con QLoRA, cargas el modelo en 4 bits y entrenas las matrices LoRA. El resultado es un adaptador pequeño que, combinado al modelo base cuantizado, alcanza calidad cercana al ajuste fino completo.
Bibliotecas como bitsandbytes y PEFT (Hugging Face) implementan QLoRA. El código típico:
from transformers import BitsAndBytesConfig
bnb = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4")Para qué sirve
QLoRA sirve para democratizar el ajuste fino de modelos grandes. Equipos pequeños e investigadores pueden adaptar modelos potentes sin clústeres de GPU. Es la técnica más usada para crear modelos especializados (en código, medicina, derecho) a partir de modelos base abiertos, con costo accesible.