Italia

Approfondimento sui requisiti di rete per modelli AI di grandi dimensioni

Inviato il 21 Dic 2023 by
96

Dalla comparsa di Transformers all'adozione diffusa di ChatGPT nel 2023, si è gradualmente formato un consenso sul fatto che l'aumento della dimensione dei parametri del modello aumenta le sue prestazioni, seguendo una legge di scala che regola la loro relazione. In particolare, quando la dimensione dei parametri supera le centinaia di miliardi, le capacità di comprensione del linguaggio, di ragionamento logico e di analisi dei problemi dei modelli AI di grandi dimensioni migliorano rapidamente.

Contemporaneamente, lo spostamento delle dimensioni e delle prestazioni dei modelli ha comportato una modifica dei requisiti di rete per l'addestramento di modelli di intelligenza artificiale di grandi dimensioni rispetto ai modelli tradizionali.

Per soddisfare le esigenze di un'efficiente elaborazione distribuita in cluster di formazione su larga scala, i processi di formazione di modelli di AI di grandi dimensioni coinvolgono in genere varie modalità di elaborazione parallela, come il parallelismo dei dati, il parallelismo delle pipeline e il parallelismo dei tensori. In queste modalità parallele, le operazioni di comunicazione collettiva diventano essenziali tra più dispositivi di elaborazione. Inoltre, il processo di addestramento adotta spesso una modalità sincrona, che richiede il completamento delle operazioni di comunicazione collettiva tra più macchine e più schede prima di procedere all'iterazione o al calcolo successivo dell'addestramento. Pertanto, la progettazione di un efficiente schema di rete per cluster in cluster di addestramento su larga scala di modelli di AI di grandi dimensioni è fondamentale. Questo progetto mira a ottenere una bassa latenza e un elevato throughput nella comunicazione tra macchine, fondamentale per ridurre l'overhead di comunicazione durante la sincronizzazione dei dati tra più macchine e schede. Questa ottimizzazione contribuisce a migliorare il rapporto tra tempo di calcolo effettivo della GPU (tempo di calcolo della GPU / tempo di addestramento complessivo), un fattore cruciale per il miglioramento dell'efficienza dei cluster di addestramento distribuito di AI. L'analisi che segue approfondisce i requisiti di rete dei modelli di AI di grandi dimensioni, esaminando aspetti quali la scala, la larghezza di banda, la latenza, la stabilità e la distribuzione della rete.

Sfide nella scalabilità delle reti GPU per la formazione efficiente di modelli AI ultra-grandi

Le richieste computazionali delle applicazioni di AI stanno registrando una crescita esponenziale, con modelli che si espandono su scale enormi. I parametri dei modelli di intelligenza artificiale sono aumentati di un fattore di centomila, e gli attuali modelli di AI di grandi dimensioni vantano dimensioni di parametri che vanno da centinaia di miliardi a trilioni. L'addestramento di tali modelli richiede innegabilmente una notevole potenza di calcolo. Inoltre, i modelli ultra-grandi impongono requisiti elevati in termini di memoria. Ad esempio, un modello da 1 trilione di parametri che utilizza una memoria di 1 byte consuma 2 terabyte di spazio di memoria. Inoltre, durante il processo di addestramento, le variabili intermedie generate dal calcolo in avanti, i gradienti del calcolo all'indietro e gli stati dell'ottimizzatore essenziali per gli aggiornamenti dei parametri necessitano di memoria. Queste variabili intermedie aumentano continuamente all'interno di una singola iterazione. Ad esempio, una sessione di allenamento con l'ottimizzatore Adam produce variabili intermedie che raggiungono un picco di diverse volte la dimensione dei parametri del modello. Un consumo di memoria così elevato implica che sono necessarie da decine a centinaia di GPU per memorizzare l'intero processo di formazione di un modello.Le richieste computazionali delle applicazioni di AI stanno registrando una crescita esponenziale, con modelli che si espandono su scale enormi. I parametri dei modelli di intelligenza artificiale sono aumentati di un fattore di centomila, e gli attuali modelli di AI di grandi dimensioni vantano dimensioni di parametri che vanno da centinaia di miliardi a trilioni. L'addestramento di tali modelli richiede innegabilmente una notevole potenza di calcolo. Inoltre, i modelli ultra-grandi impongono requisiti elevati in termini di memoria. Ad esempio, un modello da 1 trilione di parametri che utilizza una memoria di 1 byte consuma 2 terabyte di spazio di memoria. Inoltre, durante il processo di addestramento, le variabili intermedie generate dal calcolo in avanti, i gradienti del calcolo all'indietro e gli stati dell'ottimizzatore essenziali per gli aggiornamenti dei parametri necessitano di memoria. Queste variabili intermedie aumentano continuamente all'interno di una singola iterazione. Ad esempio, una sessione di addestramento con l'ottimizzatore Adam produce variabili intermedie che raggiungono un picco di diverse volte la dimensione dei parametri del modello. Un consumo di memoria così elevato implica che sono necessarie da decine a centinaia di GPU per memorizzare l'intero processo di formazione di un modello.

