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.
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)
La destilación de conocimientos es fundamental en sectores en los que la eficacia es tan importante como la precisión.
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.
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.