Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Destilación del conocimiento

Descubra cómo la destilación del conocimiento comprime los modelos de IA para una inferencia más rápida, una precisión mejorada y una eficiencia en la implementación de dispositivos periféricos.

La destilación de conocimientos es una estrategia de optimización de modelos aprendizaje automático modelo "alumno" compacto se entrena para reproducir el rendimiento y el comportamiento de un modelo "más complejo. El objetivo principal es transferir la capacidad de generalización y el "conocimiento" de la pesada red del profesor a la más ligera red del alumno. de la pesada red del profesor a la más ligera red del alumno. Este proceso permite el despliegue de modelos en hardware con recursos limitados, como los dispositivos dispositivos informáticos de borde, sin sufrir las de precisión que suelen acompañar a las arquitecturas más pequeñas. Al comprimir la información, los desarrolladores pueden lograr una latencia de inferencia más rápida y uso de memoria, al tiempo que se mantiene una sólida capacidad de predicción.

Cómo funciona la destilación del conocimiento

El proceso se basa en el concepto de "etiquetas blandas". En el aprendizaje aprendizaje supervisado estándar, los modelos se "etiquetas duras" de los datos de entrenamiento (p. ej, una imagen es 100% "gato" y 0% "perro"). Sin embargo, un modelo docente preentrenado produce distribuciones de probabilidad, conocidas como etiquetas blandas, en todas las clases. Por ejemplo, el profesor puede predecir que una imagen es 90% gato, 9% perro y 1% coche. Estas etiquetas blandas contienen mucha información sobre las relaciones entre las clases. entre las clases, indicando que el gato se parece a un perro.

Durante la destilación, el modelo del alumno se entrena para minimizar la diferencia entre sus predicciones y las etiquetas blandas del profesor. del profesor, a menudo utilizando una como la divergencia de Kullback-Leibler. Este Esto permite al alumno aprender el "conocimiento oscuro" o la estructura matizada de los datos que el profesor ya ha descubierto. ya ha descubierto. Para una comprensión básica, los investigadores suelen consultar Geoffrey Hinton sobre el tema.

Aunque las bibliotecas suelen encargarse internamente de los complejos cálculos de pérdidas, inicializar un modelo de alumno para el entrenamiento es el primer paso práctico. Así es como se puede cargar un modelo de estudiante ligero como YOLO11 utilizando el ultralytics paquete:

from ultralytics import YOLO

# Load a lightweight student model (YOLO11n)
# 'n' stands for nano, the smallest and fastest version
student_model = YOLO("yolo11n.pt")

# Train the student model on a dataset
# In a distillation workflow, this training would be guided by a teacher model's outputs
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)

Aplicaciones en el mundo real

La destilación de conocimientos es fundamental en sectores en los que la eficacia es tan importante como la precisión.

  • Visión por ordenador móvil: En escenarios que requieren inferencia en tiempo real, como los drones drones autónomos o aplicaciones de realidad aumentada en smartphones, desplegar modelos masivos es inviable. Los ingenieros destilan grandes modelos de detección de objetos en versiones como YOLO11n. Esto garantiza que la aplicación se ejecute sin problemas en procesadores móviles como el Qualcomm Snapdragon sin agotar la batería y, al mismo tiempo correctamente los objetos.
  • Procesamiento del lenguaje natural (PLN): Los grandes modelos lingüísticos (LLM) suelen ser demasiado engorrosos para su despliegue directo. despliegue directo. La destilación se utiliza para crear versiones más pequeñas y rápidas, como DistilBERT, que conservan la mayoría de las capacidades de modelado lingüístico de sus versiones mayores. capacidades de modelado lingüístico de sus más grandes. Esto permite que los asistentes de voz y los chatbots funcionen con menor latencia y ofrezcan una mejor experiencia al usuario. del usuario.

Distinción de términos de optimización relacionados

Es importante diferenciar la Destilación del Conocimiento de otras técnicas utilizadas para mejorar la eficacia de los modelos, ya que ya que se basan en principios diferentes.

  • Poda de modelos: Esta técnica consiste en eliminar físicamente las neuronas o conexiones (pesos) redundantes de una red ya entrenada para reducir su tamaño. A diferencia de la destilación, que entrena una nueva arquitectura de alumnos desde cero, la poda modifica la estructura del modelo original.
  • Cuantización del modelo: La cuantización reduce la precisión de los pesos numéricos del modelo, por ejemplo, convirtiendo números de 32 bits en coma flotante en números enteros de 8 bits. de 32 bits a enteros de 8 bits. Esto reduce el tamaño del modelo y acelera el cálculo en hardware como los TPU, pero no cambia necesariamente la arquitectura de la red.
  • Aprendizaje por transferencia: Este enfoque consiste en tomar un modelo preentrenado y en un nuevo conjunto de datos para una tarea diferente. Aunque ambos implican la transferencia de conocimientos, el aprendizaje por transferencia se refiere a la adaptación del dominio (por ejemplo, ImageNet a radiografías médicas), mientras que la destilación se centra en comprimir los mismos conocimientos de la tarea a partir de un modelo de gran tamaño. médicas), mientras que la destilación se centra en comprimir el conocimiento de la misma tarea de un modelo grande a otro más pequeño.

Combinando estas técnicas -por ejemplo, destilando un profesor en un alumno y aplicando después la cuantización- los desarrolladores pueden maximizar el rendimiento de los sistemas integrados.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora