La distillation de modèles, également connue sous le nom de distillation de connaissances, est une technique en apprentissage automatique où on entraîne un modèle plus petit et moins complexe (appelé “élève”) à reproduire les performances d’un modèle plus large et plus complexe (appelé “enseignant”). Cette méthode a été introduite pour la première fois par Hinton, Vinyals et Dean en 2015 dans leur article “Distilling the Knowledge in a Neural Network” (source : arXiv:1503.02531).
Le principe fondamental de la distillation de modèles implique de transférer la “connaissance” contenue dans le modèle enseignant vers le modèle élève. Cette connaissance est encapsulée sous forme de prédictions de sortie, également appelées “soft targets”, produites par l’enseignant sur un ensemble de données spécifique. Ces soft targets permettent de capturer des informations supplémentaires par rapport aux étiquettes classiques, car elles reflètent la distribution de probabilité des classes prédite par l’enseignant.
La procédure de distillation comporte généralement les étapes suivantes :
1. Entraînement du modèle enseignant : On entraîne un grand modèle de réseau de neurones sur l’ensemble de données disponible.
2. Génération des soft targets : On utilise ensuite ce modèle enseignant pour générer les prédictions (soft targets) sur l’ensemble de données d’entraînement.
3. Entraînement du modèle élève : On entraîne un modèle plus petit, que l’on souhaite optimiser, en utilisant les soft targets comme données d’entraînement, souvent en combinaison avec les vraies étiquettes de l’ensemble de données.
La distillation de modèles est particulièrement utile pour les modèles de langage de grande taille (Large Language Models, ou LLMs) comme GPT-3 ou BERT, qui sont typiquement très gourmands en ressources computationnelles et en mémoire. Par exemple, le modèle GPT-3 de OpenAI possède 175 milliards de paramètres, ce qui nécessite une quantité énorme de calculs pour l’inférence et n’est pas pratique pour des déploiements à grande échelle sur des appareils à ressources limitées.
En appliquant la distillation de modèles à des LLMs, les chercheurs visent à créer des versions plus petites de ces modèles tout en maintenant des performances comparables. Un exemple concret est l’utilisation de la distillation pour créer des versions plus compactes de BERT, comme DistilBERT. DistilBERT est une version de BERT plus légère et optimisée qui retient environ 97% des performances de BERT sur des tâches de compréhension de langage naturel tout en étant 60% plus rapide à exécuter et nécessitant beaucoup moins de ressources pour l’entraînement et l’inférence (source : Sanh, Debut, Chaumond, et Wolf, 2019, arXiv:1910.01108).
La distillation de modèles présente plusieurs avantages significatifs :
- Réduction des coûts de calcul et de mémoire : Rend les grands modèles de langage plus accessibles et déployables sur une plus grande variété de plateformes matérielles, y compris les appareils mobiles.
- Efficacité énergétique : Contribue à la réduction de la consommation énergétique, ce qui est crucial pour des modèles de grande taille ayant un impact environnemental non négligeable.
- Accélération des inférences : Permet d’obtenir des réponses plus rapides dans les applications en temps réel, ce qui est particulièrement important pour les assistants virtuels et les applications de conversation.
En somme, la distillation de modèles est une technique vitale pour rendre les puissantes capacités des LLMs plus accessibles, efficaces et durables, en garantissant que les modèles plus petits puissent rivaliser en performance avec leurs homologues plus grands.