Parallelismo tensoriale per modelli di grandi dimensioni
Un modo per suddividere i calcoli all'interno di un singolo livello di rete neurale su più GPU in modo che un modello troppo grande per un dispositivo possa ancora essere eseguito.
Panoramica
It matters because frontier models have hundreds of billions of parameters that no single GPU can hold or compute fast enough alone.
Immersione profonda
Il parallelismo tensore (chiamato anche parallelismo del modello intra-strato) suddivide le singole matrici di peso tra le GPU anziché inserire interi strati su dispositivi separati. In un trasformatore, le moltiplicazioni della matrice grande (proiezioni di attenzione e MLP feed-forward) sono divise: ad esempio, la prima matrice del peso dell'MLP è partizionata per colonne e la seconda per righe, quindi ciascuna GPU calcola una fetta e una singola riduzione totale combina i risultati. L'attenzione è divisa tra le teste, con ciascuna GPU che gestisce un sottoinsieme. Poiché ogni GPU fa parte di ogni livello simultaneamente, il parallelismo tensore riduce la memoria per GPU e accelera il calcolo, ma richiede comunicazioni frequenti e con larghezza di banda elevata tra le GPU di ciascun livello. Ecco perché di solito è confinato all'interno di un nodo connesso da NVLink e combinato con il parallelismo di pipeline e dati per lavori di formazione e servizio di grandi dimensioni.
Approfondimento tecnico
Il trucco, reso popolare da Megatron-LM, è scegliere le dimensioni delle partizioni in modo che la comunicazione sia minima. La suddivisione della prima matrice MLP in colonne consente a ciascuna GPU di applicare la non linearità localmente senza sincronizzazione; dividere la seconda riga in termini significa che gli output necessitano solo di una riduzione totale per sommare i risultati parziali. Ogni strato comporta quindi all'incirca due riduzioni totali (avanti) e due (indietro). Poiché questi collettivi si verificano su ogni livello, la latenza domina, quindi il parallelismo tensore si trova dietro collegamenti intra-nodo veloci come NVLink piuttosto che su reti inter-nodo più lente.
Impatto strategico
Costo e budget
Le decisioni relative all'architettura determinano prestazioni e costi operativi per anni.
Decisioni più chiare
La formazione tecnica aiuta i team a scegliere lo stack giusto, non solo quello più nuovo.
Controllo di qualità
Migliori scelte ingegneristiche riducono gli incidenti legati all’affidabilità nella produzione.
Il futuro del parallelismo tensoriale per modelli di grandi dimensioni
Il parallelismo tensore rimane fondamentale, ma viene sempre più fuso nel "parallelismo 3D" (tensore + pipeline + dati) e combinato con il parallelismo esperto per i modelli Mixture-of-Experts. Framework come Megatron-LM, DeepSpeed e vLLM automatizzano lo sharding. Man mano che le interconnessioni GPU (NVLink, NVSwitch) e i tessuti ottici diventano più veloci, il limite del confine del nodo si allenta, consentendo gruppi tensoriali paralleli più ampi. Aspettatevi una parallelizzazione automatica più intelligente che scelga le dimensioni degli shard e quelle dei gruppi per ridurre al minimo la comunicazione per una determinata topologia del cluster.
Implementazione nel mondo reale
Addestramento di un modello con parametri 175B suddividendo le matrici di peso di ogni livello su 8 GPU in un nodo connesso a NVLink utilizzando Megatron-LM.
Fornire un modello di chat con parametri 70B in vLLM con tensor_parallel_size=4 in modo che i pesi si adattino a quattro GPU e rispondano in tempo reale.
Suddividere l'attenzione del trasformatore tra le GPU in modo che ogni dispositivo calcoli un sottoinsieme, quindi concatena gli output per il livello successivo.
Combinazione del parallelismo del tensore all'interno dei nodi e del parallelismo della pipeline tra i nodi per addestrare modelli da trilioni di parametri su cluster GPU di grandi dimensioni.
Rischi e guardrail
L'ottimizzazione di un benchmark può nascondere debolezze di sistema più ampie.
I costi delle infrastrutture e della manutenzione sono spesso sottostimati.
Le lacune in termini di sicurezza e osservabilità possono aumentare man mano che i sistemi diventano più complessi.
Tabella di marcia per l'implementazione
Definire obiettivi di latenza, qualità e costi prima dell'implementazione.
Benchmark in condizioni di carico e dati realistiche.
Monitoraggio dello strumento per errori, deriva e impatto sull'utente.
Preparare percorsi di rollback e risposta agli incidenti prima della scalabilità.
Continua a esplorare
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Tensor Parallelism for Large Models quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Prossima guida
Parallelismo del modello e della pipeline
Domande frequenti
What is Tensor Parallelism for Large Models?
Un modo per suddividere i calcoli all'interno di un singolo livello di rete neurale su più GPU in modo che un modello troppo grande per un dispositivo possa ancora essere eseguito. È importante perché i modelli di frontiera hanno centinaia di miliardi di parametri che nessuna singola GPU può contenere o calcolare abbastanza velocemente da sola.
Cosa viene suddiviso il parallelismo tensoriale tra le GPU?
Il parallelismo del tensore (intra-strato) frammenta le matrici dei pesi all'interno di uno strato, quindi ogni GPU calcola parte dello stesso strato, distinto dal parallelismo della pipeline, che posiziona interi strati su GPU diverse.
Nella suddivisione MLP in stile Megatron, come vengono suddivise le due matrici di peso per ridurre al minimo la comunicazione?
La divisione della prima matrice per colonne consente a ciascuna GPU di applicare la non linearità localmente; dividere il secondo per righe significa che un'unica riduzione totale somma gli output parziali, riducendo al minimo la sincronizzazione.
Perché il parallelismo tensoriale viene solitamente mantenuto all'interno di un singolo nodo?
Ogni livello attiva la comunicazione collettiva (riduzione totale), quindi il traffico pesante e sensibile alla latenza richiede collegamenti intra-nodo veloci come NVLink piuttosto che reti inter-nodo più lente.
Come viene tipicamente parallelizzato il meccanismo dell'attenzione sotto il parallelismo tensoriale?
Le teste di attenzione sono indipendenti, quindi sono distribuite tra le GPU: ciascun dispositivo calcola alcune teste e gli output vengono combinati.
Quale operazione collettiva combina comunemente risultati parziali nel parallelismo tensoriale?
All-reduce somma gli output parziali calcolati su ciascuna GPU in modo che concordino sul risultato del layer; questo accade più volte per strato nei passaggi avanti e indietro.