L’IA sur appareil et l’exécution de grands modèles de langage sur des appareils plus petits ont été l’un des principaux points d’intérêt des leaders du secteur de l’IA au cours des dernières années. Ce domaine de recherche est l’un des plus critiques de l’IA, avec le potentiel d’influencer et de remodeler profondément le rôle de l’IA, des ordinateurs et des appareils mobiles dans la vie quotidienne. Cette recherche se déroule en coulisses, largement invisibles pour les utilisateurs, mais reflète pourtant l’évolution des ordinateurs – depuis les machines qui occupaient autrefois des pièces entières et n’étaient accessibles qu’aux gouvernements et aux grandes entreprises jusqu’aux smartphones désormais confortablement cachés dans nos poches.
Désormais, la plupart des grands modèles de langage sont déployés dans des environnements cloud où ils peuvent exploiter les immenses ressources informatiques des centres de données. Ces centres de données sont équipés de matériel spécialisé, tel que des GPU et TPU, ou même des puces IA spécialisées, conçues pour gérer les charges de travail intensives requises par les LLM. Mais cette dépendance au cloud entraîne des défis importants :
Coût élevé: Les services cloud sont chers. L’exécution de LLM à grande échelle nécessite un accès continu à des serveurs haute puissance, ce qui peut augmenter les coûts opérationnels. Pour les startups ou les ingénieurs individuels, ces coûts peuvent être prohibitifs, limitant ceux qui peuvent réellement profiter de cette technologie puissante.
Problèmes de confidentialité des données: Lorsque les utilisateurs interagissent avec des LLM basés sur le cloud, leurs données doivent être envoyées à des serveurs distants pour traitement. Cela crée une vulnérabilité potentielle puisque des informations sensibles telles que des conversations personnelles, des historiques de recherche ou des détails financiers pourraient être interceptées ou mal gérées.
Impact environnemental: Le cloud computing, à cette échelle, consomme d’énormes quantités d’énergie. Les centres de données nécessitent une alimentation continue non seulement pour le calcul, mais également pour le refroidissement et la maintenance des infrastructures, ce qui entraîne une empreinte carbone importante. Avec la poussée mondiale vers la durabilité, cette question doit être résolue. Par exemple, un rapport récent de Google a montré une augmentation de 48 % des émissions de gaz à effet de serre au cours des cinq dernières années, attribuant une grande partie de cette augmentation aux exigences croissantes de la technologie de l’IA.
C’est pourquoi ce problème continue d’attirer l’attention des leaders de l’industrie, qui investissent des ressources importantes pour résoudre le problème, ainsi que des petits centres de recherche et des communautés open source. La solution idéale serait de permettre aux utilisateurs d’exécuter ces modèles puissants directement sur leurs appareils, évitant ainsi le besoin d’une connectivité cloud constante. Cela pourrait réduire les coûts, améliorer la confidentialité et diminuer l’impact environnemental associé à l’IA. Mais c’est plus facile à dire qu’à faire.
La plupart des appareils personnels, en particulier les smartphones, ne disposent pas de la puissance de calcul nécessaire pour exécuter des LLM à grande échelle. Par exemple, un iPhone avec 6 Go de RAM ou un appareil Android avec jusqu’à 12 Go de RAM ne sont pas à la hauteur des capacités des serveurs cloud. Même le plus petit LLM de Meta, LLaMA-3.1 8B, nécessite au moins 16 Go de RAM – et en réalité, il en faut davantage pour des performances décentes sans surcharger le téléphone. Malgré les progrès des processeurs mobiles, l’écart de puissance reste important.
C’est pourquoi l’industrie s’efforce d’optimiser ces modèles, en les rendant plus petits, plus rapides et plus efficaces sans trop sacrifier les performances.
Cet article explore les principaux documents de recherche récents et les méthodes visant à atteindre cet objectif, en soulignant la situation actuelle du domaine :
- Les méta MobileLLM : optimisation de modèles de langage de paramètres de moins d’un milliard pour les cas d’utilisation sur appareil
- celui de Huawei Méthode de décomposition Kronecker pour la compression GPT
- « TQCompressor : amélioration des méthodes de décomposition tensorielle dans les réseaux de neurones via des permutations», un récent projet open source et un document de recherche qui a amélioré la méthode de décomposition de Kronecker, permettant de compresser les modèles GPT de 1,5x sans augmenter considérablement les exigences de temps, une étude à laquelle j’ai participé en tant que co-auteur.
L’approche de Meta pour concevoir des LLM pour les cas d’utilisation sur appareil
Cet été, les chercheurs de Meta AI ont introduit une nouvelle façon de créer des modèles de langage efficaces spécifiquement pour les smartphones et autres appareils aux ressources limitées et ont publié un modèle appelé MobileLLM, construit à l’aide de cette approche.
Au lieu de s’appuyer sur des modèles comportant des milliards, voire des milliards de paramètres, comme GPT-4, l’équipe de Meta s’est concentrée sur l’optimisation de modèles comportant moins d’un milliard de paramètres.
Les auteurs ont constaté que la mise à l’échelle du modèle « en profondeur » fonctionne mieux que « en largeur » pour les modèles plus petits comportant jusqu’à ou environ 1 milliard de paramètres, ce qui les rend plus adaptés aux smartphones. En d’autres termes, il est plus efficace d’avoir un plus grand nombre de petites couches plutôt que quelques grandes. Par exemple, leur modèle de 125 millions de paramètres, MobileLLM, comporte 30 couches, alors que des modèles comme GPT-2, BERT et la plupart des modèles comportant 100 à 200 millions de paramètres comportent généralement environ 12 couches. Les modèles avec le même nombre de paramètres mais un nombre de couches plus élevé (par opposition à des paramètres par couche plus grands) ont démontré une meilleure précision dans plusieurs tâches d’analyse comparative, telles que Winogrande et Hellaswag.
Les graphiques issus des recherches de Meta montrent que pour des tailles de modèles comparables, les modèles plus profonds et plus fins surpassent généralement leurs homologues plus larges et moins profonds dans diverses tâches, telles que le raisonnement de bon sens, la réponse aux questions et la compréhension en lecture.
Crédit image : MobileLLM : optimisation de modèles de langage de paramètres de moins d’un milliard pour les cas d’utilisation sur appareil
Le partage de couches est une autre technique utilisée dans la recherche pour réduire les paramètres et améliorer l’efficacité. Au lieu de dupliquer les couches au sein du réseau neuronal, les poids d’une seule couche sont réutilisés plusieurs fois. Par exemple, après avoir calculé la sortie d’une couche, elle peut être réinjectée dans l’entrée de cette même couche. Cette approche réduit efficacement le nombre de paramètres, car la méthode traditionnelle nécessiterait de dupliquer la couche plusieurs fois. En réutilisant les couches, ils ont réalisé des gains d’efficacité significatifs sans compromettre les performances.
Comme le montre le tableau de la recherche, les autres modèles avec 125 millions de paramètres ont généralement 10 à 12 couches, tandis que MobileLLM en a 30. MobileLLM surpasse les autres sur la plupart des benchmarks (le leader du benchmark étant souligné en gras).
Crédit image : MobileLLM : optimisation de modèles de langage de paramètres de moins d’un milliard pour les cas d’utilisation sur appareil
Dans son article, Meta a présenté le modèle MobileLLM en deux versions : 125 millions et 350 millions de paramètres. Ils ont rendu le code de formation pour MobileLLM accessible au public sur GitHub. Plus tard, Meta a également publié 600 millions, 1 milliard et 1,5 milliard de versions du modèle.
Ces modèles ont montré des améliorations impressionnantes dans des tâches telles que le raisonnement de bon sens, la réponse aux questions et la compréhension en lecture, surpassant les méthodes de pointe précédentes. De plus, des versions affinées de MobileLLM ont démontré leur efficacité dans les applications courantes sur les appareils telles que le chat et les appels API, ce qui les rend particulièrement bien adaptées aux exigences des environnements mobiles.
Le message de Meta est clair : Si nous voulons que les modèles fonctionnent sur les appareils mobiles, ils doivent être créés différemment.
Mais ce n’est pas souvent le cas. Prenez les modèles les plus populaires dans le monde de l’IA, comme LLaMA3Qwen2 ou Gemma-2 — ils n’ont pas seulement beaucoup plus de paramètres ; ils ont également moins de couches mais beaucoup plus grandes, ce qui rend pratiquement très difficile l’exécution de ces modèles sur des appareils mobiles.
Compression des LLM existants
Les recherches récentes de Meta s’éloignent de la compression des réseaux neuronaux existants et présentent une nouvelle approche pour concevoir des modèles spécifiquement pour les smartphones. Cependant, des millions d’ingénieurs dans le monde qui ne construisent pas de modèles à partir de zéro (et avouons-le, c’est la plupart d’entre eux) doivent quand même travailler avec ces modèles larges et riches en paramètres. La compression n’est pas seulement une option ; c’est une nécessité pour eux.
Voici le problème : même si les découvertes de Meta sont révolutionnaires, la réalité est que les modèles open source ne sont pas nécessairement construits en gardant ces principes à l’esprit. La plupart des modèles de pointe, y compris le LLaMA de Meta, sont toujours conçus pour les grands serveurs dotés de GPU puissants. Ces modèles comportent souvent moins de couches mais beaucoup plus larges. Par exemple, le LLaMA3 8B possède près de 65 fois plus de paramètres que le MobileLLM-125M, même si les deux modèles comportent environ 30 couches.
Alors, quelle est l’alternative ? Vous pouvez continuer à créer de nouveaux modèles à partir de zéro, en les adaptant à une utilisation mobile. Vous pouvez également compresser les fichiers existants.
Pour rendre ces modèles volumineux et larges plus efficaces pour les appareils mobiles, les ingénieurs se tournent souvent vers un ensemble de techniques de compression éprouvées. Ces méthodes sont la quantification, l’élagage, la décomposition matricielle et la distillation des connaissances.
Quantification
L’une des méthodes les plus couramment utilisées pour la compression des réseaux neuronaux est la quantification, connue pour être simple et préserver efficacement les performances.
Crédit image : Jan Marcel Kezmann sur Moyen
Le concept de base est qu’un réseau neuronal est constitué de nombres stockés dans des matrices. Ces nombres peuvent être stockés dans différents formats, tels que des nombres à virgule flottante ou des nombres entiers. Vous pouvez réduire considérablement la taille du modèle en convertissant ces nombres d’un format plus complexe, comme float32, vers un format plus simple, comme int8. Par exemple, un modèle qui occupait initialement 100 Mo pourrait être compressé à seulement 25 Mo grâce à la quantification.
Taille
Comme mentionné, un réseau de neurones est constitué d’un ensemble de matrices remplies de nombres. L’élagage est le processus de suppression des nombres « sans importance », appelés « poids », de ces matrices.
En supprimant ces poids sans importance, le comportement du modèle est peu affecté, mais les besoins en mémoire et en calcul sont considérablement réduits.
Décomposition matricielle
La décomposition matricielle est une autre technique efficace pour compresser les réseaux de neurones. L’idée est de décomposer (ou de « décomposer ») les grandes matrices du réseau en matrices plus petites et plus simples. Au lieu de stocker une matrice entière, elle peut être décomposée en deux ou plusieurs matrices plus petites. Lorsqu’elles sont multipliées entre elles, ces matrices plus petites produisent un résultat identique ou très proche de l’original. Cela nous permet de remplacer une grande matrice par des plus petites sans altérer le comportement du modèle. Cependant, cette méthode n’est pas parfaite : parfois, les matrices décomposées ne peuvent pas reproduire parfaitement l’original, ce qui entraîne une petite erreur d’approximation. Pourtant, le compromis en termes d’efficacité en vaut souvent la peine.
Distillation des connaissances
La distillation des connaissances, introduite par Hinton et al. en 2015, est une méthode simple mais efficace pour créer un modèle plus petit et plus efficace (le « modèle étudiant ») en transférant les connaissances d’un modèle plus grand et pré-entraîné (le « modèle enseignant »).
Grâce à la distillation des connaissances, un modèle de langage plus petit conçu arbitrairement peut être formé pour imiter le comportement d’un modèle plus grand. Le processus fonctionne en fournissant aux deux modèles les mêmes données, et le plus petit apprend à produire des résultats similaires à ceux du modèle plus grand. Essentiellement, le modèle étudiant est distillé avec la connaissance du modèle enseignant, ce qui lui permet de fonctionner de manière similaire mais avec beaucoup moins de paramètres.
Un exemple notable est DistilBERT (Sanh et al. 2019), qui a réussi à réduire les paramètres du BERT de 40 % tout en conservant 97 % de ses performances et en fonctionnant 71 % plus rapidement.
La distillation peut être facilement combinée avec la quantification, l’élagage et la décomposition matricielle, où le modèle de l’enseignant est la version originale et l’élève la version compressée. Ces combinaisons permettent d’affiner la précision du modèle compressé. Par exemple, vous pouvez compresser GPT-2 à l’aide de la décomposition matricielle, puis appliquer la distillation des connaissances pour entraîner le modèle compressé à imiter le GPT-2 d’origine.
Comment compresser les modèles existants pour les cas d’utilisation de l’IA sur appareil
Il y a quelques années, Huawei s’est également concentré sur l’activation de modèles d’IA intégrés aux appareils et a publié des recherches sur la compression de GPT-2. Les chercheurs ont utilisé une méthode de décomposition matricielle pour réduire la taille du modèle open source GPT-2 populaire afin de permettre une utilisation plus efficace sur l’appareil.
Plus précisément, ils ont utilisé une technique appelée décomposition de Kronecker, qui constitue la base de leur article intitulé « Décomposition de Kronecker pour la compression GPT ». En conséquence, les paramètres de GPT-2 ont été réduits de 125 millions à 81 millions.
Pour récupérer les performances du modèle après compression, les auteurs ont eu recours à la distillation des connaissances. La version compressée – baptisée KnGPT-2 – a appris à imiter le comportement du GPT-2 original. Ils ont formé ce modèle distillé en utilisant seulement 10 % de l’ensemble de données d’origine utilisé pour former GPT-2. Au final, la taille du modèle a diminué de 35 %, avec une perte de performances relativement faible.
Cette année, mes collègues et moi avons publié des recherches sur les méthodes de décomposition matricielle, dans lesquelles nous avons réussi à compresser le modèle GPT-2 (avec 125 millions de paramètres) à 81 millions de paramètres. Nous avons nommé le modèle résultant TQCompressedGPT-2. Cette étude a encore amélioré la méthode de décomposition de Kronecker et, grâce à cette avancée, nous avons réussi à utiliser seulement 3,1 % de l’ensemble de données d’origine pendant la phase de distillation des connaissances. Cela signifie que nous avons réduit le temps de formation d’environ 33 fois par rapport à l’utilisation de l’ensemble de données complet et que les développeurs cherchant à déployer des modèles comme LLaMA3 sur les smartphones auront besoin de 33 fois moins de temps pour obtenir une version compressée de LLaMA3 en utilisant notre méthode.
La nouveauté de nos travaux réside dans quelques domaines clés :
- Avant d’appliquer la compression, nous avons introduit une nouvelle méthode : la permutation des matrices de poids. En réorganisant les lignes et les colonnes des matrices de couches avant la décomposition, nous avons obtenu une plus grande précision dans le modèle compressé.
- Nous avons appliqué la compression de manière itérative, réduisant les couches du modèle une par une.
Nous avons rendu notre modèle et notre code d’algorithme open source, ce qui permet de poursuivre la recherche et le développement.
Les deux études nous rapprochent du concept Meta introduit avec leur approche des Mobile LLM. Ils démontrent des méthodes permettant de transformer des modèles étendus existants en versions plus compactes et plus approfondies à l’aide de techniques de décomposition matricielle et de restaurer les performances du modèle compressé grâce à la distillation des connaissances.
Les modèles haut de gamme comme LLaMA, Mistral et Qwen, qui comportent nettement plus d’un milliard de paramètres, sont conçus pour des serveurs cloud puissants, et non pour des smartphones. Les recherches menées par Huawei et notre équipe proposent des techniques précieuses pour adapter ces grands modèles à une utilisation mobile, en phase avec la vision de Meta pour l’avenir de l’IA sur appareil.
La compression des modèles d’IA est plus qu’un défi technique : c’est une étape cruciale pour rendre la technologie avancée accessible à des milliards de personnes. À mesure que les modèles deviennent plus complexes, la capacité de les exécuter efficacement sur des appareils quotidiens comme les smartphones devient essentielle. Il ne s’agit pas seulement d’économiser des ressources ; il s’agit d’intégrer l’IA dans notre vie quotidienne de manière durable.
Les progrès réalisés par l’industrie pour relever ce défi sont significatifs. Les progrès de Huawei et de TQ dans la compression des modèles d’IA poussent l’IA vers un avenir où elle pourra fonctionner de manière transparente sur des appareils plus petits sans sacrifier les performances. Il s’agit d’étapes cruciales pour adapter durablement l’IA aux contraintes du monde réel et la rendre plus accessible à tous, jetant ainsi une base solide pour la poursuite des recherches dans ce domaine vital de l’impact de l’IA sur l’humanité.