notizia

Formazione GPU Llama 3.1 si blocca come un matto. Esiste un grande produttore che utilizza un server CPU per eseguire un modello di grandi dimensioni con centinaia di miliardi di parametri?

2024-08-01

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Nuovo rapporto sulla saggezza

Redattore: Dipartimento editoriale

[Introduzione alla Nuova Saggezza]È ora di utilizzare un server universale CPU per eseguire modelli di grandi dimensioni con centinaia di miliardi di parametri!

Musk ha costruito il supercomputer più grande del mondo composto da 100.000 H100 collegati in 19 giorni e si è dedicato completamente all'addestramento di Grok 3.

Allo stesso tempo, i media stranieri hanno dato la notizia che il prossimo cluster di supercalcolo costruito congiuntamente da OpenAI e Microsoft sarà composto da 100.000 GB200.

In questa competizione basata sull’intelligenza artificiale, le principali aziende tecnologiche stanno facendo ogni sforzo per aumentare gli investimenti nelle GPU, il che sembra implicare che avere GPU sempre più potenti le renderà invincibili.

Tuttavia, questa ricerca fanatica delle GPU di fascia alta non è una soluzione impeccabile in tutte le situazioni.


Il padre di Pytorch ha detto che ci sono molti dettagli interessanti dell'infrastruttura nascosti nella relazione tecnica, incluso come parallelizzare, come rendere il sistema più affidabile, ecc.

Prendendo come esempio la stabilità, durante i 54 giorni di addestramento di Llama 3.1, il cluster H100 da 16.000 blocchi di Meta ha riscontrato un totale di 419 interruzioni impreviste, che equivalgono a una media di una ogni 3 ore.

Di questi, 148 volte (30,1%) sono stati causati da vari guasti alla GPU.

Al contrario, ci sono state solo 2 interruzioni causate da guasti alla CPU.


D'altra parte, se desideri eseguire Llama 3.1 405B, devi accoppiarlo con due workstation DGX 8×H100, ovvero 1280 GB di memoria video.

Un guerriero una volta ha provato a eseguirlo con un 4090, ma dopo aver aspettato 30 minuti, il modello ha sputato lentamente "The".


Una risposta completa ha richiesto ben 20 ore

Gli amici che hanno familiarità con l'addestramento dei modelli e l'inferenza sanno che queste cose non sono affatto sorprendenti.

La costruzione del cluster (configurazione della GPU, progettazione della rete, ottimizzazione del tracciato, ecc.), la gestione del cluster (monitoraggio in tempo reale, risoluzione dei problemi, ecc.)... sono tutti "ostacoli".

Cosa può fare un’azienda che non dispone di esperienza e capitale rilevanti?


Recentemente, gli ingegneri di ricerca e sviluppo di Inspur Information hanno utilizzato solo 4 CPU per eseguire "Source 2.0" con centinaia di miliardi di parametri su un server generico!

Di fronte al compito di codifica di un programma in Java, "Source 2.0" fornisce risultati molto rapidamente.


Fategli un'altra domanda ragionativa: una scala è appesa al lato della barca, 2 metri sopra il livello del mare. Se l'acqua del mare sale di mezzo metro all'ora, quante ore impiegheranno l'acqua del mare a sommergere la scala?

Allo stesso modo, l’intelligenza artificiale fornisce passaggi e risposte dettagliati per la risoluzione dei problemi con un ritardo quasi pari a zero.



Utilizzare un server generico per eseguire modelli di grandi dimensioni con centinaia di miliardi di parametri non ha precedenti. L’accumulo in questo campo è completamente vuoto e non c’è esperienza da cui attingere.

Come lo fa Inspur Information?

Utilizza 4 CPU per sfruttare modelli di grandi dimensioni con centinaia di miliardi di parametri

Per ottenere l’inferenza di un modello di grandi dimensioni con centinaia di miliardi di parametri su un singolo server, esistono due fasi principali, entrambe le quali impongono severi requisiti in termini di potenza di calcolo.

Innanzitutto c'è la fase di preriempimento, detta anche fase di propagazione in avanti.

Questa fase prevede l'elaborazione dei dati di input e la prima lettura dei parametri del modello.

Ad esempio, quando inserisci il prompt "Scrivimi un articolo sull'intelligenza artificiale", la fase di prepopolamento inserirà nel calcolo contemporaneamente tutti i token e i parametri del modello nella domanda.

