Low-Rank Adaptation (LoRA) (ES)
Low-Rank Adaptation (LoRA) es un método de ajuste fino eficiente en parámetros (PEFT, por sus siglas en inglés) que permite adaptar grandes modelos de lenguaje (LLM) a nuevas tareas con un costo computacional mínimo. La tecnología fue presentada por primera vez en un trabajo de Edward Hu y sus colegas en 2021[1].
El ajuste fino completo (full fine-tuning) de modelos grandes, como LLaMA o GPT, requiere enormes recursos, lo que lo hace inaccesible para la mayoría de los investigadores y desarrolladores. LoRA resuelve este problema al permitir el ajuste de solo una pequeña parte de los parámetros del modelo, manteniendo una alta calidad y un rendimiento comparables a los del ajuste fino completo[2].
Principio de funcionamiento
La idea principal de LoRA es no modificar los pesos originales del modelo preentrenado, sino agregarles una pequeña matriz de "corrección". En lugar de entrenar directamente la enorme matriz de pesos `W`, LoRA representa su cambio como el producto de dos matrices más pequeñas de bajo rango.
Formalmente, si la matriz de pesos original de una capa `W_0` tiene dimensiones `d × k`, su actualización se representa como `ΔW = BA`, donde `B` es una matriz de dimensiones `d × r` y `A` es una matriz de dimensiones `r × k`. El rango `r` es un hiperparámetro y es significativamente menor (`r << d, k`). Durante el proceso de ajuste fino, los pesos originales `W_0` se congelan, y solo se entrenan las matrices `A` y `B`. La matriz de pesos final se calcula como `W = W_0 + BA`.
Esto permite reducir la cantidad de parámetros entrenables miles de veces. Por ejemplo, al realizar el ajuste fino de GPT-3 (175 mil millones de parámetros), LoRA reduce el número de parámetros entrenables en 10,000 veces y disminuye los requisitos de memoria de la GPU en 3 veces[1].
Ventajas clave
- Ahorro de recursos: Reduce drásticamente la cantidad de parámetros entrenables (hasta un 90% o más), lo que disminuye significativamente el consumo de memoria de video (VRAM) y acelera el proceso de entrenamiento.
- Sin latencia en la inferencia: Después del entrenamiento, las matrices `B` y `A` pueden "fusionarse" con la matriz principal `W_0` calculando `W = W_0 + BA`. De esta manera, no se agregan cálculos ni latencias adicionales durante el uso del modelo[1].
- Modularidad y cambio rápido de tareas: Los adaptadores LoRA entrenados son archivos pequeños (de unos pocos megabytes). Esto permite almacenar fácilmente docenas de adaptadores para diferentes tareas y cambiar rápidamente entre ellos sin modificar el modelo base[3].
Limitaciones y modificaciones
Aunque LoRA es muy eficiente, su naturaleza de bajo rango puede ser una limitación para tareas que requieren memorizar un gran volumen de información nueva. Para resolver este y otros problemas, se han propuesto diversas modificaciones.
QLoRA
QLoRA (Quantized Low-Rank Adaptation) es una de las modificaciones más populares, propuesta en 2023. Combina LoRA con la cuantización de 4 bits del modelo base[4]. Esto permite reducir aún más los requisitos de memoria, haciendo posible el ajuste fino de modelos con decenas de miles de millones de parámetros (por ejemplo, modelos de 65B) en una sola GPU de consumo. Sobre la base de QLoRA se creó, en particular, el modelo Guanaco, que demostró resultados comparables a los de ChatGPT.
Otras modificaciones
- MoRA (High-Rank Updating): Propuesto para tareas donde LoRA muestra un rendimiento insuficiente debido a la limitación del rango. MoRA utiliza métodos que permiten actualizar los pesos con un rango alto, manteniendo al mismo tiempo la eficiencia en parámetros[5].
Implementación y aplicación
La tecnología LoRA se ha popularizado ampliamente gracias a su eficiencia y facilidad de integración. Un papel clave en su popularización lo ha desempeñado la biblioteca PEFT (Parameter-Efficient Fine-Tuning) de la empresa Hugging Face. PEFT proporciona una interfaz unificada para aplicar LoRA y otros métodos de PEFT a los modelos del ecosistema Transformers[6].
LoRA se utiliza activamente para:
- Adaptar chatbots y sistemas de diálogo (por ejemplo, el ajuste fino de LLaMA, Mistral).
- Crear modelos para la clasificación y generación de texto en dominios altamente especializados.
- Personalizar modelos para un estilo o formato de datos específico.
Enlaces externos
Bibliografía
- Hu, E.J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. arXiv:2305.14314.
- Zhang, Q. et al. (2023). AdaLoRA: Adaptive Budget Allocation for Parameter-Efficient Fine-Tuning. arXiv:2303.10512.
- Chen, Y. et al. (2023). LongLoRA: Efficient Fine-Tuning of Long-Context Large Language Models. arXiv:2309.12307.
- Mao, K. et al. (2024). A Survey on LoRA of Large Language Models. arXiv:2407.11046.
- Jiang, T. et al. (2024). MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning. arXiv:2405.12130.
- Liu, Z. et al. (2024). ALoRA: Allocating Low-Rank Adaptation for Fine-Tuning Large Language Models. arXiv:2403.16187.
- Liu, J. et al. (2025). RoRA: Efficient Fine-Tuning of LLM with Reliability Optimization for Rank Adaptation. arXiv:2501.04315.
- Albert, P. et al. (2025). RandLoRA: Full-Rank Parameter-Efficient Fine-Tuning of Large Models. arXiv:2502.00987.
- Tastan, N. et al. (2025). LoFT: Low-Rank Adaptation That Behaves Like Full Fine-Tuning. arXiv:2505.21289.
Referencias
- ↑ 1.0 1.1 1.2 Hu, E.J., et al. «LoRA: Low-Rank Adaptation of Large Language Models». arXiv:2106.09685. [1]
- ↑ Mao, K., et al. «A Survey on LoRA of Large Language Models». arXiv:2407.11046. [2]
- ↑ Noble, Joshua. «What is LoRA (Low-Rank Adaption)?». IBM Technology. [3]
- ↑ Dettmers, T., et al. «QLoRA: Efficient Finetuning of Quantized LLMs». arXiv:2305.14314. [4]
- ↑ Jiang, Z., et al. «MoRA: High-Rank Updating for Parameter-Efficient Fine-Tuning». arXiv:2405.12130. [5]
- ↑ «LoRA (Low-Rank Adaptation)». Hugging Face LLM Course. [6]