Distillation des connaissances
Découvrez 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 en périphérie.
La distillation des connaissances est une technique d'optimisation de modèle et de compression dans l'apprentissage automatique (AA) où un modèle "étudiant" compact est entraîné pour reproduire les performances d'un modèle "enseignant" plus grand et plus complexe. L'idée principale est de transférer les "connaissances" du modèle enseignant puissant mais encombrant au modèle étudiant plus petit et plus efficace. Cela permet le déploiement de modèles très précis dans des environnements aux ressources limitées, tels que sur 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 pratique et réel.
Fonctionnement de la distillation des connaissances
Le modèle enseignant, généralement un grand réseau neuronal ou un ensemble de modèles, est d'abord entraîné sur un grand ensemble de données pour atteindre une grande précision. Pendant le processus de distillation, le modèle étudiant apprend en essayant d'imiter les sorties de l'enseignant. Au lieu d'apprendre uniquement à partir des étiquettes de vérité terrain dans les données d'entraînement, l'étudiant est également entraîné sur les distributions de probabilité complètes de l'enseignant pour chaque prédiction, souvent appelées "étiquettes douces". Ces étiquettes douces fournissent des informations plus riches que les "étiquettes dures" (les réponses correctes), car elles révèlent comment le modèle enseignant "pense" et généralise. Par exemple, un modèle enseignant pourrait prédire qu'une image d'un chat est "chat" avec une confiance de 90 %, mais aussi attribuer de petites probabilités à "chien" (5 %) et "renard" (2 %). Ces informations nuancées aident le modèle étudiant à apprendre plus efficacement, ce qui conduit souvent à une meilleure généralisation que s'il était entraîné uniquement sur les étiquettes dures. Cette technique est un élément clé de la boîte à outils de l'apprentissage profond pour la création de modèles efficaces.
Applications concrètes
La distillation des connaissances est largement utilisée dans divers domaines pour rendre l'IA puissante accessible.
- 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 Edge : En vision par ordinateur, un modèle volumineux et de haute précision pour la classification d'images ou la détection d'objets peut être distillé en 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 avec une puissance de calcul limitée, comme un Raspberry Pi, améliorant ainsi la vitesse et la confidentialité des données. Les modèles Ultralytics YOLO comme YOLO11 peuvent faire partie de ces flux de travail, où les connaissances provenant de modèles plus grands pourraient éclairer l'entraînement de versions plus petites et déployables.
Distillation des connaissances vs. Autres techniques d'optimisation
La distillation des connaissances est liée à d'autres techniques d'optimisation de modèles, mais s'en distingue. Comprendre les différences est essentiel pour choisir la bonne approche pour votre projet, qui peut être géré et déployé via des plateformes comme Ultralytics HUB.
- Élagage de modèle : Cette technique consiste à supprimer les connexions (poids) redondantes ou moins importantes d'un réseau déjà entraîné afin de réduire sa taille. En revanche, la distillation entraîne un tout nouveau réseau plus petit à partir de zéro pour imiter l'enseignant.
- Quantification de modèle : La quantification réduit la précision numérique des poids du modèle (par exemple, des flottants de 32 bits aux entiers de 8 bits). Cela réduit la taille du modèle et peut accélérer le calcul sur du matériel compatible. Elle modifie la représentation du modèle existant, tandis que la distillation crée un nouveau modèle. La quantification est souvent utilisée conjointement 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 : Cela implique de réutiliser des parties d'un modèle pré-entraîné (généralement son backbone d'extraction de caractéristiques) et ensuite 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, en revanche, vise à transférer le comportement prédictif d'un modèle enseignant à un modèle étudiant, qui peut avoir une architecture complètement différente.