Fine-tuning: adaptar modelos de IA a datos propios

·

El fine-tuning (ajuste fino) es el proceso de tomar un modelo previamente entrenado sobre un gran corpus general y continuar su entrenamiento sobre un conjunto de datos específico y propio, para que se especialice en una tarea o un dominio concreto. Es una aplicación directa del transfer learning (aprendizaje por transferencia): en lugar de entrenar un modelo desde cero —algo que exige millones de ejemplos y un coste de cómputo prohibitivo—, se aprovecha el conocimiento general ya codificado en los pesos del modelo base y se le añade el matiz del dominio.

La intuición es la de un profesional cualificado. Un lingüista con formación general no necesita reaprender el idioma para redactar dictámenes jurídicos: necesita exponerse a un volumen acotado de textos jurídicos para dominar la terminología y el registro. El fine-tuning hace exactamente eso con un modelo: parte de una base competente y la afina con ejemplos del dominio en cuestión, ya sea clasificación de imágenes médicas, atención al cliente en un sector regulado o extracción de datos de documentos financieros.

Fine-tuning frente a otras alternativas

Antes de ajustar nada conviene saber si el fine-tuning es la herramienta adecuada, porque a menudo no lo es. Para muchos casos de uso con modelos de lenguaje, el prompt engineering bien hecho resuelve el problema sin entrenar nada. Cuando el problema es que el modelo necesita conocimiento factual actualizado o propietario, la generación aumentada por recuperación (RAG) suele ser preferible: recupera documentos relevantes y los inyecta en el contexto, sin tocar los pesos. El fine-tuning brilla en otro escenario: cuando se busca cambiar el comportamiento del modelo —su formato de salida, su estilo, su forma de razonar sobre una tarea repetitiva— más que dotarlo de hechos nuevos. Confundir un problema de conocimiento con uno de comportamiento es el origen de muchos proyectos de fine-tuning frustrados.

Métodos de ajuste: del full fine-tuning a LoRA

El ajuste fino completo (full fine-tuning) actualiza todos los parámetros del modelo. Ofrece la máxima capacidad de adaptación, pero su coste de cómputo y memoria crece con el tamaño del modelo y, en modelos grandes, resulta inviable fuera de infraestructuras especializadas. De ahí el auge del fine-tuning eficiente en parámetros (PEFT, parameter-efficient fine-tuning).

La técnica más extendida es LoRA (Low-Rank Adaptation): en lugar de modificar los pesos originales, congela el modelo base y entrena unas pequeñas matrices de bajo rango que se suman a las capas de atención. El resultado entrena una fracción ínfima de los parámetros —a menudo menos del 1 %— con una calidad muy cercana al ajuste completo y un coste radicalmente menor. Su variante QLoRA añade cuantización del modelo base a 4 bits, lo que permite ajustar modelos de gran tamaño en una sola GPU de consumo. Esto ha democratizado el fine-tuning: tareas que antes requerían un cluster hoy caben en una estación de trabajo.

La elección de hiperparámetros en LoRA tiene su propia lógica. El rango de las matrices controla cuánta capacidad de adaptación se concede: rangos bajos (8 o 16) bastan para tareas de estilo o formato, mientras que dominios muy alejados del entrenamiento original pueden requerir rangos mayores. El factor alpha escala la contribución de las matrices entrenadas, y la tasa de aprendizaje en PEFT suele ser más alta que en el ajuste completo porque hay muchos menos parámetros que mover. Una ventaja operativa poco mencionada es que los adaptadores LoRA resultantes pesan apenas unos megabytes, frente a los gigabytes del modelo completo: se pueden almacenar, versionar e incluso intercambiar en caliente varios adaptadores sobre un mismo modelo base servido en memoria, lo que abre la puerta a especializar un único modelo en múltiples tareas sin multiplicar el coste de infraestructura.

El dataset: donde se gana o se pierde el proyecto

La calidad del conjunto de datos determina el resultado por encima de cualquier elección de hiperparámetros. Un principio repetido en la práctica es que unos pocos cientos o miles de ejemplos excelentes superan a decenas de miles de ejemplos mediocres. Los ejemplos deben ser representativos de la tarea real, consistentes en formato y libres de contradicciones —si dos ejemplos casi idénticos tienen salidas opuestas, el modelo aprende ruido—. Para tareas instructivas, el formato habitual es de pares instrucción-respuesta; para clasificación, ejemplos etiquetados con cobertura equilibrada de todas las clases. La limpieza y deduplicación del dataset, junto a una división honesta entre entrenamiento, validación y test, es trabajo poco vistoso pero decisivo.

