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
Motori di Inferenza per Modelli Linguistici di Grandi Dimensioni basati su Reti Neurali Spike
I modelli fondamentali basati sull'architettura Transformer rappresentano lo stato dell'arte attuale nella modellazione linguistica generale e in diversi campi scientifici come la scienza dei materiali e la climatologia. Tuttavia, l'addestramento e la distribuzione di questi modelli presentano sfide computazionali significative, poiché la loro complessità temporale e spaziale è quadratica rispetto alla lunghezza della sequenza di input. Questo articolo esplora l'utilizzo di reti neurali spike (SNN) per progettare modelli Transformer. I metodi di apprendimento per proxy esistenti per l'addestramento di SNN su larga scala sono inefficienti e dispendiosi in termini di tempo, mentre le tecniche per convertire modelli Transformer esistenti in SNN equivalenti mancano di scalabilità. A tal fine, gli autori propongono il metodo NeuTransformer, che progetta motori di inferenza Transformer basati su SNN attraverso il fine-tuning supervisionato combinato con metodi di conversione esistenti. Il metodo comprende: (1) la sostituzione del meccanismo di auto-attenzione con auto-attenzione basata su spike (SSA), (2) la conversione dei blocchi feed-forward in SNN equivalenti, (3) il fine-tuning dei blocchi SSA utilizzando algoritmi di apprendimento per proxy SNN. Gli esperimenti dimostrano che il modello GPT-2 piccolo convertito subisce una perdita del 5-12% in similarità del coseno, una riduzione della perplessità del 9,7%, e i blocchi SSA raggiungono una riduzione del consumo energetico del 64,71%-85,28% rispetto ai blocchi ASA.
Problema della Complessità Computazionale: Il meccanismo di auto-attenzione nei modelli Transformer presenta una complessità temporale e spaziale di O(n²), dove n è la lunghezza della sequenza. Questo causa un aumento drastico dei requisiti computazionali e di memoria nel trattamento di sequenze lunghe.
Problema del Consumo Energetico: I modelli Transformer tradizionali richiedono GPU costosi o acceleratori personalizzati per l'addestramento e l'inferenza, con un consumo energetico enorme.
Difficoltà nell'Addestramento di SNN: I metodi di addestramento SNN esistenti presentano due limitazioni principali:
L'addestramento diretto di SNN su larga scala utilizzando regole di apprendimento di retropropagazione è inefficiente
I metodi di conversione ANN-SNN richiedono un gran numero di passi temporali spike per raggiungere prestazioni ottimali, causando un aumento della latenza di inferenza
Gli autori mirano a sfruttare le caratteristiche ispirate biologicamente delle reti neurali spike e i vantaggi del calcolo guidato da eventi per progettare modelli Transformer che possono essere eseguiti efficientemente su hardware neuromorfo, realizzando così modelli linguistici di grandi dimensioni efficienti in termini di dati, a basso consumo energetico e parsimoniosi nelle risorse per l'inferenza.
Proposta del Metodo NeuTransformer: Un metodo per progettare Transformer basati su SNN da modelli Transformer addestrati, combinando il fine-tuning supervisionato per migliorare le prestazioni del modello.
Progettazione di Meccanismo di Auto-Attenzione con Calcolo Spike Sparso: Sostituzione del calcolo tradizionale di auto-attenzione con moltiplicazioni matriciali e operazioni softmax ad alta latenza e consumo energetico con calcolo sparso basato su spike.
Implementazione di LLM basato su SNN su Larga Scala: Conversione riuscita di GPT-2 e delle sue varianti in versioni SNN. Secondo gli autori, GPT-2 Large è il modello Transformer basato su SNN con il maggior numero di parametri fino ad oggi.
Valutazione Completa delle Prestazioni: Valutazione delle prestazioni del modello da molteplici dimensioni incluse accuratezza applicativa, similarità del coseno, perplessità, bit per byte, e analisi delle prestazioni di consumo energetico e throughput.
Convertire un modello Transformer pre-addestrato in una versione equivalente di rete neurale spike, mantenendo al contempo una perdita di prestazioni accettabile e realizzando una riduzione significativa del consumo energetico e un miglioramento dell'efficienza hardware.
Sulla piattaforma Graphcore, la versione SNN mostra prestazioni di throughput superiori alla baseline ANN nella maggior parte delle configurazioni, con vantaggi particolarmente evidenti nel trattamento di accessi ai dati irregolari e sparsi.
Effetto di Scala: Con l'aumento della scala del modello, la perdita di prestazioni della versione SNN aumenta gradualmente
Vantaggi di Efficienza Energetica: Tutti i modelli di tutte le scale realizzano una riduzione significativa del consumo energetico
Adattabilità Hardware: Le SNN mostrano prestazioni eccellenti su architetture di elaborazione MIMD, particolarmente adatte ai carichi di lavoro spike sparsi
Rispetto ai metodi esistenti, NeuTransformer evita il costo computazionale dell'addestramento da zero di SNN, realizzando la costruzione di LLM basati su SNN su larga scala attraverso una strategia di conversione più fine-tuning.
L'articolo cita importanti lavori in questo campo, inclusi:
Articolo originale su Transformer (Vaswani et al., 2017)
Lavori classici sui metodi di conversione SNN (Rueckauer et al., 2016; Diehl & Cook, 2015)
Ricerca recente su Transformer basati su SNN (Li et al., 2024; Zhou et al., 2023)
Metodi di apprendimento con gradiente per proxy (Eshraghian et al., 2023)
Sintesi: Questo articolo propone un metodo innovativo per convertire modelli linguistici di grandi dimensioni in versioni di reti neurali spike, realizzando una riduzione significativa del consumo energetico mantenendo prestazioni accettabili. Sebbene presenti limitazioni di scala, fornisce contributi tecnologici preziosi nei campi dell'inferenza AI a basso consumo energetico e del calcolo neuromorfo.