Destilación de conocimientos
Descubra cómo la destilación de conocimientos comprime los modelos de inteligencia artificial para acelerar la inferencia, mejorar la precisión y aumentar la eficacia de la implantación de dispositivos periféricos.
La destilación de conocimientos es una técnica de optimización y compresión de modelos en el aprendizaje automático (AM) en la que se entrena un modelo "alumno" compacto para reproducir el rendimiento de un modelo "maestro" más grande y complejo. La idea central es transferir el "conocimiento" del potente pero engorroso modelo maestro al modelo alumno, más pequeño y eficiente. Esto permite desplegar modelos muy precisos en entornos con recursos limitados, como los dispositivos periféricos o los teléfonos móviles, sin que se produzca una caída significativa del rendimiento. El proceso tiende un puente entre los modelos de investigación masivos y punteros y la implantación práctica de modelos en el mundo real.
Cómo funciona la destilación del conocimiento
El modelo maestro, que suele ser una gran red neuronal o un conjunto de modelos, se entrena primero en un gran conjunto de datos para lograr una gran precisión. Durante el proceso de destilación, el modelo del alumno aprende intentando imitar los resultados del profesor. En lugar de aprender sólo de las etiquetas reales de los datos de entrenamiento, el alumno también se entrena con las distribuciones de probabilidad completas del profesor para cada predicción, a menudo denominadas "etiquetas blandas". Estas "etiquetas blandas" proporcionan información más rica que las "etiquetas duras" (las respuestas correctas), ya que revelan cómo "piensa" y generaliza el modelo del profesor. Por ejemplo, un modelo de profesor puede predecir que la imagen de un gato es "gato" con un 90% de confianza, pero también asignar pequeñas probabilidades a "perro" (5%) y "zorro" (2%). Esta información matizada ayuda al modelo del alumno a aprender de forma más eficaz, lo que a menudo conduce a una mejor generalización que si se entrenara sólo con las etiquetas duras. Esta técnica es una parte clave del conjunto de herramientas de aprendizaje profundo para crear modelos eficientes.
Aplicaciones reales
La destilación de conocimientos se utiliza ampliamente en diversos ámbitos para hacer accesible una IA potente.
- Procesamiento del lenguaje natural (PLN): Los grandes modelos lingüísticos (LLM) como BERT son increíblemente potentes, pero demasiado grandes para muchas aplicaciones. DistilBERT es un famoso ejemplo de versión destilada de BERT. Es un 40% más pequeño y un 60% más rápido, pero conserva más del 97% del rendimiento de BERT, lo que lo hace adecuado para tareas como el análisis de sentimientos y la respuesta a preguntas en dispositivos de consumo.
- Visión por ordenador en dispositivos Edge: En visión por computador, un modelo grande y de alta precisión para la clasificación de imágenes o la detección de objetos puede destilarse en un modelo más pequeño. Esto permite ejecutar tareas de visión complejas, como la detección de personas en tiempo real para una cámara de seguridad inteligente, directamente en hardware con potencia de cálculo limitada, como una Raspberry Pi, lo que mejora la velocidad y la privacidad de los datos. Los modelos YOLO de Ultralytics, como YOLO11, pueden formar parte de este tipo de flujos de trabajo, en los que el conocimiento de modelos más grandes puede servir de base para el entrenamiento de versiones más pequeñas e implantables.
Destilación del conocimiento frente a otras técnicas de optimización
La destilación de conocimientos está relacionada con otras técnicas de optimización de modelos, pero es distinta de ellas. Comprender las diferencias es clave para elegir el enfoque adecuado para su proyecto, que puede gestionarse y desplegarse a través de plataformas como Ultralytics HUB.
- Poda de modelos: Esta técnica consiste en eliminar las conexiones (pesos) redundantes o menos importantes de una red ya entrenada para reducir su tamaño. En cambio, la destilación entrena desde cero una red completamente nueva y más pequeña para imitar al profesor.
- Cuantización del modelo: La cuantificación reduce la precisión numérica de los pesos del modelo (por ejemplo, de flotantes de 32 bits a enteros de 8 bits). Esto reduce el modelo y puede acelerar el cálculo en hardware compatible. Altera la representación del modelo existente, mientras que la destilación crea un modelo nuevo. La cuantización se utiliza a menudo junto con la destilación o la poda, y los modelos pueden exportarse a formatos como ONNX u optimizarse con motores como TensorRT.
- Aprendizaje por transferencia: Consiste en reutilizar partes de un modelo preentrenado (normalmente su columna vertebral de extracción de características) y luego afinarlo en un nuevo conjunto de datos más pequeño. El objetivo es adaptar un modelo existente a una nueva tarea. La destilación, por su parte, pretende transferir el comportamiento predictivo de un maestro a un modelo de alumno, que puede tener una arquitectura completamente distinta.