GUIDA TECNICA

Parallelismo del modello e della pipeline

Quando un modello è troppo grande per essere contenuto in una GPU, il parallelismo del modello e della pipeline suddivide il modello stesso tra i dispositivi.

2 minuti di letturaUltimo aggiornamento

Panoramica

This is what makes training giant language models with hundreds of billions of parameters physically possible.

Immersione profonda

Il parallelismo dei modelli suddivide un singolo modello tra più GPU in modo che nessun dispositivo debba sostenere tutti i pesi. Ci sono due sapori principali. Il parallelismo del tensore (intra-strato) suddivide i calcoli all'interno di uno strato, ad esempio suddividendo una grande moltiplicazione di matrici tra le GPU, ciascuna delle quali calcola una parte dell'output. Il parallelismo della pipeline (interstrato) assegna diversi strati consecutivi a diverse GPU, quindi il blocco del livello 1 risiede sulla GPU 0, il blocco 2 sulla GPU 1 e così via, con le attivazioni passate come una catena di montaggio. La sfida con il pipeline ingenuo è la "bolla": mentre la GPU 0 funziona sul primo batch, le GPU a valle restano inattive. Il pipeline suddivide ogni lotto in micro-lotti in modo che tutte le fasi rimangano occupate, migliorando notevolmente l'utilizzo.

Approfondimento tecnico

Il parallelismo tensore (come in NVIDIA Megatron-LM) divide le matrici di peso in colonne o righe e utilizza all-reduce per ricombinare risultati parziali, mantenendo la comunicazione all'interno di un nodo NVLink veloce. Il parallelismo della pipeline (GPipe, PipeDream) divide il batch in micro-batch che attraversano le fasi secondo un programma scaglionato, riducendo i tempi di inattività della "bolla". I due sono spesso stratificati insieme, con il parallelismo del tensore all'interno di un nodo e il parallelismo della pipeline tra i nodi.

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 di modelli e pipeline

I framework automatizzano sempre più il difficile problema di decidere come suddividere un modello tra dispositivi, utilizzando la profilazione e la ricerca per bilanciare elaborazione e comunicazione. Ci si aspetta una più stretta integrazione di tensore, pipeline e parallelismo dei dati (parallelismo 3D), una pianificazione micro-batch più intelligente per eliminare quasi le bolle della pipeline e hardware con interconnessioni più veloci in modo che la suddivisione di un singolo strato tra chip diventi più economica e più routine per modelli sempre più grandi.

Implementazione nel mondo reale

Addestramento di modelli in stile GPT con NVIDIA Megatron-LM, che divide l'attenzione di ogni strato del trasformatore e le matrici feed-forward tra le GPU tramite il parallelismo del tensore.

Usare GPipe per posizionare diversi strati di una visione gigante o di un modello linguistico su acceleratori separati mentre il micro-batching li tiene occupati.

Il motore di pipeline di DeepSpeed ​​suddivide un modello da centinaia di miliardi di parametri in fasi su molti nodi.

Combinando il parallelismo del tensore all'interno di un singolo server da 8 GPU con il parallelismo della pipeline che si estende su più server per addestrare un modello troppo grande per una macchina.

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

1

Definire obiettivi di latenza, qualità e costi prima dell'implementazione.

2

Benchmark in condizioni di carico e dati realistiche.

3

Monitoraggio dello strumento per errori, deriva e impatto sull'utente.

4

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 Model and Pipeline Parallelism quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Inizia il quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Prossima guida

Parallelismo tensoriale per modelli di grandi dimensioni

Domande frequenti

What is Model and Pipeline Parallelism?

Quando un modello è troppo grande per essere contenuto in una GPU, il parallelismo del modello e della pipeline suddivide il modello stesso tra i dispositivi. Questo è ciò che rende fisicamente possibile l’addestramento di modelli linguistici giganteschi con centinaia di miliardi di parametri.

Quale problema fondamentale risolvono il parallelismo del modello e della pipeline?

Il parallelismo del modello e della pipeline suddivide il modello stesso tra i dispositivi, consentendo l'addestramento di reti molto più grandi di quanto una singola GPU potrebbe contenere.

Come funziona la divisione del parallelismo del tensore (intra-strato)?

Il parallelismo tensore divide il calcolo all'interno di un singolo livello, ad esempio suddividendo una matrice di peso di grandi dimensioni in modo che ciascuna GPU calcoli parte dell'output.

Cos'è la "bolla" nel parallelismo ingenuo delle pipeline?

All'inizio di una fase della pipeline, le fasi downstream non hanno ancora ricevuto input e rimangono inattive, facendo sprecare tempo alla GPU; questo divario inattivo è chiamato bolla.

In che modo il parallelismo delle pipeline riduce la bolla?

La divisione di un batch in micro-batch consente a più micro-batch di occupare diverse fasi contemporaneamente, mantenendo tutte le GPU occupate e riducendo i tempi di inattività.

Perché il parallelismo tensoriale viene tipicamente mantenuto all'interno di un singolo nodo?

Il parallelismo del tensore comunica frequentemente per ricombinare i risultati della matrice parziale, quindi viene posizionato dove la larghezza di banda di interconnessione è massima, all'interno di un nodo su NVLink.