ENTRENAMIENTO

Distillation

Técnica que entrena un modelo pequeño (alumno) para imitar el comportamiento de un modelo grande (profesor), preservando gran parte de su calidad con una fracción del coste.

Nivel · intermedio5 min de lecturaActualizado 24 may 2026
También conocido como: Knowledge distillation, Destilación de conocimiento, Teacher-student

Definición

Distillation (destilación de conocimiento, o knowledge distillation) es una técnica de entrenamiento en la que un modelo pequeño (llamado alumno o student) se entrena para imitar el comportamiento de un modelo grande (llamado profesor o teacher) ya entrenado. El objetivo: obtener un modelo compacto que preserve gran parte de la calidad del grande, pero con una fracción del coste de inferencia.

Introducida en su forma moderna por Hinton et al. en 2015, hoy es una de las técnicas clave detrás de los modelos pequeños sorprendentemente buenos: Phi-3 (Microsoft), Gemma 2 (Google), Llama 3.1 Mini, DeepSeek-Distill, Mistral Small. También se usa internamente en empresas para crear versiones rápidas y baratas de modelos frontera.

La intuición clave: un modelo grande no solo "sabe la respuesta correcta", también sabe cuán probables son las alternativas. Esa información de "todas las opciones" es muchísimo más rica que solo "la respuesta". Entrenar al alumno con esa información completa le permite aprender mejor que con datasets etiquetados normales.

Cómo funciona

El proceso básico de distillation tiene dos fases:

  1. El profesor genera "soft labels": para cada input, el modelo grande no produce solo la respuesta más probable, sino la distribución completa de probabilidades sobre todas las opciones. Estas son las soft labels (a diferencia de las "hard labels" que serían solo la respuesta correcta).

  2. El alumno se entrena para reproducir esas soft labels: el alumno hace forward pass sobre los mismos inputs y se le penaliza por divergir de la distribución del profesor (típicamente con KL-divergence como función de pérdida).

Diferencia con fine-tuning normal:

  • Fine-tuning normal: enseñas al modelo "la respuesta correcta es X".
  • Distillation: enseñas al modelo "la respuesta correcta es X con 70% prob, Y con 20%, Z con 5%, ...".

Esa información más rica permite que un modelo pequeño aprenda mucho más rápido y mejor que entrenando desde cero con datos etiquetados.

Tipos de distillation

A lo largo de los años se han desarrollado varias variantes:

  • Response distillation (clásica): el alumno imita las salidas del profesor en un dataset.
  • Hidden state distillation: el alumno imita no solo las salidas sino representaciones internas (embeddings, activaciones) del profesor.
  • Self-distillation: el profesor y el alumno son el mismo modelo en distintos momentos del entrenamiento.
  • Multi-teacher distillation: el alumno aprende de varios profesores combinados.
  • Sequence-level distillation: el alumno genera secuencias completas y se compara con las del profesor.
  • Data distillation: el profesor genera un dataset sintético que se usa para entrenar al alumno desde cero (la línea moderna más usada).

Ejemplo práctico

En AE Works tenemos un cliente que necesita un asistente conversacional sobre su catálogo, autohospedado por privacidad. El modelo frontera (Claude Opus 4) es excelente pero caro de servir y no puede vivir en sus servidores.

Plan:

  1. Generar dataset con el profesor: enviamos 20.000 consultas reales/sintéticas a Claude Opus 4 vía API. Guardamos respuestas completas + razonamiento + ejemplos.
  2. Distillation hacia alumno: tomamos Llama 3.1 8B (autohospedable en una sola GPU consumer) y le hacemos fine-tuning con el dataset generado.
  3. Validación: comparamos el alumno con el profesor en un set de eval. Típicamente conserva 85-95% de la calidad en el dominio específico, con 100× menos coste de inferencia.

Resultado: cliente tiene un asistente top en sus propios servidores, con la "destilación" del conocimiento de Claude Opus dentro de un modelo de 8B. Velocidad: 70 tokens/s en una RTX 4090. Coste por token: prácticamente 0 €.

Esto es lo que DeepSeek hizo con sus modelos distill, lo que Microsoft hizo con Phi-3 (usando GPT-4 como profesor), y lo que muchas empresas hacen privadamente para crear modelos verticales.

Por qué los modelos pequeños modernos son tan buenos

La explicación de por qué Phi-3 Mini (3.8B) supera a Llama 2 70B antiguo en muchos benchmarks es esencialmente distillation + datos de calidad:

  • Phi-3 se entrenó con datos generados/curados por GPT-4 (el "profesor implícito").
  • Gemma 2 se entrenó con técnicas similares usando Gemini Ultra como profesor.
  • DeepSeek-R1-Distill series son destilaciones directas de DeepSeek-R1 grande.

El truco: un modelo pequeño con datos de calidad de un modelo grande supera a un modelo grande con datos mediocres. La distillation es el mecanismo que materializa esa observación.

Distillation vs cuantización vs pruning

Tres formas distintas de hacer un modelo más eficiente:

  • Distillation: nuevo modelo pequeño entrenado desde cero o con base previa. Cambio de tamaño + cambio de arquitectura posible.
  • Cuantización (Quantization): mismo modelo, menos precisión por parámetro (BF16 → INT8 → INT4). Sin reentrenar (o con calibración mínima).
  • Pruning: eliminar pesos pequeños del modelo (los que aportan poco). Sin cambiar arquitectura.

Las tres son combinables. Un modelo top moderno desplegado suele ser: distillation a un tamaño manejable + cuantización + posible pruning.

Errores comunes al hablar de distillation

  • "Es plug-and-play": no. Requiere generar dataset de calidad, elegir arquitectura del alumno, ajustar pérdidas, validar. Hay arte en el proceso.
  • "Preserva el 100% de la calidad": rara vez. 80-95% es típico. Para tareas muy complejas, distillation puede perder mucho.
  • Confundir con simple fine-tuning: distillation usa el output completo del profesor, no solo respuestas correctas.
  • Esperar que un alumno 100× más pequeño sea solo 5% peor: depende del dominio. Tareas simples sí, razonamiento complejo no.
  • Pensar que es ético/legal automáticamente: usar GPT-4 como profesor para entrenar un competidor puede violar términos de servicio. Verifica.
  • No considerar el coste del profesor: generar el dataset puede costar miles de € en llamadas API.

Cuándo usar distillation

Sí, considera distillation cuando:

  • Tienes un modelo grande excelente pero quieres servirlo barato/rápido.
  • Necesitas autohospedar y el frontera es demasiado grande.
  • Tu dominio es específico y un modelo pequeño bien destilado puede cubrirlo.
  • Quieres crear un modelo edge (móvil, IoT) que sea capaz.

Es menos práctico cuando:

  • Necesitas todo el conocimiento general del frontera (un alumno pequeño no puede contenerlo).
  • No tienes acceso a un profesor superior (no puedes destilar un GPT-5 si solo tienes Llama 8B).
  • Tu volumen no justifica la inversión en el proceso de distillation.

Referencias

Tagsiaentrenamientoeficienciacompresión