Glossaire

Distillation des connaissances

Découvre 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 de périphérie.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

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 reproduire le comportement d'un modèle plus grand et plus complexe (l'"enseignant"). L'objectif principal est de transférer les "connaissances" apprises par le grand modèle de l'enseignant au modèle plus petit de l'élève, ce qui permet à ce dernier d'atteindre des performances comparables tout en étant nettement plus efficace en termes de taille et de coût de calcul. Ceci est particulièrement utile pour déployer des modèles dans des environnements à ressources limitées tels que les appareils mobiles ou les systèmes d'intelligence artificielle en périphérie.

Comment fonctionne la distillation des connaissances

L'idée centrale de la distillation des connaissances consiste à former le modèle de l'élève non seulement sur les étiquettes de la vérité de terrain (cibles dures) utilisées pour former le modèle original de l'enseignant, mais aussi sur les sorties générées par le modèle de l'enseignant lui-même. Souvent, ces sorties de l'enseignant sont des "cibles molles", c'est-à-dire des probabilités ou des distributions de classes produites par la couche finale de l'enseignant (par exemple, après une fonction Softmax ). Ces cibles souples contiennent des informations plus riches sur les relations entre les différentes classes que les seules étiquettes. Par exemple, un modèle d'enseignant peut prédire qu'une image de camion représente 70 % de camion, 25 % de voiture et 5 % de bus, ce qui fournit des informations nuancées dont l'élève peut tirer parti. L'objectif de formation du modèle de l'élève combine généralement une fonction de perte standard (comparant les prédictions de l'élève à la vérité de base) avec une perte de distillation (comparant les prédictions/cibles mous de l'élève aux cibles mous de l'enseignant). Ce processus, initialement popularisé dans un article de Hinton, Vinyals et Dean, guide efficacement l'élève pour qu'il imite le processus de raisonnement de l'enseignant.

Avantages et applications

La distillation des connaissances offre plusieurs avantages clés :

  • Compression de modèle : Elle permet de créer des modèles légers qui nécessitent moins de mémoire et de stockage, ce qui est crucial pour le déploiement de modèles sur des appareils à capacité limitée.
  • Inférence plus rapide : Les modèles plus petits effectuent généralement l'inférence beaucoup plus rapidement, ce qui permet des capacités d'inférence en temps réel pour des applications telles que la détection d'objets à l'aide de la technologie de l'inférence. Ultralytics YOLO sur des plates-formes périphériques. Explore les options de déploiement d'applications de vision par ordinateur sur les appareils d'IA périphériques.
  • Réduction des coûts de calcul : La formation et l'exécution de modèles plus petits consomment moins d'énergie et de ressources informatiques.
  • Transfert de connaissances : Il facilite le transfert des connaissances complexes apprises par de grands modèles, potentiellement formés sur des ensembles de données massifs comme ImageNet, vers des architectures plus petites.

Les applications du monde réel comprennent :

  1. Edge Computing : Déploiement de modèles sophistiqués de vision par ordinateur sur des appareils tels que des smartphones ou des systèmes embarqués pour des tâches telles que la classification ou la détection d'images, lorsque la puissance de calcul et la durée de vie de la batterie sont des contraintes. Un grand modèle précis comme YOLOv8x peut servir de professeur à un élève plus petit comme YOLOv8n.
  2. Accélérer les tâches complexes : Comme le souligne YOLO Vision 2023, les grands modèles de fondation peuvent être utilisés pour des tâches exigeantes comme l'annotation détaillée des données, et leurs connaissances distillées dans des modèles plus petits et plus rapides pour un déploiement efficace, ce qui accélère considérablement les processus comme l'étiquetage des données.
  3. Traitement du langage naturel (NLP) : Compression de grands modèles de langage comme BERT ou GPT en versions plus petites pour une analyse de texte ou une traduction plus rapide sur les appareils des utilisateurs.

Concepts apparentés

La distillation des connaissances est liée à d'autres techniques d'optimisation de modèles mais diffère dans son approche :

  • Élagage du modèle: Réduit la taille du modèle en supprimant les paramètres redondants (poids ou connexions) d'un réseau déjà formé. KD forme un réseau séparé et plus petit.
  • Quantification du modèle: Réduit la taille du modèle et accélère les calculs en utilisant des formats numériques de moindre précision (par exemple, INT8 au lieu de FP32) pour les poids et les activations. Elle ne modifie pas l'architecture du modèle lui-même, contrairement à la KD. Ces techniques(optimisation du modèle) sont souvent complémentaires et peuvent être utilisées ensemble.
  • Apprentissage par transfert: Un concept plus large dans lequel les connaissances acquises lors d'une tâche sont appliquées à une tâche différente mais connexe. Le KD peut être considéré comme une forme spécifique d'apprentissage par transfert axé sur le transfert des connaissances d'un grand modèle à un plus petit pour la même tâche, principalement pour la compression.
Tout lire