A volte, questo input può contenere poche parole, migliaia di parole o un libro.

Quanto sia impegnativa dal punto di vista computazionale la prima fase dipende principalmente dalla lunghezza del nostro input.

Durante il calcolo del primo token, poiché il modello viene caricato per la prima volta, tutti i parametri di peso, nonché la KV Cache e altri dati verranno archiviati in memoria.

Si tratta di 2-3 volte lo spazio di memoria occupato dai parametri del modello stesso.

Per centinaia di miliardi di modelli di parametri, un gran numero di parametri e input di dati devono essere elaborati in potenti unità di calcolo. Per questo, deve supportare il set di istruzioni di vettorizzazione e il set di istruzioni di calcolo della matrice per implementare un gran numero di operazioni di moltiplicazione di matrici e tensori.

In secondo luogo, c’è la fase di decodifica, ovvero la fase in cui il modello inizia a produrre risultati dopo che sono state inserite tutte le domande.

In questa fase, l’unico requisito per i modelli di grandi dimensioni è produrre il prodotto il più rapidamente possibile. Allo stesso tempo, la sfida non è più una sfida in termini di potenza di calcolo, ma una sfida di “trasferimento dati”.

Contiene due parti di "trasferimento dati":

  • La grande quantità di KV Cache generata nella fase di pre-riempimento deve essere spostata dalla memoria/memoria video all'unità di calcolo (il carico di lavoro è molto pesante)

  • Trasferimento dei parametri del modello stesso

Questi trasferimenti svolgono un ruolo decisivo nella velocità di calcolo e di inferenza di modelli di grandi dimensioni. Il trasferimento dei dati è molto veloce e anche la velocità di enunciazione LLM sarà elevata.

L'output LLM genera principalmente token uno per uno tramite KV Catch e memorizza il vettore del valore-chiave del nuovo blocco di parole dopo ogni passaggio di generazione.

Pertanto, per l'inferenza in tempo reale di centinaia di miliardi di modelli di grandi dimensioni, il server deve avere un'elevata potenza di calcolo ed un'elevata efficienza di trasferimento dei dati dalle unità di archiviazione alle unità di calcolo.

Nel complesso, le due fasi del ragionamento su modelli di grandi dimensioni hanno caratteristiche computazionali completamente diverse, che richiedono un'ottimizzazione collaborativa in termini di software e hardware.

La GPU non è tutto

Tradizionalmente, la GPU è diventata la prima scelta per l'addestramento e l'inferenza dell'intelligenza artificiale grazie alle sue capacità di elaborazione parallela superiori.

costo

Tuttavia, i server GPU di fascia alta spesso scarseggiano sul mercato e sono estremamente difficili da ottenere.

Solo i giganti della tecnologia ben finanziati, come Microsoft e Google, possono permettersi questo costo.

D'altra parte, non solo è inaccessibile, ma è anche insostenibile.

Il noleggio di servizi cloud basati su GPU è costoso nelle attività di inferenza. I ricercatori scientifici e i produttori di applicazioni, se vogliono ottenere un maggiore rapporto costo-efficacia, devono trovare un’altra strada.

Memoria video

Inoltre, uno dei maggiori svantaggi della GPU è che la capacità della memoria video è limitata.

L'attuale architettura di rete LLM nel settore si è gradualmente spostata da GPT a MoE. La scala dei parametri dei modelli di grandi dimensioni che portano all’AGI non potrà che aumentare in modo esponenziale.

Ciò significa che la dimensione dei modelli mainstream closed source/open source non potrà che diventare sempre più grande, e modelli con centinaia di miliardi di parametri o addirittura trilioni di parametri diventeranno mainstream.

Per decine di miliardi di modelli di parametri sono sufficienti 20-30 GB di memoria video. Tuttavia, se desideri eseguire 100 miliardi di parametri, avrai bisogno di circa 200-300 GB di spazio di memoria video.

Gli attuali chip AI tradizionali di solito hanno solo poche dozzine di GB di memoria video, che ovviamente non possono ospitare un modello così grande. (Il chip AI più potente attualmente non ha raggiunto i 200 GB)


Server generico sottovalutato

Se la GPU non funziona, inizia con la CPU.

