Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Distillation des connaissances

Découvrez comment la distillation des connaissances compresse les modèles d'IA pour une inférence plus rapide, une précision améliorée et une efficacité de déploiement des appareils en périphérie.

La distillation des connaissances est une stratégie d'optimisation de modèle sophistiquée en l'apprentissage automatique où un modèle compact modèle compact "élève" est formé pour reproduire les performances et le comportement d'un modèle "maître" plus grand et plus complexe. "plus complexe. L'objectif principal est de transférer les capacités de généralisation et les "connaissances" du réseau lourd de l'enseignant vers le réseau plus léger de l'étudiant. du réseau lourd de l'enseignant au réseau plus léger de l'étudiant. Ce processus permet de déployer des modèles très précis précis sur du matériel aux ressources limitées, comme les tels que les dispositifs informatiques périphériques, sans subir les sans subir les baisses significatives de précision qui accompagnent généralement les architectures plus petites. En comprimant les informations, les développeurs peuvent obtenir une latence d'inférence plus rapide et une l'utilisation de la mémoire tout en conservant une puissance prédictive robuste.

Fonctionnement de la distillation des connaissances

Le processus repose sur le concept des "étiquettes souples". Dans l'apprentissage supervisé standard, les modèles sont formés sur des sur les "étiquettes dures" des données d'apprentissage (par exemple, une image est à 100 % un "chat" et à 0 % un "chien"), une image est à 100 % un "chat" et à 0 % un "chien"). Cependant, un modèle d'enseignant pré-entraîné produit des des distributions de probabilités, appelées "étiquettes souples", pour toutes les classes. Par exemple, l'enseignant peut prédire qu'une image est composée à 90 % de chats, à 9 % de chiens et à 1 % de voitures. Ces étiquettes souples contiennent de nombreuses informations sur les relations entre les classes. classes, en indiquant que le chat en question ressemble un peu à un chien.

Pendant la distillation, le modèle de l'étudiant est entraîné à minimiser la différence entre ses prédictions et les étiquettes souples de l'enseignant. de l'enseignant, souvent à l'aide d'une fonction de perte spécifique comme la divergence de Kullback-Leibler. Cela permet à l'étudiant d'apprendre les "connaissances obscures". Cela permet à l'étudiant d'apprendre les "connaissances obscures" ou la structure nuancée des données que l'enseignant a déjà découvertes. l'enseignant a déjà découvert. Pour une compréhension fondamentale, les chercheurs se réfèrent souvent à l 'article fondateur de Geoffrey Hinton sur le sujet.

Bien que les bibliothèques gèrent généralement les calculs de perte complexes en interne, l'initialisation d'un modèle d'étudiant pour la formation est la première étape pratique. Voici comment vous pourriez charger un modèle étudiant léger tel que YOLO11 en utilisant le ultralytics l'emballage :

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)

Applications concrètes

La distillation des connaissances est essentielle dans les secteurs où l'efficacité est aussi cruciale que la précision.

  • Vision par ordinateur mobile : Dans les scénarios nécessitant d 'inférence en temps réel, tels que les drones drones autonomes ou les applications de réalité augmentée sur les smartphones, le déploiement de modèles massifs est infaisable. Les ingénieurs distillent de grands modèles de détection d'objets en versions efficaces comme YOLO11n. Cela garantit que l'application fonctionne sans problème sur des processeurs mobiles tels que le Snapdragon de Qualcomm Snapdragon sans épuiser la batterie, tout en identifiant correctement les objets. tout en identifiant correctement les objets.
  • Traitement du langage naturel (NLP) : Les grands modèles de langage (LLM) sont souvent trop lourds pour être déployés directement. déploiement direct. La distillation est utilisée pour créer des versions plus petites et plus rapides, telles que DistilBERT, qui conservent la plupart des capacités de modélisation linguistique de leurs modèles plus grands. capacités de modélisation du langage de leurs plus grandes. Cela permet aux assistants vocaux et aux chatbots de fonctionner avec une latence plus faible, offrant ainsi une meilleure expérience à l'utilisateur. l'utilisateur.

Distinguer les termes d'optimisation connexes

Il est important de différencier la distillation des connaissances des autres techniques utilisées pour améliorer l'efficacité des modèles, car elles fonctionnent sur des principes différents. car elles reposent sur des principes différents.

  • L'élagage des modèles: Cette technique consiste à supprimer physiquement les neurones ou les connexions (poids) redondants d'un réseau formé existant afin d'en réduire la taille. sa taille. Contrairement à la distillation, qui entraîne une nouvelle architecture étudiante à partir de zéro, l'élagage modifie la structure du modèle original. du modèle original.
  • Quantification du modèle: La quantification réduit la précision des poids numériques du modèle, par exemple en convertissant des nombres à virgule flottante de 32 bits en nombres entiers de 8 bits. en nombres entiers de 8 bits. Cela permet de réduire la taille du modèle et d'accélérer les calculs sur du matériel tel que les TPU, mais ne modifie pas nécessairement l'architecture du réseau.
  • Apprentissage par transfert: Cette approche Cette approche consiste à prendre un modèle pré-entraîné et à l'affiner sur un nouvel ensemble de données pour une tâche différente. et de l'ajuster sur un nouvel ensemble de données pour une tâche différente. Bien que les deux impliquent un transfert de connaissances, l'apprentissage par transfert concerne l'adaptation au domaine ( ImageNet ex. radiographies médicales), tandis que la distillation se concentre sur la compression de la même connaissance de tâche d'un grand modèle à un modèle plus petit.

En combinant ces techniques - par exemple, en distillant un enseignant en un élève, puis en appliquant la quantification - les développeurs peuvent maximiser les performances des systèmes intégrés. peuvent maximiser les performances des systèmes embarqués.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant