El costo del ajuste fino completo
El ajuste fino estándar modifica todos los pesos de un modelo. En un modelo grande eso significa mantener en memoria el estado del optimizador para miles de millones de parámetros durante el entrenamiento (a menudo varias veces el tamaño del modelo), y terminar con una copia completa del modelo por cada tarea. Si quiere diez variantes especializadas, son diez modelos completos que almacenar, cargar y servir. El ajuste fino eficiente en parámetros (PEFT) es la familia de métodos que evita esto, y LoRA es el que se impuso.
La observación clave: la actualización es de bajo rango
Al hacer ajuste fino, el cambio que se aplica a una matriz de pesos grande resulta mucho más simple que la matriz misma: tiene bajo rango, es decir, puede reconstruirse a partir de un puñado de direcciones subyacentes. LoRA (Low-Rank Adaptation, adaptación de bajo rango) aprovecha esto directamente: congela por completo la matriz de pesos original y representa la actualización como el producto de dos matrices delgadas, A (alta y angosta) y B (baja y ancha).
Una actualización completa de una matriz de 4096×4096 son ~16 millones de números. Aproxímela con dos matrices de rango 8 y entrenará 4096×8 + 8×4096 ≈ 65 mil números: una fracción mínima. Solo se entrenan A y B; los pesos originales nunca se mueven. De ahí sale la cifra de “10,000× menos parámetros entrenables”.
Por qué no agrega ningún costo en inferencia
Durante el entrenamiento, el modelo calcula su salida normal más una pequeña corrección del adaptador A·B. La parte elegante: como el adaptador es solo un producto de matrices sumado al peso congelado, puede fusionarse con los pesos originales después del entrenamiento, plegando A·B en W para obtener una sola matriz actualizada. El modelo fusionado es, bit por bit, un modelo normal del mismo tamaño y velocidad. A diferencia de métodos de adaptadores más antiguos que insertaban capas extra (y latencia extra), un LoRA fusionado no agrega nada en inferencia.
Comportamientos intercambiables en caliente
Como cada adaptador LoRA es pequeño (megabytes, no gigabytes), puede mantener muchos adaptadores para un mismo modelo base y cargarlos bajo demanda: un adaptador de tono legal, uno de formato JSON, uno específico para un cliente. Los sistemas de servicio pueden incluso mantener el modelo base residente en memoria e intercambiar adaptadores por solicitud. Esa es la clave económica: un modelo base caro en memoria y muchas especializaciones baratas encima, en lugar de un modelo completo por caso de uso.
QLoRA fue más lejos al cuantizar a 4 bits el modelo base congelado mientras entrena el adaptador con mayor precisión, lo que hizo posible el ajuste fino de modelos muy grandes en una sola GPU de consumo. La combinación (base congelada y cuantizada, adaptador pequeño de alta precisión) es la razón por la que el ajuste fino de modelos grandes se volvió accesible fuera de los grandes laboratorios.
Cuándo basta con LoRA, y sus límites
Para la mayoría de los objetivos de ajuste fino (tono, formato, un dominio, seguir instrucciones en una tarea acotada) LoRA se acerca mucho al ajuste fino completo a una fracción del costo, y es la opción predeterminada correcta. Sus límites aparecen cuando se intenta instalar una capacidad amplia genuinamente nueva o cambiar de forma sustancial el conocimiento del modelo: la actualización de bajo rango es, por diseño, un empujón pequeño, y un empujón pequeño solo llega hasta cierto punto. Para eso se necesitan más datos, un rango más alto o ajuste fino completo, pero esos casos son más raros de lo que se suele suponer.
La conclusión: LoRA replanteó el ajuste fino, de “reentrenar y entregar un modelo nuevo” a “entrenar un parche pequeño, fusionable e intercambiable”. Por eso la respuesta práctica a “¿podemos personalizar este modelo?” hoy suele ser que sí, y barato.