Sebbene l’addestramento dei modelli su larga scala non sia attualmente possibile, i server generici presentano inaspettatamente notevoli vantaggi nelle attività di inferenza.

Nel processo di pratica specifica, gli ingegneri di Inspur Information sono partiti dalle risorse hardware e dai livelli di algoritmo per superare ogni "ostacolo".

Memoria ultra-ampia + larghezza di banda ad alta velocità

In termini di potenza di calcolo,Attualmente, le principali CPU dei server dispongono già di funzionalità di accelerazione dell’intelligenza artificiale.

Similmente al core Tensor della GPU, l'estensione della matrice avanzata AMX può accelerare i calcoli a bassa precisione, compilare un set di istruzioni nel core della CPU e utilizzare un core dedicato per l'accelerazione.

In termini di algoritmi,Il server universale di Inspur Information può supportare contemporaneamente i principali framework di intelligenza artificiale come PyTorch e TensorFlow, nonché strumenti di sviluppo popolari come DeepSpeed, soddisfacendo le esigenze degli utenti per un ecosistema aperto più maturo, facile da implementare e più conveniente.

In termini di comunicazione,La struttura dell'interconnessione bus full-link UPI (Ultra Path Interconnect) realizza un'efficiente trasmissione dei dati tra le CPU:

  1. Consente il trasferimento diretto dei dati tra due CPU qualsiasi, riducendo i ritardi di comunicazione

  2. Fornisce velocità di trasferimento elevate, fino a 16GT/s (Giga Transfers al secondo)


Inoltre, gli ingegneri di ricerca e sviluppo di Inspur Information hanno anche ottimizzato i percorsi di cablaggio e la continuità dell'impedenza tra CPU e tra CPU e memoria.

Sulla base dei risultati della simulazione tridimensionale, hanno regolato la disposizione dei via per ridurre la diafonia del segnale al di sotto di -60 dB, ovvero del 50% in meno rispetto alla generazione precedente.

Inoltre, attraverso la simulazione attiva della matrice DOE, viene trovata la soluzione ottimale per la combinazione di tutti gli angoli del canale, consentendo di sfruttare appieno le prestazioni della potenza di calcolo.

In termini di memoria,Si può dire che sia il più grande vantaggio dei server generici.

  • capacità

Per un server a 4 socket, è sufficiente collegare 8 memory stick da 32 GB a ciascuna CPU per raggiungere facilmente 1 TB. Quando è completamente inserito, può anche essere espanso fino a 16 TB e può supportare modelli con un massimo di un trilione di parametri.

  • larghezza di banda

Abbinato alla memoria DDR5, è possibile ottenere una larghezza di banda teorica di 4800 MHz × 8 bit × 8 canali × 4 ÷ 1024 = 1200 GB/s.

I risultati effettivi delle misurazioni mostrano che la larghezza di banda di lettura è di 995 GB/s, la larghezza di banda di scrittura è di 423 GB/s e la larghezza di banda di lettura e scrittura è di 437 GB/s.

Questi dati sono paragonabili ad alcune GPU o schede acceleratrici dotate di memoria GDDR.


Ma l’hardware da solo non basta

Affidarsi esclusivamente all’innovazione hardware non è sufficiente. È difficile per la CPU eseguire calcoli paralleli su larga scala di algoritmi di modelli di grandi dimensioni.

Come accennato all'inizio, i modelli di grandi dimensioni hanno requisiti molto elevati in termini di larghezza di banda di comunicazione, sia che si tratti di calcolo dei dati, tra unità di calcolo o tra unità di calcolo e memoria.

Se calcolato in base alla precisione BF16, se si desidera che il ritardo di esecuzione di un modello da 100 miliardi di persone sia inferiore a 100 ms, la larghezza di banda di comunicazione tra la memoria e l'unità di calcolo deve essere almeno 2 TB/s.

Non solo, i processori per server generici non sono adatti per modelli di intelligenza artificiale di grandi dimensioni basati su progetti di schede acceleratrici che sono adatti al calcolo parallelo su larga scala.

Il motivo è ovvio: nonostante quest’ultimo disponga di un core informatico altamente versatile e performante, non dispone di un ambiente di lavoro parallelo.

In generale, un server generico trasferirà prima il peso del modello a una CPU, quindi lo lascerà connettere ad altre CPU in serie per realizzare la trasmissione dei dati sul peso.

