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 de compression de modèles utilisée dans l'apprentissage automatique pour transférer les connaissances d'un grand modèle complexe (le "professeur") à un modèle plus petit et plus simple (l'"élève"). L'objectif est de former le modèle de l'élève pour qu'il atteigne des performances comparables à celles du modèle de l'enseignant, même si l'élève a moins de paramètres et est moins coûteux sur le plan informatique. Cette méthode est particulièrement utile pour déployer des modèles sur des appareils aux ressources limitées ou dans des applications nécessitant des temps d'inférence rapides.

Comment fonctionne la distillation des connaissances

L'idée centrale de la distillation des connaissances est d'utiliser les sorties douces (probabilités) du modèle de l'enseignant comme cibles d'entraînement pour le modèle de l'élève, en plus ou à la place des étiquettes dures (vérité de terrain). Les modèles de l'enseignant, souvent pré-entraînés sur de vastes ensembles de données, peuvent capturer des relations complexes dans les données et bien les généraliser. En apprenant à partir de ces cibles souples, le modèle de l'élève peut apprendre des informations plus riches qu'il ne le ferait en apprenant uniquement à partir des étiquettes dures. Ce processus implique souvent l'utilisation d'une "température" plus élevée dans la fonction softmax pendant l'inférence de l'enseignant pour adoucir la distribution de probabilité, fournissant ainsi des informations plus nuancées à l'élève.

Avantages et applications

La distillation des connaissances offre plusieurs avantages, ce qui en fait une technique précieuse dans diverses applications de l'IA :

  • Compression de modèle : Elle permet de créer des modèles plus petits et plus efficaces, adaptés au déploiement sur des appareils périphériques aux ressources de calcul limitées, tels que les téléphones portables ou les systèmes embarqués. Ceci est crucial pour des applications telles que la détection d'objets en temps réel sur des appareils tels que Raspberry Pi ou NVIDIA Jetson.
  • Généralisation améliorée : Les modèles d'élèves formés avec la distillation des connaissances présentent souvent de meilleures performances de généralisation que les modèles formés uniquement sur des étiquettes rigides. Ils peuvent apprendre à partir des représentations apprises par l'enseignant, ce qui permet d'améliorer la précision et la robustesse.
  • Inférence plus rapide : Des modèles plus petits conduisent naturellement à des temps d'inférence plus rapides, ce qui est essentiel pour les applications en temps réel comme la conduite autonome, l'automatisation des processus robotiques (RPA) et les systèmes de sécurité.

Les applications réelles de la distillation des connaissances sont très répandues :

  • Traitement du langage naturel (NLP) : Dans le NLP, la distillation des connaissances peut être utilisée pour compresser de grands modèles de langage tels que GPT-3 ou BERT en modèles plus petits et plus efficaces pour un déploiement mobile ou en périphérie. Par exemple, un modèle distillé peut alimenter l'analyse des sentiments sur les appareils mobiles sans nécessiter de connectivité au nuage.
  • Vision par ordinateur: Ultralytics YOLOv8 ou des modèles de détection d'objets similaires peuvent être distillés pour être déployés dans des applications en temps réel sur des appareils périphériques. Par exemple, dans les villes intelligentes, les modèles distillés peuvent être utilisés pour une surveillance et une gestion efficaces du trafic, en s'exécutant directement sur les dispositifs informatiques périphériques aux intersections de la circulation. Une autre application est l'analyse d'images médicales, où les modèles distillés peuvent fournir des diagnostics préliminaires plus rapides sur le lieu de soins.

Distillation des connaissances contre élagage et quantification des modèles

Bien que la distillation des connaissances soit une technique de compression de modèle, elle est différente d'autres méthodes telles que l'élagage et la quantification de modèle. L'élagage des modèles réduit la taille d'un modèle en supprimant les connexions (poids) les moins importantes, tandis que la quantification des modèles réduit la précision des poids du modèle afin d'utiliser moins de mémoire et de calculs. La distillation des connaissances, quant à elle, forme un nouveau modèle plus petit à partir de zéro en utilisant les connaissances d'un modèle plus grand. Ces techniques peuvent également être combinées ; par exemple, un modèle distillé peut être encore élagué ou quantifié pour obtenir une compression et une efficacité encore plus grandes. Des outils tels que Model Compression Toolkit (MCT) de Sony et OpenVINO peuvent être utilisés pour optimiser les modèles après la distillation en vue d'un déploiement en périphérie.

Tout lire