My IBM Se connecter S’abonner
Qu’est-ce que la distillation de connaissances ?

Qu’est-ce que la distillation de connaissances ?

Découvrir la plateforme d’IA d’IBM S’abonner aux mises à jour sur l’IA
Illustration par un collage de pictogrammes représentant des nuages, un diagramme circulaire, des pictogrammes de graphique

Date de publication : 16 avril 2024
Contributeur : Dave Bergmann

Qu’est-ce que la distillation de connaissances ?

Qu’est-ce que la distillation de connaissances ?

La distillation de connaissances est une technique de machine learning qui consiste à transférer les connaissances d’un grand modèle pré-entraîné, le « modèle enseignant », à un « modèle élève » plus petit. Cette technique est utilisée dans l’apprentissage profond comme moyen de compression des modèles et de transfert des connaissances, en particulier pour les réseaux neuronaux profonds massifs.

L’objectif de la distillation de connaissances est d’entraîner un modèle plus compact à imiter un modèle plus grand et plus complexe. Alors que l’objectif de l’apprentissage profond classique est d’entraîner un réseau neuronal artificiel pour rapprocher ses prédictions des exemples de production fournis dans un jeu de données d’entraînement, la distillation de connaissances vise principalement à entraîner le réseau d’élèves pour s’aligner sur les prédictions faites par le réseau d’enseignants.

La distillation de connaissances (KD) est généralement appliquée aux grands réseaux neuronaux profonds, qui comportent un nombre important de couches et de paramètres à apprendre. La technique s’avère donc particulièrement intéressante face à la prolifération continue des modèles d’IA générative massifs, qui comportent des milliards de paramètres.

Le concept trouve son origine dans un article de 2006 intitulé « Compression des modèles ». Caruana et al se sont appuyés sur un modèle de classification de pointe, un immense modèle d’ensemble qui comprenait des centaines de classificateurs de base, pour étiqueter un grand jeu de données. Ils ont ensuite entraîné un seul réseau neuronal sur ce jeu de données nouvellement étiqueté grâce aux techniques d’apprentissage supervisé conventionnelles. Ce modèle compact, « mille fois plus petit et plus rapide », affichait le même niveau de performance que l’ensemble.1

Les techniques de distillation des connaissances ont depuis lors fait leur preuves dans divers domaines, notamment le traitement automatique du langage naturel (TAL), la reconnaissance vocale, la reconnaissance d’images et la détection d’objets. Depuis quelques années, l’étude de la distillation de connaissances revêt une importance particulière dans le domaine des grands modèles de langage (LLM). En effet, elle permet de transférer efficacement les fonctionnalités avancées des principaux modèles propriétaires vers des modèles open source plus petits et plus accessibles.

IA générative et ML au service des entreprises

Cet ebook décrit les principaux avantages qu’apporte l’adoption de l’IA générative à l’échelle de l’entreprise. Il explique également comment intégrer en toute confiance les modèles de fondation et le machine learning dans vos opérations.

Contenu connexe Obtenir le guide sur les modèles de fondation
Pourquoi la distillation de connaissances est-elle importante ?

Pourquoi la distillation de connaissances est-elle importante ?

Dans un environnement réel, la précision et la capacité des modèles d’intelligence artificielle sont généralement insuffisantes pour rendre le modèle utile. Ce dernier doit également s’adapter au temps, à la mémoire, au budget et aux ressources informatiques disponibles.

Les modèles les plus performants sur une tâche donnée sont souvent trop grands, trop lents ou trop coûteux, et ce quel que soit le cas d’utilisation, ou presque. En revanche, ils possèdent souvent des qualités uniques, qu’ils doivent à leur taille et à leur capacité de pré-entraînement sur une immense quantité de données d’entraînement. Ces capacités émergentes sont particulièrement évidentes dans le cas des modèles de langage autorégressifs, comme GPT ou Llama, qui présentent des capacités au-delà de leur objectif d’entraînement explicite, à savoir prédire le mot suivant dans une séquence. Inversement, les petits modèles sont plus rapides et moins exigeants en matière de calcul, mais ils affichent un niveau de précision, d’affinement et de connaissance inférieur à celui d’un grand modèle qui comporte un nombre de paramètres beaucoup plus important.  