Tuttavia, poiché i modelli di grandi dimensioni devono trasferire frequentemente i pesi degli algoritmi tra memoria e CPU durante il funzionamento, la conseguenza di ciò è che l'utilizzo della larghezza di banda tra CPU e memoria non è elevato e il sovraccarico di comunicazione è estremamente elevato.


Come risolvere il problema?Innovare con gli algoritmi

In risposta ai problemi di cui sopra, Inspur Information ha proposto due innovazioni tecnologiche, "Tensor Parallel" (Tensor Parallel) e "NF4 Quantification", e ha realizzato con successo l'inferenza in tempo reale del modello Yuan2.0-102B di centinaia di miliardi di persone.

Secondo i risultati dell'analisi delle prestazioni, è possibile vedere chiaramente la distribuzione dei tempi di calcolo delle diverse parti del modello:

Il tempo di esecuzione del livello lineare rappresenta il 50%, il tempo di esecuzione della convoluzione rappresenta il 20%, il tempo di comunicazione dell'aggregazione rappresenta il 20% e altri calcoli rappresentano il 10%.

Si noti che durante l'intero processo di inferenza, il tempo di calcolo rappresenta l'80%!

Ciò è in netto contrasto con l'uso di più schede acceleratrici PCIe AI: il sovraccarico di comunicazione di queste ultime può raggiungere il 50%, con conseguente grave spreco di potenza di calcolo.


Grafico dei risultati dell'analisi delle prestazioni dell'inferenza del modello Yuan2.0-102B

parallelismo tensoriale

Il cosiddetto parallelismo tensore divide prima l'operatore di convoluzione in tensori, quindi calcola i pesi delle matrici dello strato di attenzione e dello strato di feedforward nel modello di grandi dimensioni e li inserisce nella memoria di più processori.

In questo modo le quattro CPU del server generale possono ottenere contemporaneamente i pesi degli algoritmi per accelerare i calcoli.

Tuttavia, il parallelismo del tensore divide i parametri del modello in granularità più fini, richiedendo alla CPU di eseguire la sincronizzazione dei dati dopo ogni calcolo del tensore.

Per questo requisito, la tecnologia di interconnessione bus UPI full-link menzionata sopra può soddisfare pienamente questo requisito (la larghezza di banda di comunicazione è fino a 16GT/s).

Alla fine, questo lavoro parallelo collaborativo ha aumentato direttamente l’efficienza del calcolo di 4 volte!


Quantificazione di NF4

Per quanto riguarda il problema della larghezza di banda della memoria insufficiente, il modello deve essere "snellito" senza incidere sulla precisione, cioè quantizzato.

Il vantaggio è che da un lato i parametri LLM possono essere quantizzati in dati a bit basso e i pesi diventeranno più piccoli. D'altro canto, una volta ridotto il peso, diminuirà anche la quantità di dati trasmessi durante il calcolo.

In questo caso, Inspur Information adotta un raro metodo di quantificazione quantile: NF4 (NormalFloat a 4 cifre).


Il metodo di quantizzazione NF4 può comprimere la dimensione di Yuan2.0-102B a 1/4 della dimensione originale.

Nello specifico, l'idea centrale di NF4 è garantire che il numero di valori del tensore di ingresso all'interno dell'intervallo di quantizzazione sia uguale.

Questa funzione è molto adatta per presentare pesi LLM con distribuzione approssimativamente normale.

Poiché la deviazione standard può essere regolata per adattarsi all'intervallo del tipo di dati quantizzati, NF4 può raggiungere una precisione maggiore rispetto alla tradizionale quantificazione con numeri interi a 4 bit o in virgola mobile a 4 bit.

In questo modo, il modello quantizzato può non solo soddisfare i requisiti di precisione, ma anche ridurre significativamente la quantità di dati di accesso alla memoria per il calcolo parallelo su larga scala, soddisfacendo così i requisiti di decodifica del ragionamento in tempo reale.


Gli intervalli di dati per i metodi di quantizzazione a numeri interi o in virgola mobile sono generalmente distribuiti uniformemente o distribuiti in modo esponenziale

Per comprimere ulteriormente i parametri di peso del modello, il team ha utilizzato anche la tecnologia di quantizzazione nidificata (Double Quant).

Questa è una quantizzazione secondaria basata sulla quantizzazione NF4.

