Capítulo 14 · Fine-tuning · 9 min

Especializar un modelo sin reentrenar todo

LoRA, QLoRA, SFT. Cómo adaptar un modelo generalista a un dominio específico entrenando el 0,1% de sus parámetros.

Adaptar sin reentrenar todo

Entrenar un LLM desde cero cuesta enorme cantidad de datos, computo y tiempo. Pero a menudo no queremos crear un modelo nuevo. Queremos adaptar uno existente a un estilo, un formato o un dominio.

Eso es el fine-tuning.

LoRA añade dos pequeñas matrices junto a los pesos existentes. En lugar de modificar miles de millones de parámetros, se entrenan unos pocos millones — la mayoría del modelo queda congelada y compartida entre todas las variantes fine-tuneadas.

El problema

Un modelo grande puede tener miles de millones de parametros. Actualizarlos todos para una tarea pequeña es caro, lento y arriesgado: puedes degradar capacidades generales que ya funcionaban.

Necesitamos una adaptacion ligera.

RLHF (y DPO en la practica)

Lo vimos en el capitulo 08. El refuerzo por feedback humano aprende preferencias. Es complementario al SFT, no un reemplazo.

Detalle importante: desde 2024, la mayoria de los fine-tunings de preferencia se hacen via DPO (Direct Preference Optimization) en vez del PPO clasico del RLHF. Es lo que convierte un modelo solo-SFT en un modelo alineado, sin el coste de computo del RL. El detalle esta en el capitulo 08.

LoRA

LoRA congela los pesos principales y aprende pequeñas matrices adicionales de bajo rango.

En vez de modificar directamente una matriz enorme W, aprende una correccion:

W' = W + ΔW

Donde ΔW se escribe como el producto de dos matrices mucho mas pequeñas. El rango controla cuanta expresividad tiene esa correccion.

Que cambia realmente

LoRA no añade conocimiento ilimitado. Ajusta rutas internas para que ciertos patrones sean mas probables:

  • responder con un formato especifico
  • adoptar una terminologia de dominio
  • imitar un estilo editorial
  • seguir ejemplos de una tarea recurrente

Para conocimiento factual cambiante, RAG suele ser mejor. Para comportamiento repetido y formato estable, fine-tuning puede ser mas adecuado.

Variante popular: QLoRA carga el modelo base en 4 bits para reducir aun mas el coste de memoria, manteniendo los adaptadores LoRA en 16 bits. Para la mecanica de la quantization en si (FP32 → INT4 → INT2, lo que se pierde en cada nivel), ver el capitulo 18.

Lo siguiente

Hasta ahora hemos tratado texto. Pero el mismo principio de tokens puede extenderse a imagenes, audio y otros datos. Solo hay que convertirlos en secuencias que el Transformer pueda leer.

Actualizado el

Fine-tuning: LoRA, QLoRA, SFT explicados · Step by Token