Appeler SMS WhatsApp Email

Définition Knowledge Distillation

Knowledge Distillation

Knowledge Distillation, ou distillation de connaissances en français, est une technique d’apprentissage automatique appartenant au domaine de la compression de modèles et du transfert d’apprentissage. Elle consiste à transférer les « connaissances » acquises par un grand modèle complexe et performant, appelé modèle professeur (teacher model), vers un modèle plus petit et plus rapide, appelé modèle étudiant (student model). L’objectif est de permettre au modèle étudiant d’atteindre des performances proches de celles du modèle professeur, tout en étant beaucoup plus efficace en termes de taille mémoire, de vitesse d’inférence et de consommation énergétique.

Les concepts fondamentaux de la Knowledge Distillation reposent sur l’idée que les sorties d’un modèle entraîné contiennent des informations plus riches que les simples étiquettes de vérité terrain (hard labels) utilisées lors de l’entraînement standard. Le modèle professeur, souvent un réseau de neurones profond ou un ensemble de modèles, a appris des régularités complexes et des relations subtiles dans les données. Ces informations sont encodées non seulement dans la prédiction finale (la classe prédite) mais aussi dans la distribution de probabilités sur toutes les classes possibles générée par la couche de sortie du professeur (souvent via une fonction softmax). Cette distribution de probabilités adoucie est appelée « soft target ». Le modèle étudiant est entraîné à imiter ces soft targets produites par le professeur, en plus d’apprendre à partir des étiquettes de vérité terrain (hard targets).

Le mécanisme central implique généralement l’utilisation d’une fonction softmax modifiée avec un paramètre appelé « température » (T). Une température élevée (T > 1) appliquée aux sorties (logits) avant la fonction softmax produit une distribution de probabilités plus douce (soft targets), où les probabilités des classes non correctes sont plus élevées qu’avec une température de 1. Ces soft targets révèlent comment le professeur « généralise » et quelles classes il considère comme similaires à la classe correcte. Le modèle étudiant est entraîné en minimisant une fonction de perte combinée. Cette fonction inclut typiquement un terme mesurant la différence entre les prédictions de l’étudiant et les hard targets (par exemple, une entropie croisée standard) et un terme de distillation mesurant la divergence entre les soft targets du professeur et les soft targets produites par l’étudiant (souvent une entropie croisée ou une divergence de Kullback-Leibler), en utilisant la même température élevée pour les deux modèles lors du calcul de ce terme. Un hyperparamètre pondère l’importance relative de ces deux termes.

L’importance de la Knowledge Distillation réside principalement dans sa capacité à rendre les modèles d’intelligence artificielle avancés plus accessibles et déployables dans des environnements aux ressources limitées. Les modèles état de l’art sont souvent trop volumineux et lents pour être utilisés sur des appareils mobiles, des systèmes embarqués ou pour des applications nécessitant une faible latence. La distillation permet de créer des versions compactes de ces modèles sans sacrifier de manière prohibitive leurs performances. Cela favorise la démocratisation de l’IA et élargit le champ des applications possibles, de l’edge computing aux services web à grande échelle nécessitant une efficacité accrue. Son impact est significatif dans la recherche et l’industrie pour optimiser les déploiements de modèles d’IA.

Dans le domaine de la vision par ordinateur, la Knowledge Distillation est largement utilisée pour compresser de grands réseaux de neurones convolutifs (CNN) entraînés sur des tâches comme la classification d’images (par exemple, ImageNet), la détection d’objets ou la segmentation sémantique. Par exemple, un grand modèle comme ResNet-152 peut servir de professeur pour entraîner un modèle plus petit comme MobileNet ou ResNet-18, permettant à ce dernier d’atteindre une précision supérieure à celle qu’il obtiendrait en étant entraîné seul sur les données brutes, tout en étant adapté aux plateformes mobiles.

En traitement automatique du langage naturel (NLP), la distillation est devenue une technique standard pour créer des versions plus petites et plus rapides des grands modèles de langage basés sur l’architecture Transformer, tels que BERT, GPT ou RoBERTa. Des modèles comme DistilBERT, TinyBERT ou MobileBERT sont des exemples de modèles étudiants obtenus par distillation, offrant des réductions significatives de taille et de temps d’inférence tout en conservant une grande partie des performances du modèle professeur sur diverses tâches NLP (classification de texte, question-réponse, etc.). Cela permet leur utilisation dans des applications temps réel ou sur des appareils avec moins de mémoire.

Au-delà de la vision et du NLP, la Knowledge Distillation trouve des applications dans la reconnaissance vocale, où des modèles acoustiques ou des modèles de langage complexes peuvent être distillés pour des systèmes embarqués ou des assistants vocaux. Elle est également utilisée dans les systèmes de recommandation pour transférer les connaissances d’un modèle de recommandation complexe vers un modèle plus simple servant les requêtes des utilisateurs en temps réel, ou encore dans le domaine du jeu pour transférer des stratégies apprises par un agent complexe vers un agent plus léger.

