Microsoft rilascia l’ultima versione di DeepSpeed, la sua libreria Python per l’ottimizzazione del deep learning

In Pics: Microsoft recupera il suo datacenter subacqueo dopo 2 anni
Di recente, Microsoft ha annunciato i nuovi progressi nella popolare libreria di ottimizzazione del deep learning nota come DeepSpeed . Questa libreria è una parte importante della nuova iniziativa AI at Scale di Microsoft per abilitare le funzionalità AI di prossima generazione su larga scala.

DeepSpeed, la libreria open source per l’ ottimizzazione della formazione per l’ apprendimento approfondito, è stata presentata a febbraio di quest’anno insieme a ZeRO (Zero Redundancy Optimiser) , una tecnologia di ottimizzazione della memoria nella libreria che aiuta l’addestramento di modelli di grandi dimensioni migliorando la scala, la velocità, i costi e l’usabilità .

I ricercatori del gigante tecnologico hanno sviluppato questa libreria per rendere la formazione distribuita facile, efficiente ed efficace. DeepSpeed ​​ora può addestrare un modello di linguaggio con un trilione di parametri utilizzando solo 800 GPU NVIDIA V100.

DeepSpeed ​​ha combinato tre potenti tecnologie per consentire l’addestramento di modelli su scala trilioni e per scalare a migliaia di GPU, che includono addestramento parallelo ai dati, addestramento parallelo del modello e addestramento parallelo della pipeline.

Caratteristiche
Ci sono diverse funzionalità intuitive di questa libreria di deep learning . Alcuni di loro sono menzionati di seguito:

Velocità: DeepSpeed ​​raggiunge prestazioni elevate e convergenza rapida attraverso una combinazione di ottimizzazioni dell’efficienza su elaborazione, memoria, IO, ecc. E ottimizzazioni dell’efficacia su ottimizzazione e ottimizzatori avanzati di iperparametri.
Efficienza della memoria: la libreria fornisce parallelismo dei dati efficiente in termini di memoria e consente l’addestramento di modelli senza parallelismo del modello.
Scalabilità: DeepSpeed ​​supporta il parallelismo dei dati efficiente, il parallelismo del modello, il parallelismo della pipeline e le loro combinazioni, noto anche come parallelismo 3D.
Efficienza di comunicazione: il parallelismo della pipeline di DeepSpeed ​​riduce il volume di comunicazione durante l’addestramento distribuito, consentendo agli utenti di addestrare modelli multi-miliardari da 2 a 7 volte più velocemente su cluster con larghezza di banda di rete limitata.
Perché utilizzare DeepSpeed
La formazione di un modello di apprendimento profondo ampio e avanzato è complessa e impegnativa. Comprende una serie di condizioni, come la progettazione del modello, l’impostazione di tecniche di formazione all’avanguardia, tra cui la formazione distribuita, la precisione mista, l’accumulo di gradiente, tra le altre.

Anche dopo aver fatto molti sforzi, non vi è alcuna certezza che il sistema funzionerà all’altezza delle aspettative o raggiungerà il tasso di convergenza desiderato. Questo perché i modelli di grandi dimensioni esauriscono facilmente la memoria con il puro parallelismo dei dati ed è difficile utilizzare il parallelismo del modello in questi casi. È qui che entra in gioco DeepSpeed. La libreria non solo affronta questi inconvenienti, ma accelera anche lo sviluppo e l’addestramento del modello.

Secondo questo post del blog , la libreria DeepSpeed ​​ha aggiunto in modo specifico quattro nuove tecnologie di sistema che offrono elaborazione estrema, memoria, efficienza di comunicazione e potenziamento dell’addestramento del modello con miliardi a trilioni di parametri. Il post del blog ha menzionato che può calcolare lunghe sequenze di input e alimentare sistemi hardware con una singola GPU, cluster di fascia bassa con reti Ethernet molto lente e altro ancora.

Trilioni di addestramento del modello di parametri con parallelismo 3D: la libreria consente una combinazione flessibile di tre approcci di parallelismo, che sono il parallelismo dei dati basato su ZeRO, il parallelismo della pipeline e il parallelismo del modello con suddivisione del tensore. Questo parallelismo 3D si adatta alle diverse esigenze dei requisiti del carico di lavoro al fine di alimentare modelli estremamente grandi con oltre un trilione di parametri, ottenendo al contempo un’efficienza di scalabilità della memoria e scalabilità del throughput quasi perfetta.
Addestramento di modelli 10 volte più grande su una singola GPU con ZeRO-Offload: la tecnologia ZeRO-2 viene estesa per sfruttare sia la memoria della CPU che della GPU per l’addestramento di modelli di grandi dimensioni. Con l’aiuto di una singola GPU NVIDIA V100, gli utenti possono ora eseguire modelli fino a 13 miliardi di parametri senza esaurire la memoria. È 10 volte più grande degli approcci esistenti mentre ottiene un rendimento competitivo.
Potenziamento di sequenze 10 volte più lunghe e un’esecuzione 6 volte più veloce tramite DeepSpeed ​​Sparse Attenzione: la libreria offre kernel di scarsa attenzione, che è una tecnologia strumentale per supportare lunghe sequenze di input del modello, sia per testo, immagine che per suono. Supera inoltre le implementazioni sparse all’avanguardia con un’esecuzione 1,5-3 volte più veloce.
Adam a 1 bit con riduzione del volume di comunicazione fino a 5 volte: Adam è un efficace ottimizzatore per l’addestramento di molti modelli di deep learning su larga scala. I ricercatori di Microsoft hanno introdotto un nuovo algoritmo, noto come 1-bit Adam, con un’implementazione efficiente. Il nuovo algoritmo riduce il volume di comunicazione fino a 5 volte raggiungendo un’efficienza di convergenza simile a quella di Adam.
Avvolgendo
I ricercatori del gigante della tecnologia hanno continuato a innovare a un ritmo veloce, spingendo i confini di velocità e scala per la formazione in deep learning. La biblioteca ha consentito ai ricercatori di creare la Turing Natural Language Generation (Turing-NLG), noto anche come uno dei modelli linguistici più grandi con 17 miliardi di parametri e un’accuratezza all’avanguardia.

Di ihal