Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Distillation des connaissances

Découvrez comment la distillation des connaissances transfère l'intelligence des grands enseignants vers des élèves compacts. Optimisez Ultralytics pour un déploiement rapide et efficace en périphérie.

La distillation des connaissances est une technique sophistiquée d' apprentissage automatique dans laquelle un réseau neuronal compact, appelé « élève », est entraîné à reproduire le comportement et les performances d'un réseau plus grand et plus complexe, appelé « enseignant ». L'objectif principal de ce processus est l' optimisation des modèles, permettant aux développeurs de transférer les capacités prédictives d'architectures lourdes vers des modèles légers adaptés à un déploiement sur du matériel aux ressources limitées. En capturant les informations riches encodées dans les prédictions du professeur, le modèle élève atteint souvent une précision nettement supérieure à celle qu'il aurait obtenue s'il avait été formé uniquement à partir des données brutes, comblant ainsi efficacement le fossé entre haute performance et efficacité.

Le mécanisme du transfert de connaissances

Dans l'apprentissage supervisé traditionnel, les modèles sont entraînés à l'aide d'« étiquettes rigides » issues des données d'entraînement, où une image est catégorisée de manière définitive (par exemple, 100 % « chien » et 0 % « chat »). Cependant, un modèle enseignant pré-entraîné produit une sortie via une fonction softmax qui attribue des probabilités à toutes les classes. Ces distributions de probabilité sont appelées « étiquettes souples » ou « connaissances obscures ».

Par exemple, si un modèle enseignant analyse l'image d'un loup, il peut prédire 90 % de loup, 9 % de chien et 1 % de chat. Cette distribution révèle que le loup partage des caractéristiques visuelles avec un chien, un contexte que l'étiquette dure ignore. Au cours du processus de distillation, l'élève minimise une fonction de perte, telle que la divergence de Kullback-Leibler, afin d'aligner ses prédictions sur les étiquettes souples du professeur. Cette méthode, popularisée par les recherches de Geoffrey Hinton, aide l'élève à mieux généraliser et réduit le surajustement sur les petits ensembles de données.

Applications concrètes

La distillation des connaissances est essentielle dans les secteurs où les ressources informatiques sont rares, mais où des performances élevées sont indispensables.

  • IA en périphérie et vision mobile : l'exécution de tâches complexes de détection d'objets sur des smartphones ou des appareils IoT nécessite des modèles à faible latence d'inférence. Les ingénieurs distillent des réseaux massifs en architectures adaptées aux mobiles, telles que YOLO26 (en particulier les variantes nano ou small). Cela permet à des applications en temps réel, telles que la reconnaissance faciale ou les filtres de réalité augmentée, de fonctionner correctement sans épuiser la batterie.
  • Traitement du langage naturel (NLP) : Les grands modèles linguistiques (LLM) modernes nécessitent d'énormes GPU pour fonctionner. La distillation permet aux développeurs de créer des versions plus petites et plus rapides de ces modèles qui conservent les capacités de modélisation linguistique de base . Cela rend possible le déploiement de chatbots et d'assistants virtuels réactifs sur du matériel grand public standard ou des instances cloud plus simples.

Distinguer les termes d'optimisation connexes

Il est important de différencier la distillation des connaissances des autres stratégies de compression, car elles modifient les modèles de manière fondamentalement différente.

  • Apprentissage par transfert: cette technique consiste à prendre un modèle pré-entraîné sur un vaste ensemble de données de référence et à l'adapter à une nouvelle tâche spécifique (par exemple, affiner un classificateur d'images générique pour detect des anomalies detect ). La distillation, en revanche, consiste à compresser les mêmes connaissances sous une forme plus compacte plutôt que de changer de domaine.
  • Élagage de modèle: l'élagage consiste à supprimer physiquement les connexions ou les neurones redondants d'un réseau formé existant afin de le rendre plus clairsemé. La distillation consiste généralement à former une architecture élève complètement distincte et plus petite à partir de zéro, en suivant les conseils du maître.
  • Quantification du modèle: La quantification réduit la précision des poids d'un modèle (par exemple, de 32 bits en virgule flottante à 8 bits en entier) afin d'économiser de la mémoire et d'accélérer les calculs. Il s'agit souvent de la dernière étape dans le déploiement d'un modèle compatible avec des moteurs tels que TensorRT ou OpenVINO, et peut être combinée à la distillation pour une efficacité maximale.

Mise en œuvre d'un modèle étudiant

Dans un flux de travail pratique, vous sélectionnez d'abord une architecture légère qui servira d'élève. Ultralytics peut être utilisée pour gérer les ensembles de données et track expériences d'entraînement de ces modèles efficaces. Vous trouverez ci-dessous un exemple d'initialisation d'un modèle YOLO26 compact, qui est idéal pour un déploiement en périphérie et qui sert de réseau élève :

from ultralytics import YOLO

# Load a lightweight YOLO26 nano model (acts as the student)
# The 'n' suffix denotes the nano version, optimized for speed
student_model = YOLO("yolo26n.pt")

# Train the model on a dataset
# In a custom distillation loop, the loss would be influenced by a teacher model
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant