Large Language Models Inference Engines based on Spiking Neural Networks
Balaji, Madireddy, Balaprakash
Foundational models based on the transformer architecture are currently the state-of-the-art in general language modeling, as well as in scientific areas such as material science and climate. However, training and deploying these models is computationally challenging as the time and space complexity has a quadratic relation to the input sequence length. Several efforts exploring efficient computational paradigms and model architectures to address these limitations have been made. In this work, we explore spiking neural networks (SNNs) to design transformer models. A challenge in training large-scale SNNs, using existing surrogate learning methods is inefficient and time-consuming. On the other hand, techniques to convert existing transformer-based models to their SNN equivalent are not scalable, as achieving optimal performance comes at the cost of a large number of spike time-steps, i.e. increased latency. To address this, we propose NeurTransformer, a methodology for designing transformer-based SNN for inference using a supervised fine-tuning approach with existing conversion methods. The proposed methodology works by: (1) replacing the self-attention mechanism with a spike-based self-attention (SSA), (2) converting the feed-forward block of the trained transformer model to its equivalent SNN, and (3) fine-tuning the SSA block using SNN-based surrogate learning algorithms. We benchmark the proposed methodology and demonstrate its accuracy and scalability using three variants of the GPT-2 model of increasing model size. We observe that the converted GPT-2 small models demonstrate a 5-12% loss in cosine similarity and a 9.7% reduction in perplexity. Finally, we demonstrate the energy efficiency of the SSA block compared to the ASA block and show between 64.71% and 85.28% reductions in estimated energy consumption when implementing the self-attention mechanism on a digital hardware.
academic
Moteurs d'Inférence de Grands Modèles de Langage basés sur les Réseaux de Neurones Impulsionnels
Les modèles fondamentaux basés sur l'architecture Transformer constituent l'état de l'art actuel en modélisation générale du langage ainsi que dans les domaines scientifiques tels que la science des matériaux et la climatologie. Cependant, l'entraînement et le déploiement de ces modèles présentent des défis computationnels majeurs, car leur complexité temporelle et spatiale est quadratique par rapport à la longueur de la séquence d'entrée. Cet article explore l'utilisation des réseaux de neurones impulsionnels (SNNs) pour concevoir des modèles Transformer. Les méthodes d'apprentissage par substitution existantes pour entraîner des SNNs à grande échelle sont inefficaces et chronophages, tandis que les techniques de conversion des modèles Transformer existants en SNNs équivalents manquent de scalabilité. À cet effet, les auteurs proposent la méthode NeuTransformer, qui conçoit des moteurs d'inférence Transformer basés sur SNN par ajustement fin supervisé combiné aux méthodes de conversion existantes. Cette méthode comprend : (1) le remplacement du mécanisme d'auto-attention par une auto-attention basée sur les impulsions (SSA), (2) la conversion des blocs de rétroaction en SNNs équivalents, (3) l'ajustement fin des blocs SSA à l'aide d'algorithmes d'apprentissage par substitution SNN. Les expériences montrent que le petit modèle GPT-2 converti subit une perte de 5-12% en similarité cosinus, une réduction de 9,7% de la perplexité, et les blocs SSA réalisent une réduction de consommation énergétique de 64,71%-85,28% par rapport aux blocs ASA.
Problème de Complexité Computationnelle : Le mécanisme d'auto-attention des modèles Transformer présente une complexité temporelle et spatiale O(n²), où n est la longueur de la séquence, ce qui entraîne une augmentation drastique des exigences de calcul et de mémoire lors du traitement de longues séquences.
Problème de Consommation Énergétique : Les modèles Transformer traditionnels nécessitent des GPUs coûteux ou des accélérateurs personnalisés pour l'entraînement et l'inférence, avec une consommation énergétique considérable.
Difficultés d'Entraînement des SNNs : Les méthodes d'entraînement des SNNs existantes présentent deux limitations principales :
L'entraînement direct de SNNs à grande échelle utilisant les règles d'apprentissage par rétropropagation est inefficace
Les méthodes de conversion ANN-SNN nécessitent un grand nombre d'étapes temporelles impulsionnelles pour atteindre les performances optimales, entraînant une augmentation de la latence d'inférence
Les auteurs visent à exploiter les caractéristiques inspirées par la biologie et les avantages du calcul événementiel des réseaux de neurones impulsionnels pour concevoir des modèles Transformer pouvant s'exécuter efficacement sur du matériel neuromorphe, réalisant ainsi une inférence de grands modèles de langage efficace en données, à faible consommation énergétique et économe en ressources.
Proposition de la Méthode NeuTransformer : Une méthode pour concevoir des Transformers basés sur SNN à partir de modèles Transformer entraînés, combinant l'ajustement fin supervisé pour améliorer les performances du modèle.
Conception d'un Mécanisme d'Auto-Attention avec Calcul Impulsionnel Creux : Remplacement des opérations de multiplication matricielle et softmax à forte consommation énergétique et latence dans l'auto-attention traditionnelle par un calcul creux basé sur les impulsions.
Implémentation de Grands Modèles de Langage basés sur SNN : Conversion réussie de GPT-2 et de ses variantes en versions SNN, GPT-2 Large étant, selon les auteurs, le plus grand modèle Transformer basé sur SNN en termes de nombre de paramètres.
Évaluation Complète des Performances : Évaluation des performances du modèle selon plusieurs dimensions incluant la précision applicative, la similarité cosinus, la perplexité, les bits par octet, ainsi que l'analyse de la consommation énergétique et du débit.
Conversion d'un modèle Transformer pré-entraîné en une version équivalente de réseau de neurones impulsionnel, tout en maintenant une perte de performance acceptable et en réalisant une réduction significative de la consommation énergétique et une amélioration de l'efficacité matérielle.
Sur la plateforme Graphcore, la version SNN démontre des performances de débit supérieures à la ligne de base ANN dans la plupart des configurations, avec des avantages particulièrement marqués lors du traitement d'accès aux données irréguliers et creux.
Effet d'Échelle : La perte de performance de la version SNN augmente progressivement avec la taille du modèle
Avantages d'Efficacité Énergétique : Tous les modèles de toutes tailles réalisent une réduction significative de la consommation énergétique
Adaptabilité Matérielle : Les SNNs démontrent d'excellentes performances sur les architectures de traitement MIMD, particulièrement adaptées aux charges de travail impulsionnelles creuses
Par rapport aux méthodes existantes, NeuTransformer évite les frais computationnels de l'entraînement de SNNs à partir de zéro, réalisant la construction de grands modèles de langage basés sur SNN par une stratégie de conversion et d'ajustement fin.
Vérification de Faisabilité : Conversion réussie de la série de modèles GPT-2 en versions SNN, prouvant la faisabilité des grands modèles de langage basés sur SNN
Compromis de Performance : Réalisation d'une réduction significative de la consommation énergétique avec une perte de performance acceptable
Limitations d'Échelle : Découverte que lorsque les paramètres du modèle dépassent 300M, la dégradation des performances dépasse les seuils acceptables
L'article cite les travaux importants du domaine, notamment :
Article original sur Transformer (Vaswani et al., 2017)
Travaux classiques sur les méthodes de conversion SNN (Rueckauer et al., 2016 ; Diehl & Cook, 2015)
Recherches récentes sur les Transformers basés sur SNN (Li et al., 2024 ; Zhou et al., 2023)
Méthodes d'apprentissage par gradient de substitution (Eshraghian et al., 2023)
Résumé : Cet article propose une méthode innovante pour convertir des grands modèles de langage en versions de réseaux de neurones impulsionnels, réalisant une réduction significative de la consommation énergétique tout en maintenant une performance acceptable. Malgré des problèmes tels que les limitations d'échelle, il fournit une contribution technologique précieuse aux domaines de l'inférence d'IA à faible puissance et du calcul neuromorphe.