Calcolatore del numero di GPU per un modello
Dati di input
| VRAM del modello | 140 |
|---|---|
| Memoria per GPU | 80 |
| Frazione utilizzabile | 90 % |
Calcolatore del numero di GPU per un modello
Stima quanti acceleratori servono per ospitare un modello in memoria, a partire dal suo fabbisogno totale di VRAM, dalla memoria per GPU e da una frazione utilizzabile che tiene conto dell'overhead del framework e della frammentazione.
Dati di input
Modello
Hardware
Risultati
Inserisci un valore per visualizzare i risultati.
Dettagli
Numero di GPU per un modello
Un modello linguistico di grandi dimensioni deve entrare nella memoria dell'acceleratore prima di poter servire anche un solo token. Quando il modello è più grande di una singola GPU, viene suddiviso su più dispositivi, e la prima domanda di pianificazione è semplicemente quanti dispositivi servono. Questo calcolatore risponde a partire da tre numeri: la VRAM totale richiesta dal modello, la memoria di ciascuna GPU e la frazione di quella memoria che un deployment reale può effettivamente usare.
Perché un modello occupa più GPU
Un acceleratore moderno dispone di una quantità fissa di memoria ad alta larghezza di banda — 80 GB su una H100, 141 GB su una H200. Un modello i cui pesi e buffer di runtime superano quel valore non può risiedere su un singolo dispositivo, quindi viene suddiviso. Il parallelismo dei tensori è il metodo abituale: ogni strato è ripartito sul gruppo, ogni GPU contiene una porzione dei pesi e i risultati parziali vengono ricuciti insieme con un passo di comunicazione collettiva a ogni strato. Il gruppo si comporta allora come un unico dispositivo più grande. Il numero prodotto da questo calcolatore descrive quel singolo gruppo strettamente accoppiato, non un insieme di repliche indipendenti.
La memoria utilizzabile è inferiore al valore nominale
Una GPU non cede mai l'intera memoria pubblicizzata al modello. Il contesto CUDA, l'allocatore con cache del framework, i tensori delle attivazioni e la frammentazione tra le allocazioni si prendono tutti una quota, e durante il servizio la cache chiave-valore cresce con la lunghezza del contesto e la dimensione del batch. Considerare utilizzabile circa l'80-90 percento del valore nominale lascia un margine realistico; avvicinarsi al valore pieno invita a fallimenti per memoria esaurita sotto carico.
La formula
Con un fabbisogno del modello di gigabyte, una memoria per GPU di gigabyte e una frazione utilizzabile , il numero di dispositivi e la memoria totale sono
nT=⌈g⋅fM⌉=n⋅gdove è il numero di GPU e è la loro memoria nominale combinata. L'arrotondamento per eccesso è dovuto al fatto che un modello non può girare su una frazione di acceleratore.
Esempio svolto
Consideriamo un modello che richiede 140 GB di VRAM su GPU da 80 GB ciascuna, con il 90 percento della memoria utilizzabile:
nT=⌈80×0,9140⌉=⌈72140⌉=⌈1,94⌉=2=2×80=160 GBDue GPU bastano, con 160 GB di memoria nominale a fronte di un fabbisogno di 140 GB — un comodo margine per la cache chiave-valore. Un modello da 350 GB sullo stesso hardware richiede GPU.
Oltre il minimo
Il numero qui risponde solo alla domanda sulla capienza. Aggiungere acceleratori oltre quel punto compra margine di memoria — una cache chiave-valore più grande, una dimensione del batch maggiore, spazio per contesti più lunghi — e aumenta il throughput anziché cambiare se il modello entra, mentre l'overhead di comunicazione della suddivisione erode gradualmente l'efficienza per GPU. Il dimensionamento per le prestazioni è un esercizio a parte. Per stimare il fabbisogno di memoria sottostante che alimenta l'input , vedi il Calcolatore della VRAM di inferenza per LLM, e per trasformare un numero di dispositivi in un costo operativo, il Calcolatore del costo delle GPU cloud.
Domande frequenti (FAQ)
Che cos'è il parallelismo dei tensori?
Il parallelismo dei tensori suddivide ogni strato di un modello su più acceleratori, così ogni GPU contiene una porzione dei pesi e calcola una parte di ogni moltiplicazione tra matrici. I risultati parziali vengono combinati con un passo di comunicazione collettiva a ogni strato.
È la tecnica che permette a un modello più grande di un singolo dispositivo di entrare in un gruppo di dispositivi, ed è la ragione per cui il numero fornito da questo calcolatore descrive un singolo gruppo strettamente accoppiato anziché repliche indipendenti.
Perché la memoria utilizzabile è inferiore al valore nominale?
Una GPU non offre mai l'intera memoria pubblicizzata al modello. Il contesto CUDA, l'allocatore con cache del framework, i tensori delle attivazioni e la frammentazione tra le allocazioni consumano tutti spazio, e la cache chiave-valore cresce con la lunghezza del contesto e la dimensione del batch durante il servizio.
Considerare utilizzabile circa l'80-90 percento lascia un margine realistico; avvicinarsi al valore nominale rischia errori di memoria esaurita sotto carico.
Cosa succede se si aggiungono più GPU di quelle che servono al modello?
Gli acceleratori in più aggiungono margine di memoria che può ospitare una cache chiave-valore più grande, supportare una dimensione del batch maggiore o lasciare spazio per contesti più lunghi. Oltre il punto in cui la memoria smette di essere il vincolo, aggiungere GPU aumenta soprattutto il throughput anziché la capienza, e l'overhead di comunicazione dovuto alla suddivisione può erodere l'efficienza per GPU.
Il numero minimo qui risponde solo alla domanda sulla capienza; il dimensionamento per le prestazioni è una decisione a parte.
Avvertenze legali
Questa stima riguarda solo la capienza in memoria e arrotonda per eccesso ad acceleratori interi. Non dimensiona per throughput, latenza o interconnessione, e la frazione utilizzabile varia con il framework, la lunghezza del contesto e la dimensione del batch. Verifica con il deployment reale prima del provisioning.
Da provare dopo
Calcolatore della VRAM di inferenza per LLM
Stima la VRAM della GPU necessaria per servire in inferenza un modello linguistico di grandi dimensioni a partire dal numero di parametri, dalla precisione dei pesi e dall'overhead di runtime per la cache KV, le attivazioni e la frammentazione.