Chiosa
Machine Learning

BitSparse riduce la memoria per archiviare attivazioni feed-forward sparse

2 min
Pubblicato su Chiosa Aggiornato

In parole semplici

Per addestrare un modello linguistico, il sistema deve conservare alcuni valori del passaggio in avanti per calcolare gli aggiornamenti in seguito. I layer feed-forward della famiglia ReLU producono spesso zeri esatti, che occupano comunque spazio se vengono archiviati nel modo consueto.

BitSparse salva i valori diversi da zero e una mappa delle loro posizioni, poi ricostruisce i valori salvati quando servono. Nei carichi di lavoro provati ha ridotto l’uso di memoria, anche in due modelli linguistici; le misurazioni non coprono ogni componente di un’esecuzione completa di addestramento.

La ricerca

Per calcolare la backpropagation, i sistemi di addestramento devono conservare le attivazioni feed-forward, e la memoria richiesta cresce in base al numero di token elaborati insieme.

Si possono sfruttare gli zeri esatti prodotti dalle attivazioni della famiglia ReLU per ridurre lo spazio necessario senza ricalcolare o modificare i valori?

BitSparse archivia le attivazioni feed-forward diverse da zero con mappe delle posizioni e le ricostruisce per la backpropagation, riducendo la memoria usata dalla cache.

Lo studio chiede se gli zeri esatti nelle attivazioni salvate della famiglia ReLU possano ridurre la memoria di addestramento senza ricalcoli o approssimazioni. La memoria occupata dalle attivazioni conservate cresce con il numero di token elaborati insieme.

BitSparse archivia i valori diversi da zero e le loro posizioni, poi li ricostruisce per la backpropagation. Nelle esecuzioni di modelli linguistici valutate, limitate ai passaggi in avanti e all’indietro, la memoria stimata per token è diminuita del 31% per Modded-NanoGPT e del 30% per Nemotron-H rispetto all’archiviazione densa delle attivazioni. Queste esecuzioni non hanno aggiornato i parametri né conservato lo stato dell’optimizer.

Le misurazioni della memoria riguardano specifici carichi di lavoro e layer feed-forward della famiglia ReLU. Il confronto dell’addestramento completo ha usato anche TensorBuffer e la fonte non specifica se le due esecuzioni siano partite dallo stesso stato.

Analisi

Dettagli

Paper successivoUn confronto aggiornato riduce il divario di calcolo per i modelli a diffusione