Saltar al contenido
Explorar conocimiento

método · intermedio · 5 min de lectura

Fine-tuning

Fine-tuning adapta un modelo preentrenado con ejemplos específicos para que responda con un comportamiento más consistente en una tarea o estilo determinado.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • fine-tuning as adapting a pretrained model with task-specific examples
  • supervised fine-tuning data shape, behavior alignment, and evaluation at a conceptual level
  • trade-offs between fine-tuning, prompting, and retrieval-augmented generation

No cubre

  • full training infrastructure and distributed optimization
  • reinforcement learning from human feedback
  • parameter-efficient tuning internals such as LoRA adapters

Supone

  • The reader understands basic LLM prompting, examples, datasets, and application-level model behavior.

Resumen

Fine-tuning es ajustar un modelo preentrenado usando un conjunto de ejemplos específicos para cambiar su comportamiento en una tarea, formato, tono o patrón de decisión. En vez de explicar cada vez la misma instrucción en el prompt, entrenas al modelo con pares de entrada y salida que muestran cómo debería responder.

Importa cuando necesitas consistencia repetible. Si una aplicación exige un formato estricto, una clasificación estable, un estilo propio o respuestas que sigan criterios internos, fine-tuning puede reducir variación y costo de prompting. No es la herramienta correcta para memorizar conocimiento cambiante: para eso suele calzar mejor RAG o una fuente consultable en tiempo de ejecución.

Alcance y supuestos

Este paquete cubre fine-tuning supervisado a nivel conceptual: cuándo usarlo, qué tipo de dataset necesita, cómo se diferencia de prompting y RAG, y qué evaluar antes de confiar en el modelo ajustado.

No cubre infraestructura de entrenamiento distribuido, RLHF, LoRA, cuantización, selección avanzada de hiperparámetros ni evaluación estadística completa. Asume que entiendes prompts, ejemplos, datasets y que un LLM produce texto condicionado por entrada.

Modelo mental

Piensa en entrenar a un nuevo ejecutivo de soporte con una carpeta de casos reales corregidos. No le entregas toda la intranet para que la memorice. Le muestras muchas conversaciones típicas, respuestas buenas, errores frecuentes y el tono esperado. Con suficientes ejemplos buenos, aprende el patrón de respuesta del equipo.

Fine-tuning funciona parecido. El modelo base ya sabe lenguaje general. El ajuste le enseña una forma más específica de comportarse: cómo estructurar una respuesta, qué criterios priorizar, qué etiquetas usar o qué estilo mantener.

La carpeta de entrenamiento debe representar el comportamiento deseado. Si contiene ejemplos inconsistentes, ambiguos o desactualizados, el modelo aprende esa inconsistencia. Fine-tuning amplifica patrones del dataset; no convierte datos malos en reglas confiables.

Uso práctico

Usa fine-tuning cuando el problema es comportamiento repetible, no recuperación de datos:

  • ✅ Clasificar tickets en categorías internas con ejemplos representativos puede ser buen caso de fine-tuning.
  • ✅ Generar respuestas con tono, estructura y restricciones muy específicas puede beneficiarse de ejemplos curados.
  • ❌ Preguntar por políticas que cambian cada semana no debería depender de fine-tuning; usa recuperación o una base actualizada.
  • ❌ Ajustar un modelo sin un set de evaluación separado puede ocultar que solo memorizaste ejemplos o empeoraste casos comunes.

Ejemplo trabajado: ajustar una clasificación de tickets

Supón que soporte necesita clasificar mensajes entrantes en tres etiquetas internas: billing, technical o account. Con prompting, podrías explicar las reglas en cada request. Con fine-tuning, construyes ejemplos corregidos que muestran entradas reales y la salida esperada.

{"messages":[{"role":"user","content":"Me cobraron dos veces este mes"},{"role":"assistant","content":"billing"}]}
{"messages":[{"role":"user","content":"No puedo iniciar sesión con mi email"},{"role":"assistant","content":"account"}]}
{"messages":[{"role":"user","content":"La app se queda cargando al subir un archivo"},{"role":"assistant","content":"technical"}]}

Cada línea enseña una decisión. El objetivo no es que el modelo recuerde esos tickets exactos, sino que aprenda el criterio de clasificación usado por el equipo.

Antes de entrenar, separas datos en al menos dos grupos: entrenamiento y evaluación. El set de entrenamiento ajusta el modelo. El set de evaluación mide si el modelo generaliza a casos que no vio durante el ajuste.

type TicketExample = {
  input: string;
  expectedLabel: "billing" | "technical" | "account";
};

const evaluationSet: TicketExample[] = [
  {
    input: "Necesito cambiar la tarjeta registrada",
    expectedLabel: "billing",
  },
  {
    input: "Mi cuenta aparece bloqueada",
    expectedLabel: "account",
  },
];

Después del fine-tuning, comparas predicciones contra expectedLabel. Si mejora en ejemplos nuevos y mantiene errores aceptables, el ajuste puede tener sentido. Si falla por falta de información actualizada, probablemente el problema no era comportamiento sino conocimiento disponible.

La decisión práctica es distinguir tres necesidades:

  1. ¿Necesitas que el modelo use datos externos recientes? Usa RAG o herramientas.
  2. ¿Necesitas que siga un formato o criterio repetible? Fine-tuning puede ayudar.
  3. ¿Necesitas resolver pocos casos simples? Prompting con buenos ejemplos puede ser suficiente.

Fine-tuning tiene costo operativo: preparar datos, revisar calidad, entrenar, evaluar, versionar y monitorear drift. Vale la pena cuando ese costo compra consistencia o rendimiento que no logras de forma estable con prompts y recuperación.

Evidencia

Conexiones

Relacionados y alternativas

Relacionado

Ver grafo local

Fuentes citadas