Dans un article précurseur publié en 2015, « Distilling the Knowledge in a Neural Network », Hinton et al proposaient de contourner ces limites en divisant l’entraînement en deux phases, avec des objectifs bien distincts. Les auteurs ont fait l’analogie suivante : alors que de nombreux insectes ont développé une forme larvaire pour puiser énergie et nutriments dans l’environnement, et une forme adulte, complètement différente, pour se déplacer et se reproduire, l’apprentissage profond classique utilise les mêmes modèles pour les phases d’entraînement et de déploiement, malgré les différentes exigences de ces dernières.

S’inspirant à la fois de la nature et des travaux de Caruana et al, Hinton et al conseillaient l’entraînement de grands modèles encombrants si ces derniers s’avéraient être le meilleur moyen d’extraire la structure des données, mais ils préconisaient un autre type d’entraînement, la distillation, pour transférer ces connaissances à un petit modèle, plus adapté au déploiement en temps réel.2

Les techniques de distillation des connaissances visent non seulement à reproduire les sorties des modèles enseignants, mais aussi à imiter leurs « processus de pensée ». À l’ère des LLM, la distillation de connaissances a permis le transfert de qualités abstraites comme le style, la capacité de raisonnement et l’alignement sur les préférences et les valeurs humaines.3

En outre, les modèles plus petits sont foncièrement plus explicables : dans le cas d’un modèle qui comporte des centaines de milliards de paramètres, il est difficile d’interpréter les contributions des différentes parties du réseau neuronal. Transférer les représentations apprises par les grands modèles de type « boîte noire » aux modèles plus simples présente un potentiel de transformation dans des domaines tels que le diagnostic médical et la découverte moléculaire.4

La distillation de connaissances : comment ça marche ?

La distillation de connaissances : comment ça marche ?

La distillation de connaissances ne repose pas sur une architecture de réseau neuronal particulière. Qui plus est, le réseau d’enseignants et le réseau d’élèves ne doivent pas nécessairement disposer de la même architecture. La distillation de connaissances peut donc être appliquée à tout modèle d’apprentissage profond.

La distillation de connaissances tire parti du fait que les réseaux neuronaux artificiels sont des « approximateurs universels » : si les données d’entraînement et la taille de la couche cachée sont suffisantes, le réseau neuronal peut approximer n’importe quelle fonction avec une précision arbitraire.5

Dans le machine learning traditionnel, les « connaissances» du modèle entraîné sont déterminées par les paramètres appris : les poids variables (et les biais), appliqués aux différentes opérations mathématiques intervenant dans le réseau neuronal, qui amplifient ou diminuent l’influence d’une certaine partie des sorties du réseau sur une autre partie. Cette vision des connaissances fait qu’il est difficile de déterminer la manière dont un modèle peut absorber les connaissances d’un autre modèle de taille et de structure différentes.

Hinton et al ont choisi d’adopter une vision plus abstraite et plus souple des connaissances, qu'ils considèrent comme étant « un mappage appris entre vecteurs d’entrée et vecteurs de sortie ». En d’autres termes, les connaissances du modèle sont interprétées non pas en fonction des paramètres strictement mathématiques qu’il apprend lors de l’entraînement, mais en fonction de la manière dont elles se généralisent à de nouvelles données après cet entraînement.

Avec cette nouvelle approche, les méthodes de distillation des connaissances visent à entraîner les modèles élèves à imiter non seulement la sortie du modèle enseignant pour une entrée donnée, mais aussi les étapes de raisonnement que ce dernier suit pour y parvenir. Conceptuellement, cela fonctionne de la même manière que le réglage d’instructions à l’aide de prompts CoT (« chain-of-thought », ou «  chaîne de pensée », en français), qui permet d’améliorer la qualité des réponses en apprenant aux LLM à articuler leur raisonnement « étape par étape ».

