Saltar al contenido

Destilación de conocimiento en IA para el desarrollo de modelos más eficientes

En el campo de la inteligencia artificial, la destilación de conocimiento (knowledge distillation) se ha convertido en una técnica muy interesante para optimizar modelos sin sacrificar de manera significativa su rendimiento. 

Este proceso que permite transferir el conocimiento de modelos complejos a modelos más pequeños, tiene como objetivo que estos modelos más pequeños puedan aprender patrones y estructuras de datos más profundas que las que se obtendrían con el entrenamiento convencional.

Para conocer esta técnica en profundidad, en el artículo de hoy profundizaremos en la historia que hay detrás de este concepto, los diferentes modelos que existen, así como también, su mecanismo e implementaciones.

Historia y evolución de la destilación de conocimiento

El concepto de destilación de conocimiento tiene sus raíces en el trabajo de Caruana et al. en 2006, cuando demostraron que un modelo de clasificación masivo podía utilizarse para etiquetar un conjunto de datos y, posteriormente, entrenar una red neuronal más compacta con un rendimiento comparable. 

Posteriormente, Hinton et al. (2015) ampliaron esta idea introduciendo un esquema de destilación formal, en el que propusieron un enfoque de doble fase: primero entrenar un modelo grande para extraer la estructura de los datos y luego transferir dicho conocimiento a un modelo más pequeño y, por tanto, más adecuado para la implementación en tiempo real.

Así es como nació la destilación del conocimiento, considerada hoy como una técnica avanzada de machine learning (ML) diseñada para transferir la capacidad de generalización y aprendizaje de un modelo grande, conocido como “modelo profesor”, a un modelo más compacto, denominado “modelo estudiante”, convirtiéndose así, en un elemento clave en la optimización de redes neuronales profundas, particularmente en el contexto de la inteligencia artificial generativa (GenAI) y los modelos de lenguaje a gran escala (LLM).

Por otro lado, cabe añadir que el objetivo de la destilación del conocimiento no es solo replicar los resultados del modelo profesor, sino también capturar y emular sus patrones de razonamiento para mejorar la eficiencia computacional sin sacrificar de manera importante el rendimiento. 

Mecanismo de la destilación de conocimiento

Como acabamos de ver, la destilación del conocimiento se basa en la idea de que un modelo neuronal grande aprende patrones y estructuras de datos complejos que pueden ser transferidos a un modelo más pequeño a través de un proceso de entrenamiento supervisado. Para lograrlo, el mecanismo utiliza una serie de funciones que comentamos a continuación:

Objetivos duros y objetivos blandos

Los modelos de deep learning utilizan funciones softmax para generar predicciones con la mayor probabilidad de ser correctas. Sin embargo, los valores intermedios (logits) contienen información útil sobre las tendencias de generalización del modelo. En la destilación, estos valores intermedios, conocidos como “objetivos blandos”, se utilizan como guía para entrenar al modelo estudiante, permitiendo una mejor transferencia del conocimiento que si se utilizara solo la etiqueta final de la clase correcta, conocida como “objetivo duro”.

En una tarea de clasificación, como por ejemplo, en la identificación de imágenes de animales, el modelo genera una distribución de probabilidad sobre las posibles clases y selecciona la categoría con la mayor probabilidad como su predicción.

  • Objetivos duros: Son las etiquetas de clasificación estándar utilizadas en el aprendizaje supervisado. Representan una asignación binaria de probabilidad, donde la categoría correcta recibe un 100% y las demás un 0%.
  • Objetivos blandos: Son las distribuciones de probabilidad generadas por el modelo antes de tomar una decisión final. En lugar de asignar una certeza absoluta, reflejan la incertidumbre y las similitudes entre clases. Por ejemplo, una imagen de un Golden Retriever podría recibir 75% de probabilidad para “Golden Retriever”, 20% para “Labrador Retriever” y 5% para “Pastor Alemán”, proporcionando información adicional sobre cómo el modelo percibe las relaciones entre categorías.

Así pues, el modelo estudiante no solo aprende a predecir la respuesta final correcta, sino que también aprende a captar la relación entre clases y la forma en que el modelo profesor generaliza sobre los datos. Esto le permite adquirir una comprensión más matizada y flexible, en lugar de una clasificación rígida basada únicamente en objetivos duros. Por tanto, como hemos visto en el ejemplo, el estudiante puede aprender que los Golden Retriever y los Labradores Retriever son más similares entre sí que con un Pastor Alemán, lo que mejora su capacidad de clasificar nuevas imágenes.

Como resumen, podemos decir que los objetivos blandos contienen información sobre cómo piensa el modelo profesor, lo que hace que el estudiante pueda aprender patrones más sutiles de los datos, mejorando así su capacidad de generalización con menos ejemplos de entrenamiento.

Función de pérdida por destilación