Hay tres trampas recurrentes en la construcción del dataset que conviene anticipar. La primera es la fuga de datos (data leakage): ejemplos casi idénticos que acaban repartidos entre entrenamiento y test inflan artificialmente las métricas y hacen creer que el modelo generaliza cuando solo ha memorizado. La deduplicación cuidadosa, incluso por similitud semántica y no solo por coincidencia exacta, es la defensa. La segunda es el sesgo de muestreo: si los ejemplos provienen solo de los casos fáciles o de un único tipo de cliente, el modelo fracasará ante la diversidad del mundo real. La tercera afecta a los datos personales: cualquier ejemplo que contenga información identificable obliga a una base legitimadora bajo el RGPD y, con frecuencia, a seudonimizar o anonimizar antes de entrenar, porque un modelo puede llegar a memorizar y reproducir fragmentos de su conjunto de entrenamiento.

Pasos de un proyecto de fine-tuning

  1. Definir la tarea y la métrica de éxito. Sin un criterio cuantificable —exactitud, F1, una rúbrica de evaluación— no hay forma de saber si el ajuste ha mejorado algo.
  2. Establecer la línea base. Medir el rendimiento del modelo base con buen prompting. Si ya es suficiente, no hay proyecto de fine-tuning.
  3. Construir y curar el dataset. Recoger, limpiar, deduplicar y dividir los ejemplos respetando la representatividad de la tarea.
  4. Entrenar con PEFT. Empezar con LoRA o QLoRA, vigilando la curva de pérdida en validación, no solo en entrenamiento.
  5. Evaluar contra la línea base. Comparar sobre el conjunto de test reservado y, cuando sea posible, con evaluación humana sobre casos reales.
  6. Desplegar y monitorizar. Vigilar la deriva: si la distribución de entradas cambia, el modelo ajustado pierde precisión y procede recalibrar.

Errores comunes

El error técnico más frecuente es el sobreajuste (overfitting): entrenar demasiadas épocas hasta que el modelo memoriza los ejemplos en lugar de aprender el patrón, lo que se detecta cuando la pérdida en entrenamiento sigue bajando mientras la de validación sube. El segundo es el olvido catastrófico, por el que un ajuste agresivo degrada capacidades generales que el modelo ya tenía; las técnicas PEFT lo mitigan precisamente por no tocar los pesos base. El tercero, de naturaleza estratégica, es recurrir al fine-tuning para inyectar conocimiento que cambia con frecuencia —ahí RAG es más adecuado y mantenible—. El cuarto, de gobierno, es ignorar la procedencia y la licencia de los datos de entrenamiento y la normativa aplicable: en la Unión Europea, el Reglamento de Inteligencia Artificial impone obligaciones de documentación y transparencia, y si el dataset contiene datos personales entra en juego el RGPD.

Comparativa de estrategias de especialización

EstrategiaCoste de cómputoMejor paraLimitación principal
Prompt engineeringNuloTareas resolubles con buenas instruccionesTecho de control sobre el comportamiento
RAGBajo-medioConocimiento factual actualizado o propietarioNo cambia el estilo ni el formato del modelo
LoRA / QLoRAMedioCambiar comportamiento, formato o estiloRequiere un buen dataset curado
Full fine-tuningAltoEspecialización profunda de dominioCoste e infraestructura; riesgo de olvido

Preguntas frecuentes

¿Cuántos ejemplos hacen falta para hacer fine-tuning? Depende de la tarea, pero la calidad pesa más que la cantidad. Para muchas tareas de instrucción, unos centenares o pocos miles de ejemplos bien curados dan buenos resultados; añadir ejemplos mediocres puede empeorar el modelo.

¿Fine-tuning o RAG? RAG cuando el reto es disponer de conocimiento factual actualizado o privado; fine-tuning cuando se quiere modificar el comportamiento, el formato o el estilo de respuesta. Ambos son combinables: un modelo ajustado que además recupera contexto.

¿Necesito una GPU potente? Con técnicas como QLoRA es posible ajustar modelos de tamaño considerable en una sola GPU de gama media. El full fine-tuning de modelos grandes sí exige infraestructura especializada.

¿El modelo ajustado puede empeorar en tareas generales? Sí, es el olvido catastrófico. Los métodos PEFT lo reducen porque no alteran los pesos originales, y una evaluación que incluya capacidades generales lo detecta antes del despliegue.

En Summum Inteligencia Artificial empezamos cualquier proyecto de fine-tuning por una pregunta incómoda: ¿de verdad hace falta ajustar el modelo, o el problema se resuelve con mejores instrucciones o con recuperación de contexto? Cuando la respuesta confirma que el reto es de comportamiento y no de conocimiento, el ajuste eficiente en parámetros ofrece hoy una relación calidad-coste que hace años era impensable. La diferencia entre un fine-tuning que aporta valor y uno que quema presupuesto rara vez está en la técnica de entrenamiento: está en la honestidad del dataset y en la disciplina de medir contra una línea base. Un modelo especializado es tan bueno como los ejemplos con los que aprendió y tan fiable como la evaluación que lo somete a prueba antes de ponerlo en producción.