El fine-tuning funciona continuando el proceso de entrenamiento sobre un nuevo dataset, típicamente mucho más pequeño, partiendo de los pesos del modelo pre-entrenado en lugar de una inicialización aleatoria. La mecánica es directa: preparas tus datos como pares de entrada-salida (o pares de instrucción-respuesta), defines un learning rate bajo (generalmente entre 10x y 100x más bajo que el pre-entrenamiento) y entrenas durante unas pocas epochs. El learning rate bajo es crítico — si es demasiado alto, destruyes el conocimiento que el modelo aprendió durante el pre-entrenamiento, un fenómeno llamado catastrophic forgetting. Si es demasiado bajo, el modelo apenas se adapta a tus nuevos datos. Encontrar el balance correcto es más arte que ciencia, y frecuentemente toma varias corridas lograrlo.
Hay varios sabores distintos de fine-tuning, y la terminología suele mezclarse. El full fine-tuning actualiza cada parámetro del modelo — es lo más expresivo pero también lo más costoso y lo más propenso al overfitting en datasets pequeños. El supervised fine-tuning (SFT) se refiere específicamente al entrenamiento con pares etiquetados de instrucción-respuesta, que es como los modelos base se convierten en asistentes de chat. Esto es lo que hace OpenAI cuando usas su API de fine-tuning, y lo que proyectos como Axolotl y LLaMA-Factory hacen fácil de ejecutar localmente. Luego están los métodos parameter-efficient como LoRA y QLoRA, que solo actualizan una fracción pequeña de los parámetros y han reemplazado en gran medida al full fine-tuning para la mayoría de los casos prácticos. La distinción importa porque cada enfoque tiene diferentes requisitos de datos, costos de cómputo y riesgos.
La calidad y el formato de tu dataset de fine-tuning importan enormemente — a menudo más que su tamaño. Unos pocos cientos de ejemplos de alta calidad, cuidadosamente construidos y en el formato correcto, pueden producir mejores resultados que decenas de miles ruidosos. El formato estándar para instruction tuning es una conversación estructurada: mensaje del sistema, mensaje del usuario, respuesta del asistente. La consistencia en formato, tono y calidad dentro de tu dataset es más importante que el volumen. Una trampa común es entrenar con datos que contradicen lo que el modelo aprendió en el pre-entrenamiento — si tu dataset dice que el cielo es verde, el modelo aprenderá a decir que el cielo es verde, pero solo en contextos similares a tus ejemplos de entrenamiento. En otros contextos, revertirá al conocimiento de su pre-entrenamiento, creando un comportamiento inconsistente difícil de depurar.
Saber cuándo hacer fine-tuning versus cuándo usar otros enfoques es una de las decisiones prácticas más importantes en IA aplicada. El fine-tuning es la herramienta correcta cuando necesitas que el modelo adopte consistentemente un formato, tono o patrón de comportamiento específico que no puede lograrse de manera confiable solo con prompting. Probablemente sea excesivo — y posiblemente contraproducente — si solo necesitas que el modelo conozca los productos de tu empresa (usa RAG en su lugar) o siga instrucciones específicas por solicitud (usa system prompts). Una buena regla general: si puedes escribir un prompt que obtiene el comportamiento deseado el 90% de las veces, el fine-tuning puede llevarlo al 99%. Si tu prompt solo funciona el 20% de las veces, el fine-tuning por sí solo probablemente no va a resolver el problema — necesitas replantear el enfoque por completo.