Il existe plusieurs nuances et variations de la Knowledge Distillation. La forme la plus courante est la « distillation de réponse » (response-based distillation), qui se concentre sur l’imitation des sorties finales (logits ou soft targets) du professeur. Une autre approche est la « distillation de caractéristiques » (feature-based distillation), où l’étudiant est entraîné à imiter les représentations internes (les activations des couches intermédiaires) du modèle professeur. Cela peut aider l’étudiant à apprendre des indices plus riches sur le processus de traitement de l’information du professeur. Enfin, la « distillation relationnelle » (relation-based distillation) vise à transférer les relations entre différentes couches ou différents exemples d’entrée, telles qu’apprises par le professeur.

On distingue également différentes stratégies d’entraînement. La « distillation hors ligne » (offline distillation) est la plus classique : un modèle professeur pré-entraîné et figé transfère ses connaissances à un étudiant. La « distillation en ligne » (online distillation) entraîne le professeur et l’étudiant simultanément, permettant aux deux modèles d’apprendre l’un de l’autre ou d’apprendre ensemble à partir des données. L' »auto-distillation » (self-distillation) est un cas particulier où le modèle professeur et le modèle étudiant ont la même architecture, ou l’étudiant est une version antérieure du même modèle ; l’objectif est souvent d’améliorer la robustesse ou la généralisation du modèle lui-même.

La Knowledge Distillation est étroitement liée à d’autres concepts de compression de modèles, tels que l’élagage de réseaux (network pruning), qui supprime des poids ou des neurones redondants, et la quantification, qui réduit la précision numérique des poids et des activations. Ces techniques sont souvent utilisées conjointement avec la distillation pour obtenir des modèles encore plus compacts. La distillation est aussi une forme de transfert d’apprentissage (transfer learning), mais elle se distingue du transfert classique (où l’on réutilise des poids pré-entraînés pour une nouvelle tâche) par le fait qu’elle transfère la fonction apprise par le professeur (via ses sorties ou ses représentations) plutôt que directement ses paramètres. Il n’existe pas de synonyme parfait, mais des expressions comme « apprentissage professeur-étudiant » (teacher-student learning) sont souvent utilisées. Il n’y a pas d’antonyme direct pertinent.

Bien que l’idée de transférer des connaissances d’un modèle à un autre soit plus ancienne, le concept de Knowledge Distillation tel qu’il est largement compris aujourd’hui a été formalisé et popularisé par Geoffrey Hinton, Oriol Vinyals et Jeff Dean dans leur article de 2015 intitulé « Distilling the Knowledge in a Neural Network ». Ils ont introduit l’utilisation des soft targets et de la température softmax, démontrant son efficacité pour la compression de modèles. Des travaux antérieurs, comme ceux de Cristian Buciluǎ, Rich Caruana et Alexandru Niculescu-Mizil en 2006 sur la compression de modèles pour les ensembles, avaient déjà exploré des idées similaires en entraînant un modèle unique à imiter les sorties d’un ensemble complexe de modèles.

Les principaux avantages de la Knowledge Distillation incluent la réduction significative de la taille du modèle et du temps d’inférence, l’amélioration potentielle des performances des modèles compacts par rapport à un entraînement standard, la facilitation du déploiement sur des plateformes à ressources limitées (edge AI, mobile), et la capacité à transférer des connaissances implicites difficiles à capturer autrement. Elle peut aussi aider à améliorer la généralisation de l’étudiant.

Cependant, la technique présente aussi des inconvénients et des défis. Le processus d’entraînement est plus complexe car il implique deux modèles et le réglage d’hyperparamètres supplémentaires (température, poids du terme de distillation). La performance de l’étudiant est souvent plafonnée par celle du professeur ; un mauvais professeur peut nuire à l’apprentissage de l’étudiant. Le choix de l’architecture de l’étudiant est crucial et pas toujours trivial. Il existe un risque de perte d’information lors du transfert, surtout si la capacité de l’étudiant est très limitée par rapport au professeur. De plus, la distillation peut nécessiter un accès aux données d’entraînement originales ou à un ensemble de données représentatif non étiqueté.

En conclusion, la Knowledge Distillation est une technique puissante et polyvalente pour la compression de modèles et le transfert de connaissances en apprentissage automatique. Elle joue un rôle crucial dans l’optimisation des modèles d’IA pour des applications pratiques, en permettant de concilier haute performance et efficacité computationnelle. Malgré certains défis, son utilisation continue de croître et de nouvelles variantes sont régulièrement proposées, témoignant de son importance durable dans le paysage de l’intelligence artificielle.