Poiché NF4 genererà un gran numero di parametri di scala dopo la quantizzazione, se per memorizzarli vengono utilizzati numeri in virgola mobile a 32 bit (FP32), verrà occupata una grande quantità di memoria.

Per un LLM con centinaia di miliardi di parametri, se ogni 64 parametri vengono calcolati come blocco di quantizzazione (dimensione blocco=64), solo la memorizzazione dei parametri di scala richiede ulteriori 6 GB di memoria: (100B ÷ 64) × 4 = 6 GB.

Il team ha ridotto significativamente lo spazio di archiviazione richiesto quantizzando questi parametri di scala in numeri in virgola mobile a 8 bit (FP8).

Quando si utilizza 256 come dimensione del blocco di quantizzazione (dimensione del blocco=256), lo spazio aggiuntivo richiesto per memorizzare tutti i parametri della scala è di soli 1,57 GB: (100B ÷ 64 ÷ 256) × 4 + (100B ÷ 64) × 1 = 1,57 GB.

Attraverso la quantizzazione annidata, ogni parametro di peso del modello finisce per occupare solo 4 byte di spazio di memoria, risparmiando molto spazio di memoria rispetto all'FP32 originale.

Allo stesso tempo, migliora di 4 volte l'efficienza del trasferimento dei dati dalla memoria alla CPU.

Tale ottimizzazione allevia significativamente la limitazione della larghezza di banda della memoria sull'efficienza di inferenza e decodifica del modello Yuan2.0-102B, migliorando così ulteriormente le prestazioni di inferenza del modello.

Il cosiddetto universale significa che tutti possono usarlo.

A questo punto, le informazioni di Inspur sono state inviate con successo!

Attraverso l'ottimizzazione del sistema, NF8260G7 di Inspur Information è il primo nel settore a supportare il funzionamento di modelli di grandi dimensioni con centinaia di miliardi di parametri basati esclusivamente su processori generici.

Finora, la scala dei parametri dei grandi modelli di intelligenza artificiale supportati dalla potenza di calcolo generale ha superato i 100 miliardi, colmando completamente il divario nel settore e diventando un nuovo punto di partenza per le imprese che possiedono l’intelligenza artificiale.

L’implementazione di modelli di intelligenza artificiale con centinaia di miliardi di parametri ora ha una scelta con prestazioni più elevate e costi più economici; le applicazioni di modelli di intelligenza artificiale di grandi dimensioni possono raggiungere una più stretta integrazione con cloud, big data e database.


L'obiettivo finale del progresso scientifico e tecnologico deve essere quello di cadere nel mondo mortale.

Guardando al presente, l’AIGC è penetrata in migliaia di settori. L’intelligenza artificiale è penetrata in ogni dispositivo informatico a un ritmo allarmante.

Da gennaio ad aprile 2024, il numero di offerte vincenti per i modelli nazionali di grandi dimensioni ha superato il totale dell'intero anno 2023 e l'importo dichiarato delle offerte vincenti ha raggiunto il 77% di quello dell'intero anno 2023.

I professionisti del settore finanziario, dei reparti ambulatoriali ospedalieri e dei reparti IT aziendali lo hanno scoperto: l’infrastruttura di potenza di calcolo delle industrie tradizionali non è più sufficiente!

Oggi, modelli di grandi dimensioni con centinaia di miliardi di parametri sono la chiave per l’emergere dell’intelligenza in migliaia di settori. Se la potenza di calcolo generale può gestire modelli di grandi dimensioni con centinaia di miliardi di parametri è la chiave per misurare se può supportare l’emergere dell’intelligenza in migliaia di settori.

L'iniziativa di Inspur Information consente ai clienti dei settori Internet, finanziario, medico e altri di ottenere un'implementazione efficiente e di risparmiare oltre l'80% dei costi di costruzione sul primo investimento.

Che si tratti di prevenzione delle frodi finanziarie, analisi di dati finanziari, approfondimenti di marketing CRM aziendale, diagnosi medica intelligente, diagnosi e piani di trattamento personalizzati, istruzione e formazione, ecc., assisteremo all’applicazione diffusa dell’intelligenza artificiale.

D'ora in poi, tutti i calcoli sono AI.

Riferimenti:

https://mp.weixin.qq.com/s/1wYt7dfoVy2J1FFkOJjRTg