Dans l’apprentissage conventionnel supervisé ou auto-supervisé, une fonction de perte produit un vecteur représentant la divergence (ou la perte) entre les sorties du modèle et les sorties « correctes » (ou la vérité terrain) sur différentes entrées. En ajustant les paramètres du modèle pour minimiser la pente (ou le gradient) de ce vecteur via un algorithme d’optimisation comme la descente de gradient, les sorties du modèle sont plus proches de ces sorties correctes. Bien que les étapes de raisonnement du modèle soient « importantes » du fait de leur influence sur la sortie finale, elles ne sont généralement pas mesurées par une fonction de perte conventionnelle.

Inversement, la distillation des connaissances entraîne le modèle élève à imiter le processus de raisonnement du modèle enseignant. Pour ce faire, on ajoute un type spécialisé de fonction de perte, la perte de distillation, qui consiste à utiliser les étapes de raisonnement discrètes comme cibles souples à des fins d’optimisation.

Cibles souples

Les sorties d’un modèle d’IA, quel qu’il soit, peuvent être interprétées comme des prédictions : un LLM autorégressif prédit le ou les mots suivants dans une séquence donnée ; un modèle de vision par ordinateur utilisé pour la classification des images prédit la catégorie d'une certaine image. Pour arriver à ces prédictions, appelées « cibles dures » dans ce contexte, les modèles d’apprentissage en profondeur font généralement plusieurs prédictions préliminaires et emploient une fonction softmax pour générer la prédiction avec la probabilité la plus élevée. Pendant l’entraînement, une fonction de perte d’entropie croisée est utilisée pour maximiser la probabilité attribuée à la sortie correcte et minimiser la probabilité attribuée aux sorties incorrectes.

Par exemple, un modèle de classification des images prédit la probabilité qu’une image en entrée appartienne à chaque classe connue que le modèle est entraîné à reconnaître, puis génère la classe avec la valeur de probabilité la plus élevée. Dans le jargon mathématique du machine learning, ces prédictions individuelles par classe sont appelées logits. De la même manière, un LLM autorégressif prédit plusieurs possibilités pour chaque mot suivant et (selon son réglage de température ) échantillonne l’une de ces possibilités pour sa sortie.

Avec la distillation de connaissances, ces prédictions intermédiaires, ou « cibles douces générées par le modèle enseignant fournissent souvent les données d’entraînement principales au modèle élève. Les probabilités relatives attribuées à ces prédictions préliminaires fournissent des indications précieuses sur la manière dont le modèle enseignant tend à se généraliser. Par exemple, un modèle de classification des images est beaucoup plus susceptible de (mal) classer l’image d’un renard comme représentant un « chien » qu’un « sandwich ». Les cibles douces fournissent donc beaucoup plus d’informations pour chaque cas d’entraînement que les cibles dures.

Les cibles souples offrent également plus de cohérence que les cibles strictes : la prédiction finale d’un modèle peut finalement dépendre d’une différence minime entre deux valeurs logit, mais les valeurs logit elles-mêmes présentent une variance beaucoup moins importante dans le gradient entre chaque exemple d’entraînement.

En raison de la richesse et de la stabilité des informations fournies par les cibles souples, le modèle élève peut être entraîné sur moins d’exemples, avec un taux d’apprentissage plus élevé que celui utilisé pour entraîner le modèle enseignant.

Perte de distillation

Pour rapprocher les tendances de généralisation du réseau élève de celles du réseau enseignant, la distillation des connaissances utilise généralement deux fonctions de perte. La première est une fonction de perte standard qui opère sur la « perte dure », mesurant les sorties finales du modèle élève par rapport aux étiquettes de vérité terrain (pour l’apprentissage supervisé) ou à l’échantillon de données d’origine (pour l’apprentissage auto-supervisé). La seconde est la perte par distillation, une « perte souple » qui mesure les objectifs faibles du modèle élève par rapport à ceux de du modèle enseignant.

Comme il peut y avoir plusieurs cibles souples pour chaque exemple d’entraînement, la perte de conversion mesure la différence entre la distribution des probabilités des cibles souples du réseau enseignant et la distribution des probabilités du réseau élève. La divergence de Kullback-Leibler (ou « divergence K-L ») est couramment utilisée à cette fin.

