Les chercheurs exécutent un grand modèle de langage très performant sur l’énergie nécessaire pour alimenter une ampoule
Dans un nouvel article préliminaire, des chercheurs de l’Université de Californie à Santa Cruz montrent qu’il est possible d’éliminer l’élément le plus coûteux en termes de calculs dans l’exécution de grands modèles de langage, appelé multiplication matricielle, tout en maintenant les performances. En se débarrassant de la multiplication matricielle et en exécutant leur algorithme sur du matériel personnalisé, les chercheurs ont découvert qu’ils pouvaient alimenter un modèle de langage à l’échelle d’un milliard de paramètres avec seulement 13 watts, soit à peu près l’équivalent de l’énergie nécessaire à l’alimentation d’une ampoule électrique et plus de 50 fois plus efficace que le matériel classique.
Même avec un algorithme allégé et une consommation d’énergie bien inférieure, le nouveau modèle open source atteint les mêmes performances que les modèles de pointe comme le Meta’s Llama.
« Nous avons obtenu les mêmes performances à bien moindre coût – tout ce que nous avions à faire était de changer fondamentalement le fonctionnement des réseaux neuronaux », a déclaré Jason Eshraghian, professeur adjoint de génie électrique et informatique à la Baskin School of Engineering et auteur principal de l’article. « Ensuite, nous sommes allés plus loin et avons construit du matériel personnalisé. »
Comprendre le coût
Jusqu’à présent, tous les réseaux de neurones modernes, les algorithmes qui alimentent les grands modèles de langage, utilisaient une technique appelée multiplication matricielle. Dans les grands modèles de langage, les mots sont représentés sous forme de nombres qui sont ensuite organisés en matrices. Les matrices sont multipliées les unes par les autres pour produire du langage, en effectuant des opérations qui pèsent l’importance de mots particuliers ou mettent en évidence les relations entre les mots d’une phrase ou les phrases d’un paragraphe. Les modèles linguistiques à plus grande échelle contiennent des milliards de ces chiffres.
« Les réseaux de neurones, d’une certaine manière, sont des machines de multiplication matricielle glorifiées », a déclaré Eshraghian. « Plus votre matrice est grande, plus votre réseau neuronal peut apprendre de choses. »
Pour que les algorithmes puissent multiplier des matrices ensemble, les matrices doivent être stockées quelque part, puis récupérées au moment du calcul. Ce problème est résolu en stockant les matrices sur des centaines d’unités de traitement graphique (GPU) physiquement séparées, qui sont des circuits spécialisés conçus pour effectuer rapidement des calculs sur de très grands ensembles de données, conçus par le géant du matériel informatique Nvidia. Pour multiplier les nombres provenant de matrices sur différents GPU, les données doivent être déplacées, un processus qui génère l’essentiel des coûts du réseau neuronal en termes de temps et d’énergie.
Éliminer la multiplication matricielle
Les chercheurs ont mis au point une stratégie pour éviter d’utiliser la multiplication matricielle en utilisant deux techniques principales. La première est une méthode permettant de forcer tous les nombres des matrices à être ternaires, ce qui signifie qu’ils peuvent prendre l’une des trois valeurs suivantes : moins un, zéro ou positif un. Cela permet de réduire le calcul à la somme de nombres plutôt qu’à la multiplication.
D’un point de vue informatique, les deux algorithmes peuvent être codés exactement de la même manière, mais le fonctionnement de la méthode de l’équipe d’Eshraghian élimine une tonne de coûts du côté matériel.
« Du point de vue d’un concepteur de circuits, vous n’avez pas besoin des frais généraux de multiplication, qui entraînent des coûts considérables », a déclaré Eshraghian.
Cette stratégie a été inspirée par un article produit par Microsoft qui montrait qu’il était possible d’utiliser des nombres ternaires dans les réseaux de neurones, mais n’allait pas jusqu’à se débarrasser de la multiplication matricielle ou à rendre leur modèle accessible au public. Pour ce faire, les chercheurs ont ajusté la stratégie de communication des matrices entre elles.
Au lieu de multiplier chaque nombre d’une matrice par chaque nombre de l’autre matrice, comme c’est généralement le cas, les chercheurs ont conçu une stratégie pour produire les mêmes résultats mathématiques. Dans cette approche, les matrices sont superposées et seules les opérations les plus importantes sont effectuées.
« C’est assez léger comparé à la multiplication matricielle », a déclaré Rui-Jie Zhu, premier auteur de l’article et étudiant diplômé du groupe d’Eshraghian. « Nous avons remplacé les opérations coûteuses par des opérations moins coûteuses. »
Bien qu’ils aient réduit le nombre d’opérations, les chercheurs ont pu maintenir les performances du réseau neuronal en introduisant le calcul temporel dans la formation du modèle. Cela permet au réseau d’avoir une « mémoire » des informations importantes qu’il traite, améliorant ainsi les performances. Cette technique a porté ses fruits : les chercheurs ont comparé leur modèle à l’algorithme de pointe de Meta appelé Llama, et ont pu obtenir les mêmes performances, même à une échelle de milliards de paramètres de modèle.
Puces personnalisées
Les chercheurs ont conçu leur réseau neuronal pour fonctionner sur des GPU, car ils sont devenus omniprésents dans l’industrie de l’IA, permettant au logiciel de l’équipe d’être facilement accessible et utile à toute personne souhaitant l’utiliser.
Sur les GPU standards, les chercheurs ont constaté que leur réseau neuronal consommait environ 10 fois moins de mémoire et fonctionnait environ 25 % plus rapidement que les autres modèles. Réduire la quantité de mémoire nécessaire pour exécuter un modèle de langage puissant et volumineux pourrait permettre aux algorithmes de fonctionner à pleine capacité sur des appareils dotés de plus petite mémoire, comme les smartphones.
Nvidia, le principal producteur mondial de GPU, conçoit son matériel pour qu’il soit hautement optimisé pour effectuer la multiplication matricielle, ce qui lui a permis de dominer le secteur et de devenir l’une des entreprises les plus rentables au monde. Cependant, ce matériel n’est pas entièrement optimisé pour les opérations ternaires.
Pour pousser encore plus loin les économies d’énergie, l’équipe a collaboré avec le professeur adjoint Dustin Richmond et le conférencier Ethan Sifferman du département d’informatique et d’ingénierie de Baskin Engineering pour créer du matériel personnalisé. Pendant trois semaines, l’équipe a créé un prototype de son matériel sur un circuit hautement personnalisable appelé FPGA (Field-Programmable Gate Array). Ce matériel leur permet de profiter pleinement de toutes les fonctionnalités d’économie d’énergie qu’ils ont programmées dans le réseau neuronal.
Avec ce matériel personnalisé, le modèle dépasse le débit lisible par l’homme, ce qui signifie qu’il produit des mots plus rapidement que la vitesse de lecture d’un humain, avec seulement 13 watts de puissance. L’utilisation de GPU nécessiterait environ 700 watts de puissance, ce qui signifie que le matériel personnalisé atteindrait plus de 50 fois l’efficacité des GPU.
Avec des développements plus poussés, les chercheurs pensent pouvoir optimiser davantage la technologie pour une efficacité énergétique encore plus grande.
« Ces chiffres sont déjà très solides, mais il est très facile de les améliorer », a déclaré Eshraghian. « Si nous parvenons à le faire avec une puissance de calcul de 13 watts, imaginez ce que nous pourrions faire avec la puissance de calcul d’un centre de données complet. Nous disposons de toutes ces ressources, mais utilisons-les efficacement.