La Destilación del Conocimiento es una técnica del Aprendizaje Automático (AM ) en la que un modelo más pequeño y compacto (el "alumno") se entrena para replicar el comportamiento de un modelo más grande y complejo (el "maestro"). El objetivo principal es transferir el "conocimiento" aprendido por el modelo maestro grande al modelo alumno más pequeño, permitiendo que el alumno consiga un rendimiento comparable a la vez que es significativamente más eficiente en términos de tamaño y coste computacional. Esto es especialmente útil para desplegar modelos en entornos con recursos limitados, como los dispositivos móviles o los sistemas de IA de borde.
Cómo funciona la destilación del conocimiento
La idea central de la Destilación del Conocimiento consiste en entrenar el modelo del alumno no sólo con las etiquetas de la verdad sobre el terreno (objetivos duros) utilizadas para entrenar el modelo original del profesor, sino también con los resultados generados por el propio modelo del profesor. A menudo, estos resultados del profesor son "objetivos blandos": probabilidades de clase o distribuciones producidas por la capa final del profesor (por ejemplo, después de una función Softmax ). Estos objetivos blandos contienen información más rica sobre las relaciones entre las distintas clases que las etiquetas duras por sí solas. Por ejemplo, un modelo de profesor podría predecir una imagen de un camión como 70% camión, 25% coche y 5% autobús, proporcionando información matizada de la que el alumno puede aprender. El objetivo de entrenamiento del modelo del alumno suele combinar una función de pérdida estándar (que compara las predicciones del alumno con la verdad básica) con una pérdida de destilación (que compara las predicciones/objetivos blandos del alumno con los objetivos blandos del profesor). Este proceso, popularizado inicialmente en un artículo de Hinton, Vinyals y Dean, guía eficazmente al alumno para que imite el proceso de razonamiento del profesor.
Beneficios y aplicaciones
La Destilación del Conocimiento ofrece varias ventajas clave:
- Compresión de modelos: Permite crear modelos ligeros que requieren menos memoria y almacenamiento, algo crucial para el despliegue de modelos en dispositivos con capacidad limitada.
- Inferencia más rápida: Los modelos más pequeños suelen realizar la inferencia mucho más rápido, lo que permite capacidades de inferencia en tiempo real para aplicaciones como la detección de objetos mediante Ultralytics YOLO en plataformas periféricas. Explora las opciones para desplegar aplicaciones de visión computerizada en dispositivos edge AI.
- Menor coste computacional: Entrenar y ejecutar modelos más pequeños consume menos energía y recursos informáticos.
- Transferencia de conocimientos: Facilita la transferencia de conocimientos complejos aprendidos por grandes modelos, potencialmente entrenados en conjuntos de datos masivos como ImageNet, a arquitecturas más pequeñas.
Las aplicaciones en el mundo real incluyen:
- Edge Computing: Despliegue de modelos sofisticados de visión por ordenador en dispositivos como teléfonos inteligentes o sistemas integrados para tareas como la clasificación o detección de imágenes, donde la potencia de cálculo y la duración de la batería son limitaciones. Un modelo grande y preciso como YOLOv8x podría actuar como maestro de un alumno más pequeño como YOLOv8n.
- Aceleración de tareas complejas: Como se destacó en YOLO Vision 2023, se pueden utilizar grandes Modelos de Fundación para tareas exigentes como la anotación detallada de datos, y destilar sus conocimientos en modelos más pequeños y rápidos para un despliegue eficiente, acelerando significativamente procesos como el etiquetado de datos.
- Procesamiento del Lenguaje Natural (PLN): Comprimir grandes modelos lingüísticos, como BERT o GPT, en versiones más pequeñas para agilizar el análisis o la traducción de textos en los dispositivos de los usuarios.
Conceptos relacionados
La Destilación del Conocimiento está relacionada con otras técnicas de optimización de modelos, pero difiere en su enfoque:
- Poda del modelo: Reduce el tamaño del modelo eliminando los parámetros redundantes (pesos o conexiones) de una red ya entrenada. KD entrena una red distinta y más pequeña.
- Cuantización del modelo: Reduce el tamaño del modelo y acelera el cálculo utilizando formatos numéricos de menor precisión (por ejemplo, INT8 en lugar de FP32) para los pesos y las activaciones. No cambia la arquitectura del modelo en sí, a diferencia de la KD. Estas técnicas(optimización del modelo) suelen ser complementarias y pueden utilizarse juntas.
- Aprendizaje por transferencia: Un concepto más amplio en el que los conocimientos adquiridos en una tarea se aplican a otra diferente pero relacionada. La DC puede considerarse una forma específica de aprendizaje por transferencia centrada en transferir conocimientos de un modelo grande a otro más pequeño para la misma tarea, principalmente para la compresión.