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'optimisation et de compression de modèles dans le domaine de l'apprentissage automatique (ML), où un modèle "étudiant" compact est formé pour reproduire les performances d'un modèle "enseignant" plus grand et plus complexe. L'idée de base est de transférer les "connaissances" du modèle enseignant, puissant mais encombrant, au modèle étudiant, plus petit et plus efficace. Cela permet de déployer des modèles très précis dans des environnements où les ressources sont limitées, tels que les appareils périphériques ou les téléphones mobiles, sans baisse significative des performances. Le processus comble le fossé entre les modèles de recherche massifs et de pointe et le déploiement de modèles pratiques dans le monde réel.
Comment fonctionne la distillation des connaissances
Le modèle de l'enseignant, généralement un grand réseau neuronal ou un ensemble de modèles, est d'abord formé sur un grand ensemble de données afin d'obtenir une grande précision. Au cours du processus de distillation, le modèle étudiant apprend en essayant d'imiter les résultats de l'enseignant. Au lieu d'apprendre uniquement à partir des étiquettes de vérité sur le terrain dans les données de formation, l'élève est également formé sur les distributions de probabilité complètes de l'enseignant pour chaque prédiction, souvent appelées "étiquettes douces". Ces étiquettes souples fournissent des informations plus riches que les "étiquettes dures" (les réponses correctes), car elles révèlent la manière dont le modèle de l'enseignant "pense" et généralise. Par exemple, un modèle d'enseignant peut prédire que l'image d'un chat est "chat" avec un degré de confiance de 90 %, mais aussi attribuer de faibles probabilités à "chien" (5 %) et à "renard" (2 %). Ces informations nuancées permettent au modèle de l'élève d'apprendre plus efficacement, ce qui conduit souvent à une meilleure généralisation que s'il avait été formé uniquement sur les étiquettes dures. Cette technique est un élément clé de la boîte à outils de l'apprentissage profond pour créer des modèles efficaces.
Applications dans le monde réel
La distillation des connaissances est largement utilisée dans divers domaines pour rendre accessible une IA puissante.
- Traitement du langage naturel (NLP) : Les grands modèles de langage (LLM) comme BERT sont incroyablement puissants mais trop volumineux pour de nombreuses applications. DistilBERT est un exemple célèbre de version distillée de BERT. Il est 40 % plus petit et 60 % plus rapide tout en conservant plus de 97 % des performances de BERT, ce qui le rend adapté à des tâches telles que l'analyse des sentiments et la réponse aux questions sur les appareils grand public.
- Vision par ordinateur sur les appareils périphériques : Dans le domaine de la vision par ordinateur, un grand modèle de haute précision pour la classification d'images ou la détection d'objets peut être distillé dans un modèle plus petit. Cela permet d'exécuter des tâches de vision complexes, telles que la détection de personnes en temps réel pour une caméra de sécurité intelligente, directement sur du matériel doté d'une puissance de calcul limitée, comme un Raspberry Pi, ce qui améliore la vitesse et la confidentialité des données. Les modèles YOLO d'Ultralytics, comme YOLO11, peuvent faire partie de ces flux de travail, où les connaissances issues de modèles plus importants peuvent informer la formation de versions plus petites et déployables.
Distillation des connaissances et autres techniques d'optimisation
La distillation des connaissances est liée à d'autres techniques d'optimisation de modèles, mais elle en est distincte. Comprendre les différences est essentiel pour choisir la bonne approche pour votre projet, qui peut être géré et déployé à travers des plateformes comme Ultralytics HUB.
- Élagage du modèle: Cette technique consiste à supprimer les connexions (poids) redondantes ou moins importantes d'un réseau déjà formé afin d'en réduire la taille. En revanche, la distillation entraîne un réseau entièrement nouveau et plus petit à partir de zéro pour imiter l'enseignant.
- Quantification du modèle: La quantification réduit la précision numérique des poids du modèle (par exemple, de 32 bits flottants à 8 bits entiers). Cela permet de réduire la taille du modèle et d'accélérer les calculs sur du matériel compatible. Elle modifie la représentation du modèle existant, alors que la distillation crée un nouveau modèle. La quantification est souvent utilisée en conjonction avec la distillation ou l'élagage, et les modèles peuvent être exportés vers des formats tels que ONNX ou optimisés avec des moteurs tels que TensorRT.
- Apprentissage par transfert: Il s'agit de réutiliser des parties d'un modèle pré-entraîné (généralement sa colonne vertébrale d'extraction des caractéristiques) et de l'affiner sur un nouvel ensemble de données plus petit. L'objectif est d'adapter un modèle existant à une nouvelle tâche. La distillation, quant à elle, vise à transférer le comportement prédictif d'un enseignant à un modèle d'étudiant, qui peut avoir une architecture complètement différente.