Tuttavia, il solo fatto di disporre di un gran numero di GPU non è sufficiente per addestrare efficacemente modelli di dimensioni molto grandi. La chiave per migliorare l'efficienza dell'addestramento risiede nell'adozione di metodi di parallelizzazione adeguati. Attualmente, per i modelli ultra-grandi vengono impiegati tre metodi di parallelizzazione principali: il parallelismo dei dati, il parallelismo delle pipeline e il parallelismo dei tensori. Tutti e tre i metodi di parallelizzazione sono utilizzati per l'addestramento di modelli con dimensioni dei parametri che vanno da centinaia di miliardi a trilioni. L'addestramento di modelli molto grandi richiede cluster composti da migliaia di GPU. Inizialmente, questa soluzione può sembrare inferiore rispetto alla scala di interconnessione di decine di migliaia di server nei data center cloud. Tuttavia, in realtà, l'interconnessione di migliaia di nodi GPU è più impegnativa a causa della necessità di un'elevata corrispondenza tra capacità di rete e capacità di calcolo. I data center cloud impiegano principalmente CPU e i loro requisiti di rete variano tipicamente da 10 Gbps a 100 Gbps, utilizzando i tradizionali protocolli TCP del livello di trasporto. Al contrario, l'addestramento di modelli di AI di grandi dimensioni impiega l'addestramento tramite GPU, che ha una potenza di calcolo di diversi ordini di grandezza superiore a quella delle CPU. Di conseguenza, le richieste di rete variano da 100 Gbps a 400 Gbps e vengono utilizzati i protocolli RDMA per ridurre la latenza di trasmissione e migliorare il throughput della rete.

In particolare, il raggiungimento di un'interconnessione ad alte prestazioni tra migliaia di GPU pone diverse sfide in termini di scala della rete:

  • Problemi riscontrati nelle reti RDMA su larga scala, come il blocco della linea di testa e le tempeste di deadlock PFC.

  • Ottimizzazione delle prestazioni della rete, comprese tecniche più efficienti di controllo della congestione e di bilanciamento del carico.

  • Problemi di connettività della scheda di rete, poiché un singolo host è soggetto a limitazioni delle prestazioni hardware. Affrontare il problema di come stabilire migliaia di connessioni RDMA QP.

  • 4. Selezione della topologia di rete, valutando se sia preferibile la tradizionale struttura Fat Tree o se si possa fare riferimento a topologie di rete ad alte prestazioni come Torus e Dragonfly.

Ottimizzazione della comunicazione GPU per un efficiente training dei modelli AI tra macchine

Nel contesto del training di modelli di AI su larga scala, le operazioni di comunicazione collettiva tra le GPU all'interno e tra le macchine generano un volume sostanziale di dati di comunicazione. Esaminando la comunicazione delle GPU all'interno di una singola macchina, si considerano modelli di AI con miliardi di parametri, dove i dati di comunicazione collettiva risultanti dal parallelismo del modello possono raggiungere la scala di centinaia di gigabyte. Pertanto, un tempo di completamento efficiente dipende in modo significativo dalla larghezza di banda e dalle modalità di comunicazione tra le GPU all'interno della macchina. Le GPU all'interno di un server devono supportare protocolli di interconnessione ad alta velocità, attenuando la necessità di copie multiple dei dati attraverso la memoria della CPU durante la comunicazione con le GPU.

Inoltre, le GPU sono tipicamente collegate alle schede di rete tramite bus PCIe e la larghezza di banda di comunicazione del bus PCIe determina la possibilità di utilizzare appieno la larghezza di banda a porta singola della scheda di rete. Ad esempio, considerando un bus PCIe 3.0 (16 corsie corrispondenti a una larghezza di banda unidirezionale di 16 GB/s), se la comunicazione tra macchine è dotata di una larghezza di banda a porta singola di 200 Gbps, le prestazioni della rete tra le macchine potrebbero non essere sfruttate appieno.

Fattori cruciali dell efficienza di training dei modelli di AI su larga scala

La latenza della rete durante la comunicazione dei dati comprende due componenti: la latenza statica e la latenza dinamica. La latenza statica comprende la latenza di serializzazione dei dati, la latenza di inoltro dei dispositivi e la latenza di trasmissione elettro-ottica. È determinata dalle capacità del chip di inoltro e dalla distanza di trasmissione e rappresenta un valore costante quando la topologia della rete e il volume dei dati di comunicazione sono fissi. Al contrario, la latenza dinamica influisce in modo significativo sulle prestazioni della rete, comprendendo la latenza di accodamento all'interno degli switch e la latenza dovuta alla perdita e alla ritrasmissione dei pacchetti, spesso causata dalla congestione della rete.

