Distillation des connaissances
Découvrez comment la distillation des connaissances compresse les modèles d'IA pour accélérer l'inférence, améliorer la précision et l'efficacité du déploiement des périphériques.
La distillation des connaissances est une technique d'apprentissage machine (ML) dans laquelle un modèle plus petit et compact (l'"élève") est formé pour imiter le comportement d'un modèle plus grand et plus complexe (l'"enseignant"). L'objectif principal est de transférer les "connaissances" acquises par le modèle de l'enseignant au modèle de l'étudiant, ce qui permet à ce dernier d'atteindre des performances comparables, mais avec des exigences de calcul nettement moindres, telles qu'une taille réduite et une latence d'inférence plus rapide. Cela rend les modèles complexes d'apprentissage profond (DL) pratiques pour le déploiement dans des environnements à ressources limitées tels que les appareils mobiles ou les plates-formes d'informatique périphérique. Le concept a été popularisé par Geoffrey Hinton et ses collègues dans leur article"Distilling the Knowledge in a Neural Network".
Comment fonctionne la distillation des connaissances
Le processus implique généralement un modèle enseignant pré-entraîné, qui peut être un modèle unique puissant ou un ensemble de modèles connus pour leur grande précision. Le modèle de l'étudiant, généralement doté de moins de paramètres ou d'une architecture moins profonde (par exemple, un réseau neuronal convolutif (CNN) plus petit), est ensuite formé en utilisant les sorties du modèle de l'enseignant comme guide. Au lieu d'utiliser uniquement les étiquettes dures (la vérité de terrain) des données d'apprentissage, l'étudiant apprend souvent à partir des "cibles douces" de l'enseignant, c'est-à-dire les distributions de probabilité complètes prédites par l'enseignant pour toutes les classes. Ces cibles molles contiennent des informations plus riches sur la manière dont le modèle de l'enseignant se généralise et représente les similitudes entre les classes. Une fonction de perte spéciale, souvent appelée perte par distillation, est utilisée pour minimiser la différence entre les prédictions de l'étudiant et les cibles molles de l'enseignant, parfois combinée à une perte standard calculée à l'aide des étiquettes réelles.
Avantages et importance
La distillation des connaissances offre plusieurs avantages clés :
- Compression des modèles : Permet de créer des modèles plus petits qui nécessitent moins d'espace de stockage.
- Inférence plus rapide : La réduction de la complexité du modèle permet d'obtenir des prédictions plus rapides, ce qui est crucial pour les applications d'inférence en temps réel.
- Efficacité énergétique : Les modèles plus petits consomment moins d'énergie, ce qui est important pour les appareils alimentés par batterie et les pratiques d'IA durables. Voir les directives d'Ultralytics en matière de santé et de sécurité environnementales.
- Déploiement sur des appareils périphériques : Permet d'utiliser de puissantes capacités d'IA sur du matériel dont la mémoire et la puissance de traitement sont limitées, comme le Raspberry Pi ou le NVIDIA Jetson.
- Amélioration potentielle des performances : Parfois, le modèle de l'étudiant peut mieux se généraliser qu'un modèle de taille similaire formé directement sur des étiquettes dures, car il apprend grâce au signal de supervision plus riche fourni par l'enseignant.
Applications dans le monde réel
La distillation des connaissances est largement utilisée dans divers domaines :
- Vision par ordinateur : Les grands modèles de détection d'objets ou de segmentation d'images, comme les versions complexes d'Ultralytics YOLO ou de Vision Transformers (ViT), peuvent être distillés en versions légères adaptées aux applications mobiles(Ultralytics HUB App) ou aux systèmes embarqués dans les véhicules autonomes ou la robotique. Par exemple, Intuitivo utilise la distillation des connaissances pour transférer les connaissances des grands modèles de base vers des modèles plus petits et rentables pour la mise à l'échelle de millions de points de vente autonomes, ce qui accélère considérablement l'annotation (Source : YOLO Vision 2023 Talk).
- Traitement du langage naturel (NLP) : Les grands modèles de langage massifs (LLM) tels que BERT ou GPT sont souvent distillés en versions plus petites (par exemple, DistilBERT par Hugging Face) pour des tâches telles que l'analyse des sentiments ou la réponse à des questions sur des appareils avec des budgets de calcul limités ou pour des applications nécessitant une latence plus faible, telles que les robots de conversation (chatbots).
Concepts connexes
La distillation des connaissances est liée à d'autres techniques d'optimisation de modèles, mais elle en est distincte :
- Élagage du modèle: Il s'agit de supprimer les poids ou les connexions les moins importants d'un réseau déjà formé afin d'en réduire la taille. La distillation permet de former un nouveau réseau plus petit.
- Quantification du modèle: Réduit la précision numérique des poids du modèle (par exemple, de 32 bits flottants à 8 bits entiers) pour réduire la taille et accélérer le calcul, souvent utilisé parallèlement ou après la distillation. Voir les intégrations comme ONNX ou TensorRT.
- Apprentissage par transfert: Réutilise des parties d'un modèle pré-entraîné (généralement la colonne vertébrale) et l'affine sur un nouvel ensemble de données ou une nouvelle tâche. La distillation se concentre sur le transfert du comportement prédictif d'un enseignant à une architecture d'étudiants potentiellement différente.
- Apprentissage fédéré: Entraîne les modèles à travers des dispositifs décentralisés sans partager les données brutes, en mettant l'accent sur la protection de la vie privée. La distillation se concentre sur la compression des modèles.
La distillation des connaissances est un outil puissant pour rendre les modèles d'IA de pointe plus accessibles et plus efficaces, en comblant le fossé entre les modèles de recherche à grande échelle et le déploiement de modèles pratiques dans le monde réel. Des plateformes comme Ultralytics HUB facilitent la formation et le déploiement de modèles potentiellement distillés comme YOLOv8 ou YOLO11.