Types de connaissances dans la distillation de connaissances

Types de connaissances dans la distillation de connaissances

Bien que les logits soient l’objet typique du transfert de connaissances entre réseau enseignant et réseau élève, les « connaissances » peuvent se manifester de différentes manières dans un réseau neuronal profond. D’autres méthodes de distillation des connaissances se concentrent sur les poids et les activations dans les couches cachées du réseau, ou sur les relations entre les différentes parties du réseau.

Ces différentes formes de connaissances relèvent généralement de l’une de ces trois catégories : connaissances basées sur les réponses, connaissances basées sur les caractéristiques et connaissances basées sur les relations.

Connaissances basées sur les réponses

Les connaissances basées sur les réponses, le genre le plus courant de distillation des connaissances, se concentre sur le transfert d’informations depuis la couche de sortie finale du modèle enseignant. Dans une méthode KD typique basée sur les réponses, le modèle élève est entraîné à produire des logits qui correspondent aux prédictions du modèle enseignant.

Lorsque les cibles souples du modèle enseignant ont une faible entropie, c’est-à-dire lorsque les prédictions sont extrêmement « confiantes », par exemple, si un modèle de classification produit un logit très proche de 1 (représentant la certitude) pour une classe et des logits proches de 0 pour toutes les autres, elles ne fournissent pas autant d’informations. Les méthodes basées sur les réponses utilisent donc souvent une température élevée pour les sorties des modèles, ce qui augmente l’entropie des prédictions des modèles. Cela garantit une distribution de probabilités plus variable et donc une plus grande quantité d’informations provenant de chaque exemple d’entraînement.

Connaissances basées sur les caractéristiques

Les connaissances basées sur les caractéristiques se concentrent sur les informations véhiculées dans les couches intermédiaires d’un réseau neuronal, ou « couches cachées ». C’est à ce stade que les réseaux neuronaux effectuent généralement l’extraction des caractéristiques, c’est-à-dire l’identification des caractéristiques et des schémas distincts des données d’entrée qui sont pertinents pour la tâche à accomplir.

Par exemple, dans les réseaux neuronaux convolutifs utilisés principalement pour des tâches de vision par ordinateur comme la segmentation d’image, chaque couche cachée successive capture des détails de plus en plus riches à mesure que les données sont transmises sur le réseau. Par exemple, dans un modèle utilisé pour classer les images d’animaux par espèce, les premières couches cachées ne discernent que la présence d’une forme animale dans une partie de la photo, les couches médianes cachées discernent que l’animal est un oiseau, les dernières couches cachées, juste avant la couche de sortie, discernent les détails qui différencient une espèce d’oiseau d’une autre espèce étroitement apparentée.

L’objectif des méthodes de distillation des connaissances basées sur les caractéristiques est donc d’entraîner le modèle élève à apprendre les mêmes caractéristiques que le réseau enseignant. Des fonctions de perte par distillation basées sur les caractéristiques permettent de mesurer, puis de minimiser la différence entre les activations de caractéristiques des deux réseaux.

Connaissances basées sur les relations

Alors que les connaissances basées sur les réponses et sur les caractéristiques se concentrent sur les sorties de couches de modèles spécifiques, la distillation des connaissances basée sur les relations porte sur les relations entre différentes couches ou entre les cartes de caractéristiques représentant les activations à différents niveaux ou emplacements.

En substance, les connaissances basées sur les relations représentent peut-être l’approche globale d’entraînement du réseau élève à imiter le « processus de pensée » du modèle enseignant. Ces relations et corrélations peuvent être modélisées de différentes manières, notamment les corrélations entre les cartes de caractéristiques, les matrices représentant la similarité entre les différentes couches, les embeddings de caractéristiques ou les distributions probabilistes des représentations de caractéristiques.

Schémas de distillation des connaissances

Schémas de distillation des connaissances