Illustrando l'addestramento di un modello GPT-3 con 175 miliardi di parametri, l'analisi teorica indica che quando la latenza dinamica aumenta da 10μs a 1000μs, la percentuale di tempo effettivo di elaborazione della GPU diminuisce di quasi il 10%. Un tasso di perdita dei pacchetti di rete dell'ordine delle migliaia comporta una diminuzione del 13% del tempo effettivo di elaborazione della GPU, mentre con un tasso di perdita dell'1% la percentuale scende a meno del 5%. La riduzione della latenza di comunicazione computazionale e il miglioramento del throughput di rete sono considerazioni fondamentali per sfruttare appieno la potenza di calcolo nell'addestramento di modelli di IA su larga scala.

Oltre alla latenza, le variazioni della rete introducono un jitter di latenza, con un impatto sull'efficienza dell'addestramento. Il processo di comunicazione collettiva dei nodi di calcolo durante l'addestramento comporta più comunicazioni parallele punto-punto (P2P). Ad esempio, la comunicazione collettiva Ring AllReduce tra N nodi comprende 2*(N-1) sottopassi di comunicazione dati, in cui tutti i nodi in ogni sottopasso devono completare la comunicazione P2P in parallelo. Le fluttuazioni della rete portano a un notevole aumento del tempo di completamento del flusso (FCT) per la comunicazione P2P tra nodi specifici. La variazione del tempo di comunicazione P2P, causata dal jitter di rete, è considerata l'anello più debole dell'efficienza del sistema, con conseguente aumento del tempo di completamento del substep corrispondente. Pertanto, il jitter di rete diminuisce l'efficienza della comunicazione collettiva, incidendo sull'efficienza dell'addestramento dei modelli di AI su larga scala.

Criticità per la potenza di calcolo nel training di modelli di AI su larga scala

La comparsa dei Transformers ha segnato l'inizio di una rapida evoluzione dei modelli su larga scala. Negli ultimi cinque anni, le dimensioni dei modelli sono passate da 61 milioni a 540 miliardi, con un aumento esponenziale di quasi 10.000 volte. La potenza di calcolo del cluster gioca un ruolo fondamentale nel determinare la velocità di addestramento dei modelli di intelligenza artificiale. Ad esempio, l'addestramento di GPT-3 su una singola GPU V100 richiederebbe un tempo improponibile di 335 anni, mentre un cluster composto da 10.000 GPU V100, con uno scaling ideale, potrebbe completare l'addestramento in circa 12 anni.

L'affidabilità del sistema di rete è fondamentale per garantire la stabilità computazionale dell'intero cluster. I guasti alla rete possono avere un impatto diffuso, interrompendo la connettività di numerosi nodi di calcolo in caso di guasto di un nodo di rete, compromettendo così la potenza computazionale complessiva del sistema. Inoltre, le fluttuazioni delle prestazioni della rete possono influenzare l'intero cluster, dato che la rete è una risorsa condivisa, a differenza dei singoli nodi di calcolo che sono più facilmente isolabili. Le fluttuazioni delle prestazioni possono avere un impatto negativo sull'utilizzo di tutte le risorse di calcolo. Pertanto, il mantenimento di una rete stabile ed efficiente è di estrema importanza durante il ciclo di addestramento dei modelli di IA su larga scala, presentando nuove sfide per le operazioni di rete.

In caso di guasto durante l'attività di addestramento, può essere necessaria una sostituzione con tolleranza ai guasti o un ridimensionamento elastico per risolvere i nodi difettosi. I cambiamenti nella posizione dei nodi partecipanti possono rendere i modelli di comunicazione attuali non ottimali, rendendo necessaria la ridistribuzione e la programmazione dei lavori per migliorare l'efficienza complessiva dell'addestramento. Inoltre, guasti di rete imprevisti, come la perdita silenziosa di pacchetti, non solo riducono l'efficienza della comunicazione collettiva, ma portano anche a timeout della libreria di comunicazione, con conseguenti periodi prolungati di blocco dei processi di formazione e un impatto significativo sull'efficienza. Di conseguenza, l'ottenimento di informazioni a grana fine su throughput, perdita di pacchetti e altri parametri del flusso di lavoro diventa essenziale per il rilevamento tempestivo dei guasti e l'auto-riparazione in pochi secondi.

Il Ruolo della Distribuzione Automatica e del Rilevamento dei Guasti nei Cluster di AI su Larga Scala