El entrenamiento de un modelo de deep learning se basa en minimizar una función de pérdida, que mide la diferencia entre las predicciones del modelo y las respuestas correctas. En la destilación del conocimiento, se utilizan dos funciones de pérdida principales para garantizar que el modelo estudiante aprenda correctamente del modelo profesor:

  • Pérdida dura: La pérdida dura se basa en la diferencia entre la predicción final del modelo estudiante y la etiqueta real de la muestra. Normalmente, se utiliza la entropía cruzada, que penaliza las predicciones incorrectas y empuja al modelo a mejorar su precisión.

    Por ejemplo, si la imagen es un “gato” y el modelo estudiante predice “perro”, la pérdida dura se encargará de corregir este error ajustando los parámetros del modelo.
  • Pérdida de destilación: La pérdida de destilación mide la diferencia entre las distribuciones de probabilidad del modelo profesor y del modelo estudiante. En lugar de solo corregir errores finales, esta pérdida se enfoca en hacer que el modelo estudiante imite el patrón de predicción del modelo profesor.

    La métrica más usada para esta comparación es la divergencia de Kullback-Leibler, que mide cuánto de diferente es la distribución de probabilidad del modelo estudiante en comparación con la del profesor. Por otro lado, también se suele utilizar un parámetro de temperatura, que suaviza las predicciones y hace que la distribución de probabilidades sea más informativa, permitiendo que el modelo estudiante aprenda con mayor precisión.

Otros tipos de destilación de conocimiento

Aunque en el artículo de hoy hemos explicado la forma de destilación clásica, nos gustaría añadir que existen diversos enfoques para la destilación de conocimiento. A continuación, los comentamos brevemente:

  • Destilación basada en características: Se enfoca en la transferencia de representaciones internas del modelo maestro al estudiante, lo que implica la comparación de los mapas de características extraídos en diferentes capas de la red neuronal.
  • Destilación de atención: Aprovecha los mecanismos de atención de redes neuronales avanzadas, como los transformers, para guiar el aprendizaje del modelo estudiante de manera más efectiva.
  • Destilación basada en relación: En lugar de transferir solo salidas o características, este método intenta capturar las relaciones entre instancias dentro del espacio de representación del modelo maestro.

Aunque cada método tiene ventajas y aplicaciones específicas, en la práctica, se pueden combinar múltiples enfoques para lograr un modelo estudiante más eficiente y preciso.

Implementación de la destilación de conocimiento

La destilación del conocimiento puede implementarse de diversas maneras, dependiendo de si el modelo profesor se encuentra preentrenado o si se entrena simultáneamente con el modelo estudiante. Los principales enfoques son:

  • Destilación fuera de línea: Este es el enfoque más tradicional y ampliamente utilizado, en el que el modelo profesor se entrena previamente de manera independiente y luego se congela para evitar la actualización de sus parámetros. De esta manera, se entrena el modelo estudiante utilizando la salida del maestro como guía (es decir, las predicciones generadas por el modelo maestro para una entrada determinada), optimizando la función de pérdida para minimizar la diferencia entre las predicciones de ambos modelos.
  • Destilación en línea: A diferencia de la destilación fuera de línea, en este esquema el modelo profesor y el estudiante se entrenan simultáneamente, lo que permite una transferencia de conocimiento dinámica y continua. Con este entreno simultáneo para ambos modelos, donde el maestro genera predicciones en cada paso del proceso, el modelo estudiante ajusta los valores de sus parámetros internos, no solo en función de las etiquetas originales, sino también aprovechando la información proporcionada por el maestro. De este modo, ambos modelos evolucionan juntos, adaptándose mutuamente y permitiendo una transferencia de conocimiento más dinámica y eficiente.
  • Autodestilación: Este enfoque elimina la necesidad de un modelo maestro separado y, en su lugar, el mismo modelo actúa como su propio profesor y estudiante, refinando sus representaciones internas a lo largo del entrenamiento. De esta manera, el proceso de refinamiento continuo puede mejorar su capacidad de generalización sin necesidad de un modelo maestro separado.

Conclusión

La destilación del conocimiento ha emergido como una técnica clave para mejorar la eficiencia y accesibilidad de los modelos de IA modernos. Al permitir la transferencia de conocimiento desde modelos de gran escala a versiones más compactas y eficientes, la destilación del conocimiento se ha convertido en una herramienta fundamental en la democratización de la IA generativa y en la expansión de su aplicabilidad en entornos con restricciones computacionales.

Conforme los modelos continúan creciendo en su complejidad, las técnicas de destilación seguirán evolucionando para cerrar la brecha entre la potencia computacional y la eficiencia de implementación.


Recursos:
[1] R. Caruana et al. (2006) – Model Compression
[2] G. Hinton et al. (2015) – Distilling the Knowledge in a Neural Network
[3] IBM – ¿Qué es la destilación de conocimiento?




En Block&Capital, especialistas en selección de personal, trabajamos para crear oportunidades donde el crecimiento y el éxito estén al alcance de todos. Si estás listo para impulsar tu carrera profesional, te animamos a unirte a nosotros.