Les méthodes de distillation des connaissances peuvent également être classées selon leur impact sur le réseau enseignant. Alors que le processus de distillation proposé à l’origine par Hinton et al et les nombreuses évolutions ultérieures de cette méthodologie visent uniquement à entraîner le réseau élève, d’autres programmes de distillation impliquent également la mise à jour simultanée des poids du réseau enseignant.

Distillation hors ligne

Dans le cas d’une distillation hors ligne, le réseau enseignant est déjà pré-entraîné et les poids de son modèle sont gelés pour éviter tout changement ultérieur. La distillation hors ligne est typique de nombreuses approches KD pour les LLM, dans lesquelles l’enseignant est souvent un modèle propriétaire plus grand dont les poids ne peuvent pas être modifiés.

Distillation en ligne

Dans certaines circonstances, un modèle enseignant correctement pré-entraîné et performant peut ne pas être disponible, ou un data scientist souhaitera peut-être adapter le réseau enseignant à son cas d’utilisation spécifique. Les programmes de distillation en ligne visent à entraîner simultanément les réseaux enseignant et élève.

Par exemple, Cioppa et al a proposé un programme de distillation en ligne pour les modèles de segmentation sémantique utilisés dans les événements sportifs en direct, où les circonstances visuelles peuvent changer tout au long d’un match. Son objectif était de contourner le compromis entre la vitesse d’un petit réseau et la précision d’un plus grand réseau en entraînant en permanence un modèle lent et performant sur des données de match en direct, tout en distillant simultanément les connaissances de ce plus grand modèle dans un modèle plus petit et plus rapide déployé pour générer des résultats en temps réel.6

Auto-distillation

Dans l’autodistillation, un réseau agit à la fois comme enseignant et comme élève. Alors que la distillation conventionnelle des connaissances implique le transfert de connaissances d’un modèle à un autre, l’autodistillation peut être comprise comme le transfert de connaissances des couches profondes d’un réseau vers les couches superficielles de ce même réseau.7

Dans l’autodistillation, plusieurs « classificateurs peu profonds » basés sur l’attention sont ajoutés aux couches intermédiaires du modèle à différentes profondeurs. Pendant l’entraînement, les classificateurs plus profonds servent de modèles enseignant et orientent l’entraînement des autres modules basés sur l’attention en fonction de deux types de pertes par distillation : une perte métrique de divergence KL sur les sorties et une perte de régularisation L2 sur les cartes de caractéristiques.

Une fois le modèle entraîné et prêt pour l’inférence, tous ces classificateurs superficiels sont supprimés du modèle. Cela permet d’obtenir un modèle plus grand dont la capacité de reconnaissance des schémas pendant l’entraînement est supérieure, mais aussi d’un modèle plus petit, donc plus rapide et plus efficace lorsqu’il est déployé.

Distillation de connaissances et LLM

Distillation de connaissances et LLM

Avec l’avènement des LLM, la distillation des connaissances est apparue comme un moyen important de transférer les capacités avancées des grands modèles, souvent propriétaires, vers des modèles plus petits, souvent open source. À ce titre, elle est devenue un outil important dans la démocratisation de l’IA générative.

Les LLM les plus performants sont, dans la plupart des cas, trop coûteux et trop gourmands en ressources de calcul pour être accessibles à de nombreux utilisateurs potentiels, comme les amateurs, les start-ups ou les instituts de recherche. De plus, malgré leurs performances avancées et leurs capacités uniques, les LLM propriétaires, de par leur nature, ne peuvent pas être adaptés à des applications de niche et à des cas d’utilisation spécifiques.

Par ailleurs, la plupart des LLM commercialement viables sont trop volumineux et exigeants en calcul pour être utilisés localement sur les téléphones mobiles ou d’autres appareils de périphérie. Un modèle plus petit exécuté directement sur les appareils mobiles permet de contourner ces problèmes logistique, d’informatique et de confidentialité. La compression des modèles de KD présente donc un moyen prometteur de transférer les qualités émergentes de grands modèles à des modèles suffisamment petits pour être exécutés sur les appareils.

Voici d’autres utilisations courantes de la distillation des connaissances pour les LLM :