La creazione di reti intelligenti senza perdite si basa spesso su protocolli RDMA e meccanismi di controllo della congestione, accompagnati da una serie di configurazioni intricate e diverse. Qualsiasi configurazione errata di questi parametri può avere un impatto sulle prestazioni della rete e può portare a problemi imprevisti. Le statistiche indicano che oltre il 90% dei guasti alle reti ad alte prestazioni deriva da errori di configurazione. La causa principale di questi problemi risiede nella moltitudine di parametri di configurazione delle schede di rete, in funzione delle versioni dell'architettura, dei tipi di azienda e dei tipi di scheda di rete. Nel contesto di cluster di addestramento di modelli di AI su larga scala, la complessità delle configurazioni aumenta ulteriormente. Pertanto, una distribuzione e una configurazione efficienti e automatizzate possono migliorare efficacemente l'affidabilità e l'efficienza dei sistemi di cluster di modelli su larga scala.

L'implementazione e la configurazione automatizzate richiedono la capacità di distribuire le configurazioni in parallelo su più macchine, di selezionare automaticamente i parametri rilevanti per i meccanismi di controllo della congestione e di scegliere le configurazioni appropriate in base ai tipi di schede di rete e ai requisiti aziendali.

Allo stesso modo, all'interno di architetture e scenari di configurazione complessi, la capacità di individuare tempestivamente e con precisione i guasti durante le operazioni aziendali è essenziale per garantire l'efficienza aziendale complessiva. Il rilevamento automatico dei guasti facilita la rapida localizzazione dei problemi, le notifiche precise al personale di gestione e riduce i costi associati all'identificazione dei problemi. Consente di identificare rapidamente le cause principali e di fornire le soluzioni corrispondenti.

Scegliere FS per accelerare la rete modello AI

L'analisi sottolinea i requisiti specifici dei modelli di AI su larga scala in termini di scala, larghezza di banda, stabilità, latenza/jitter e capacità di automazione. Tuttavia, persiste un gap tecnologico nel soddisfare pienamente questi requisiti con l'attuale configurazione delle reti di data center.

La richiesta di capacità di rete nei modelli di AI su larga scala è eccezionalmente alta, date le dimensioni sostanziali dei parametri e le intricate esigenze di calcolo. Risorse di calcolo e di archiviazione adeguate sono essenziali per supportare i processi di addestramento e inferenza, mentre la connettività di rete ad alta velocità è fondamentale per una trasmissione ed elaborazione efficiente dei dati. FS risponde a queste esigenze offrendo prodotti di connettività di alta qualità, adattati alle circostanze specifiche di ogni cliente, migliorando così le prestazioni della rete e l'esperienza dell'utente.

Il portfolio di prodotti FS va oltre switch e schede di rete per includere moduli ottici con velocità da 100G a 800G, nonché AOC e DAC. Questi prodotti facilitano la trasmissione efficiente dei dati, accelerando i processi di formazione e inferenza dei modelli di AI. Nel training di AI su larga scala, i moduli ottici collegano i nodi di calcolo distribuiti, collaborando all'esecuzione di complesse attività di calcolo. Grazie a caratteristiche quali l'elevata larghezza di banda, la bassa latenza e il basso tasso di errore, questi prodotti accelerano gli aggiornamenti e l'ottimizzazione dei modelli, riducendo i ritardi di comunicazione e favorendo un'elaborazione dell'intelligenza artificiale più rapida ed efficiente.

L'adozione dei prodotti di connettività FS migliora le capacità delle reti di data center per supportare meglio l'implementazione e il funzionamento dei modelli di AI su larga scala. Per ulteriori dettagli, visitate il sito ufficiale di FS.

Potresti essere interessato a

Conoscenza
See profile for Sheldon.
Sheldon
Cosa è la porta SFP di uno switch Gigabit?
22 Mag 2023
83.6k
Conoscenza
Conoscenza
See profile for Migelle.
Migelle
Switch PoE, PoE+ e PoE++: Come scegliere?
16 Mar 2023
36.8k
Conoscenza
See profile for Sheldon.
Sheldon
LACP e PAGP: Qual è la differenza?
08 Mar 2023
25.1k
Conoscenza
Conoscenza
See profile for Moris.
Moris
DHCP o IP Statico: Qual è il migliore?
08 Mag 2023
55.6k
Conoscenza
See profile for Migelle.
Migelle
Switch Attivo vs Passivo: Quale Scegliere?
07 Dic 2020
20.3k
Conoscenza
See profile for Sheldon.
Sheldon
RIP vs OSPF: Qual è la differenza?
15 Nov 2022
28.6k
Conoscenza
See profile for Vincent.
Vincent
Capire il moduli BiDi
08 Mar 2021
19.9k
Conoscenza
See profile for Vincent.
Vincent
XFP vs SFP+: Quali sono le differenze?
10 Gen 2023
14.9k
Conoscenza