LoRA vs QLoRA: ¿qué método de fine-tuning debería usar?
Traducción automática
Este artículo se tradujo automáticamente a partir de la versión original en inglés.
LoRA entrena pequeñas matrices adaptadoras y mantiene congelados los pesos preentrenados. QLoRA aplica ese enfoque a un modelo base almacenado con una precisión de 4 bits. Empieza con LoRA si el modelo base cabe con margen; considera QLoRA si sus pesos congelados consumen demasiada memoria de entrenamiento.
Ambos métodos siguen necesitando memoria para las activaciones, los gradientes de los adaptadores y el estado del optimizador. Los lotes más grandes y las secuencias más largas aumentan la memoria de activaciones y búferes temporales. Con una configuración fija de adaptadores, el tamaño de los gradientes y del estado del optimizador depende de los parámetros entrenables.
La diferencia está en los pesos base
LoRA representa una actualización de pesos mediante dos matrices pequeñas en lugar de entrenar toda la matriz de pesos. Si el peso original tiene dimensiones d × k, un adaptador de rango r entrena matrices de r × k y d × r. El rango determina el tamaño del adaptador; no ofrece una medida universal de la dificultad de la tarea.
| Opción | Base congelada | Parte entrenable | Principal compromiso |
|---|---|---|---|
| LoRA | Normalmente BF16 o FP16 | Adaptadores de bajo rango | Mayor asignación de memoria para los pesos base |
| QLoRA | Pesos cuantizados a 4 bits | Adaptadores de bajo rango, con aritmética de mayor precisión | Menos memoria para los pesos base, con trabajo de descuantización |
El artículo original de LoRA describe pesos congelados y actualizaciones entrenables de bajo rango. Tras el entrenamiento, un adaptador puede fusionarse con pesos base compatibles, lo que evita una operación separada del adaptador durante la inferencia. El despliegue cuantizado y la fusión requieren que las herramientas elegidas los admitan.
El artículo de QLoRA utilizó NF4, una representación de 4 bits diseñada para pesos con distribución normal, además de doble cuantización y optimizadores paginados. En la configuración probada, realizó fine-tuning de un modelo de 65B parámetros en una sola GPU de 48 GB. Ese resultado no garantiza que otro modelo, longitud de secuencia o configuración de entrenamiento quepa igual.
Compara una ejecución de entrenamiento controlada
Mantén constantes el checkpoint base, los ejemplos, los módulos de destino de los adaptadores, el rango, la longitud de secuencia y el conjunto de evaluación. Registra el pico de memoria, el tiempo de entrenamiento y la calidad de la tarea en ejemplos reservados. Si QLoRA ahorra memoria pero ralentiza la ejecución, decide si usar menos GPUs compensa ese tiempo.
Prueba también el artefacto real de inferencia. La calidad del adaptador medida con las herramientas de entrenamiento puede variar tras la fusión o una cuantización adicional.
La sección sobre LoRA y QLoRA de la Guía de ingeniería de LLM explica la actualización de parámetros y sus implicaciones para el hardware.