Rendre les LLM multilingues, par exemple en utilisant plusieurs modèles enseignant (chacun spécialisé dans une langue donnée) afin de transférer les connaissances linguistiques à un seul modèle élève8, ou entraîner conjointement des modèles dans des langues distinctes afin de générer des plongements vectoriels semblables pour la même phrase.9

Utiliser des LLM propriétaires plus importants pour générer des ensembles de données destinés au réglage des instructions de modèles plus petits. Par exemple, le modèle Orca de Microsoft « a appris à partir de signaux riches de GPT-4, y compris des traces d’explications, des processus de réflexion étape par étape et d’autres instructions complexes ». 10

Utiliser un modèle enseignant pour classer les résultats du modèle élève, en distillant ses préférences et ses paramètres d’alignement grâce à une variante de l’apprentissage par renforcement basé sur les commentaires humains (RLHF), doublé de l’apprentissage par renforcement basé sur les commentaires de l’IA (RLAIF).11

Solutions connexes

Solutions connexes

IBM watsonx.ai

Entraînez, validez, ajustez et déployez en toute facilité des capacités d’IA générative et de machine learning ainsi que des modèles de fondation, et créez des applications d’IA beaucoup plus rapidement, avec seulement une fraction des données disponibles.

Découvrir watsonx.ai

Modèles de base dans watsonx.ai

Découvrez la bibliothèque de modèles du studio watsonx.ai développés par IBM, qui rassemble des modèles de fondation rentables de niveau entreprise, des modèles open source et provenant de fournisseurs tiers pour aider les clients et les partenaires à mettre à l’échelle et à opérationnaliser rapidement l’IA générative avec un risque minimal.

Découvrir la bibliothèque IBM de modèles de fondation
Ressources sur la distillation de connaissances

Ressources sur la distillation de connaissances

Que sont les réseaux neuronaux ?

Apprenez-en davantage sur les réseaux neuronaux artificiels, l’architecture de modèle qui constitue la base du deep learning et de l’IA générative.

Analyse comparative des méthodes de distillation agnostiques pour la compression des modèles de langage Transformer

Découvrez comment les méthodes de distillation des connaissances sont appliquées dans le domaine des LLM. Cet article reproduit, compare et analyse plusieurs méthodes représentatives de la distillation à usage général des modèles de langage basés sur les transformateurs.

Qu’est-ce que l’IA générative ?

Établir une meilleure connaissance pratique de l’IA générative : utiliser l’IA pour créer un contenu original (texte, images, vidéo, audio ou code logiciel) en réponse au prompt ou à la demande d’un utilisateur.

Passez à l’étape suivante

Entraînez, validez, réglez et déployez une IA générative, des modèles de fondation et des capacités de machine learning avec IBM watsonx.ai, un studio professionnel de nouvelle génération pour les générateurs d’IA. Créez des applications d’IA en peu de temps et avec moins de données.

Découvrir watsonx.ai Réserver une démo live
Notes de bas de page

Remarque : tous les liens sont externes au site ibm.com

1 « Model compression », Proceedings of the Twelfth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 23 août 2006
2 « Distilling the Knowledge in a Neural Network », arXiv, 9 mars 2015
3 « A Survey on Knowledge Distillation of Large Language Models », arXiv, 8 mars 2024
4 « Improving drug-target affinity prediction via feature fusion and knowledge distillation », Briefings in Bioinformatics, mai 2023
5 « A three layer neural network can represent any multivariate function », arXiv, 16 janvier 2022
6 « ARTHuS: Adaptive Real-Time Human Segmentation in Sports Through Online Distillation », 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2019
7 « Self-Distillation : Towards Efficient and Compact Neural Networks », IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 44, no. 8, pp. 4388-4403, 1er août 2022
8 « Multilingual Neural Machine Translation with Knowledge Distillation », arXiv, 30 avril 2019
9 « Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation », arXiv, 21 avril 2020
10 « Orca : Progressive Learning from Complex Explanation Traces of GPT-4 », Hugging Face, 5 juin 2023
11 « RLAIF : Scaling Reinforcement Learning from Human Feedback with AI Feedback », arXiv, 1er septembre 2023