11 novembre 2026 · Team VRAMfarm
Quanta VRAM serve? Una tabella per LLM, Flux, video con Wan 2.2 e training
Un chat model da 7–8B a 4 bit sta su una scheda da 12 GB, un modello da 32B chiede 24 GB, e Llama 3.3 70B ha bisogno di circa 43 GB solo per i pesi, quindi il minimo realistico è 48 GB. I modelli di immagini stanno tra 10 GB (SDXL) e 24 GB (Qwen-Image in fp8), e il video con Wan 2.2 chiede 22–48 GB. Le stesse stime alimentano il selettore di VRAM in home page, e la formula da cui nascono funziona per qualsiasi modello tu voglia verificare da solo.
La formula: pesi, KV cache e overhead
Mentre un modello gira, la memoria video contiene tre cose:
VRAM ≈ parametri × byte per parametro + KV cache (o attivazioni) + 1–2 GB di overhead
La prima parte sono i pesi. Un miliardo di parametri a 2 byte l’uno fa 2 GB, quindi un modello da 8B in fp16 occupa circa 16 GB prima ancora di aver elaborato una parola. I byte per parametro dipendono dalla precisione:
| Precisione | Byte per parametro | Modello 8B | Modello 32B | Modello 70B | Qualità |
|---|---|---|---|---|---|
| fp32 | 4 | 32 GB | 131 GB | 282 GB | Solo training, nessuno serve in fp32 |
| fp16 / bf16 | 2 | 16 GB | 66 GB | 141 GB | Il riferimento |
| fp8 / int8 | 1 | 8 GB | 33 GB | 71 GB | Molto vicina a fp16 |
| 4 bit (Q4_K_M, AWQ, GPTQ) | 0,55–0,6 | 5 GB | 20 GB | 43 GB | Piccola perdita, va bene per la chat |
| 2–3 bit | 0,3–0,4 | 3 GB | 12 GB | 25 GB | Chiaramente peggiore, ultima spiaggia |
La seconda parte dipende da cosa fa il modello. Per un modello linguistico è la KV cache: il modello conserva chiavi e valori per ogni token della conversazione, e la cache cresce con la lunghezza del contesto. Per i modelli di immagini e video sono le attivazioni: tensori intermedi che crescono con la risoluzione, il numero di frame e il batch size.
La terza parte è il contesto CUDA, i buffer del framework e la frammentazione della memoria. Metti in conto 1–2 GB, di più con vLLM, che di default si riserva subito il 90% della scheda.
La quantizzazione è il modo in cui quasi tutti fanno stare modelli più grandi su schede più piccole. L’fp8 dimezza i pesi senza differenze quasi visibili, ed è il default per Flux, Qwen-Image e Wan in ComfyUI. Il 4 bit li dimezza ancora. Per chat e riassunti, un 32B a 4 bit (circa 20 GB) di solito risponde meglio di un 8B in fp16, che occupa quasi la stessa memoria. Su codice e matematica, nei modelli piccoli la perdita si nota di più. Sotto i 4 bit la qualità cala in fretta.
Un dettaglio hardware: l’fp8 viene calcolato in modo nativo dalla generazione Ada in poi (serie RTX 40 e 50, L40S, H100, B200). Le schede Ampere (RTX 3090, RTX A6000, A100) possono caricare pesi fp8, ma calcolano in fp16, quindi risparmi memoria senza guadagnare velocità.
Modelli linguistici: da 8B a 235B
I numeri sono approssimativi: pesi più buffer di lavoro con un contesto breve. Il contesto lungo si aggiunge sopra, vedi la sezione sulla KV cache più sotto. La colonna “4 bit” corrisponde a quello che mostra il nostro selettore, perché è così che quasi tutti fanno girare questi modelli su una scheda.
| Modello | fp16 | fp8 | 4 bit | Scheda per 4 bit | Scheda per fp8 |
|---|---|---|---|---|---|
| Qwen3 8B, Llama 3.1 8B | 17 GB | 9 GB | 7 GB | 12 GB: RTX 3060 | 16 GB: RTX 4060 Ti, RTX 4080 |
| Qwen3 14B | 30 GB | 15 GB | 10 GB | 16 GB: RTX 4060 Ti, RTX 5070 Ti | 24 GB: RTX 3090, RTX 4090 |
| Qwen3 32B | 66 GB | 33 GB | 21 GB | 24 GB: RTX 3090, RTX 4090 | 48 GB: RTX A6000, L40S |
| Llama 3.3 70B | 141 GB | 71 GB | 43 GB | 48 GB: RTX A6000, L40, L40S | 80–96 GB: H100, RTX PRO 6000 |
| Qwen3 235B-A22B (MoE) | 470 GB | 235 GB | 136 GB | 192 GB: B200, o 2 × A100 / H100 | 4 × H100 o 2 × B200 |
Qualche nota per leggerla:
- 24 GB fanno girare un 32B, con un contesto breve. Su una scheda da 24 GB un 32B a 4 bit lascia 2–3 GB alla KV cache, abbastanza per circa 8–10k token. La RTX 5090 da 32 GB dà allo stesso modello spazio per qualcosa come 30–40k, a seconda della quantizzazione e dei buffer del runtime.
- Un 70B su una sola scheda vuol dire 48 GB o più. Su 48 GB, un 70B a 4 bit gira con 8–12k di contesto, circa il doppio con una cache a 8 bit. Per documenti lunghi, più utenti contemporanei o il serving con vLLM, prendi una A100 o una H100 da 80 GB.
- La H200 da 141 GB sembra giusta per un modello da 136 GB, ma è troppo stretta. Dopo il contesto CUDA non resta quasi niente per la cache. Prendi una B200 o due schede da 80 GB.
- I modelli MoE vogliono tutti gli esperti in memoria. Qwen3 235B-A22B attiva 22B parametri per token, quindi genera testo più o meno alla velocità di un modello denso da 22–30B, ma chiede la memoria di uno da 235B.
La velocità è un’altra questione. Generare ogni token significa leggere l’intero modello dalla memoria, quindi un tetto approssimativo dei token al secondo è la banda di memoria divisa per la dimensione del modello. Una RTX 4090 (1.008 GB/s) con un modello da 20 GB arriva al massimo a circa 50 token al secondo, e i numeri reali stanno un po’ sotto. Per questo una H100 con 3.350 GB/s sembra molto più veloce con lo stesso modello.
Modelli di immagini e video
In ComfyUI i modelli di immagini e video di solito girano in fp8, e ComfyUI sposta text encoder e VAE dentro e fuori dalla VRAM quando serve. La colonna “minima” significa “gira a 1024 × 1024 (o video a 720p) senza errori”; la scheda consigliata ti dà margine per LoRA, ControlNet e risoluzioni più alte. Prendi i valori come stime per un workflow tipico: risoluzione, numero di frame e impostazioni di offloading di ComfyUI possono spostarli di diversi gigabyte in un senso o nell’altro.
| Modello | Precisione | VRAM | Scheda minima | Scheda comoda |
|---|---|---|---|---|
| SDXL | fp16 | ~10 GB | 12 GB: RTX 3060 | 16 GB: RTX 4060 Ti, RTX 4080 |
| Flux.1 dev | fp8 | ~16 GB | 16 GB: RTX 4080, RTX 5070 Ti | 24 GB: RTX 4090 (anche bf16) |
| Qwen-Image, Qwen Image Edit | fp8 | ~24 GB | 24 GB: RTX 3090, RTX 4090 | 32–48 GB: RTX 5090, L40S |
| HiDream | fp8 | ~24 GB | 24 GB: RTX 3090, RTX 4090 | 32 GB: RTX 5090 |
| Wan 2.2 5B (testo/immagine in video) | bf16 | ~22 GB a 720p | 24 GB: RTX 4090 | 32 GB: RTX 5090 |
| Wan 2.2 14B (testo/immagine in video) | fp8 | ~30 GB | 32 GB: RTX 5090 | 48 GB: L40S, RTX A6000 |
Il video è la categoria in cui “ci sta” e “ci sta comodo” sono più lontani. Ogni secondo in più aggiunge frame, e ogni frame aggiunge attivazioni. Wan 2.2 14B in fp8 chiede circa 30 GB a 720p per una clip di 5 secondi: una RTX 5090 da 32 GB ce la fa, ma clip più lunghe o una risoluzione più alta ti portano a 48 GB. Per questo la nostra app pronta Wan 2.2 14B chiede una scheda da 48 GB e l’app 5B una da 24 GB.
Esistono quantizzazioni GGUF (Q4, Q5) di Flux e Qwen-Image che li fanno stare su schede da 8–12 GB, al prezzo di step più lenti e di un po’ di dettaglio. Se ti servono poche immagini va bene; per il lavoro vero, la memoria in più si ripaga in tempo. La guida alle GPU per Flux, SDXL e ComfyUI va scheda per scheda.
Voce e training
I modelli vocali sono piccoli. Il training chiede molta più memoria che far girare lo stesso modello, perché accanto ai pesi ci sono i gradienti e gli stati dell’ottimizzatore.
| Attività | VRAM | Scheda |
|---|---|---|
| Whisper large-v3 (fp16) | ~10 GB (int8 con faster-whisper: pochi GB) | 12 GB: RTX 3060 |
| Chatterbox, Qwen3-TTS, VoxCPM | 6–8 GB | 12 GB: RTX 3060 |
| LoRA SDXL | 12–16 GB | 16–24 GB |
| LoRA Flux | ~24 GB | 24 GB: RTX 3090, RTX 4090 |
| QLoRA, modello 8B | 10–16 GB | 16–24 GB |
| QLoRA, modello 32B | 24–32 GB | 48 GB |
| QLoRA, modello 70B | ~48 GB con sequenze brevi | 80 GB: A100, H100 |
| Fine-tuning completo, modello 8B | ~70 GB con ottimizzatore a 8 bit e gradient checkpointing | scheda da 80 GB, o più schede |
La riga del fine-tuning completo va spiegata. Con l’ottimizzatore AdamW standard in mixed precision, ogni parametro costa circa 16 byte: pesi bf16 (2), gradienti (2), una copia master in fp32 (4) e due stati dell’ottimizzatore (8). Per 8B parametri fanno circa 128 GB prima delle attivazioni, cioè due o più schede da 80 GB, una H200 o una B200. Un ottimizzatore a 8 bit e il gradient checkpointing scendono a circa 70 GB, a seconda della lunghezza delle sequenze e del trainer, e così si sta su una sola A100 o H100. La QLoRA evita quasi tutto questo: il modello base resta congelato a 4 bit e si addestrano solo piccole matrici adapter.
Perché un modello che ci sta va comunque in crash con il contesto lungo
È la sorpresa più comune: il modello si carica, risponde alle prime domande, poi fallisce con “CUDA out of memory” quando incolli un documento lungo. I pesi ci stavano. La KV cache no.
La cache per token è 2 × layer × KV head × dimensione della head × byte. In fp16 risulta:
| Modello | KV cache per token | 8k token | 32k token | 128k token |
|---|---|---|---|---|
| Qwen3 8B | 0,15 MB | 1,2 GB | 4,8 GB | 19 GB |
| Qwen3 32B | 0,26 MB | 2,1 GB | 8,6 GB | 34 GB |
| Llama 3.3 70B | 0,33 MB | 2,7 GB | 10,7 GB | 43 GB |
Quindi un 70B a 4 bit su una scheda da 48 GB va bene a 8k token e finisce la memoria più o meno tra 10 e 12k. Al contesto dichiarato di 128k, la sola cache è grande quanto i pesi. Servire più utenti moltiplica la cache per il numero di conversazioni in parallelo.
Come risolvere senza una scheda più grande:
- Limita il contesto. In vLLM imposta
--max-model-len 16384. vLLM si rifiuta di partire se il contesto che chiedi non ci sta, ed è meglio che andare in crash dopo. In Ollama è la lunghezza del contesto (num_ctx) a decidere la memoria, quindi impostala di proposito invece di affidarti al default, che è cambiato tra una versione e l’altra. - Quantizza la cache.
--kv-cache-dtype fp8in vLLM, oppure-ctk q8_0 -ctv q8_0in llama.cpp (con flash attention attivo), dimezza la cache con poco effetto sulle risposte. - Limita le richieste in parallelo se servi un’API: meno conversazioni simultanee, meno cache.
Se il contesto lungo ti serve tutti i giorni, la soluzione più economica di solito è la scheda successiva: una da 80 GB per il 70B, o una RTX 5090 da 32 GB invece di una da 24 GB per il 32B.
Scegliere la scheda partendo dal numero
Prendi il numero dalle tabelle, aggiungi un 10–20% di margine e scegli la scheda più piccola sopra quel valore. Le schede vanno a gradini fissi: 10–12 GB, 16 GB, 24 GB, 32 GB, 48 GB, 80 GB, 96 GB, 141 GB e 192 GB. All’interno di un gradino la differenza è la velocità, non cosa puoi far girare: una RTX 3090 e una RTX 4090 hanno entrambe 24 GB. La 4090 genera immagini circa 1,6–2,5 volte più in fretta, ma il testo di un LLM solo un po’ più velocemente, perché la banda di memoria è simile (936 contro 1.008 GB/s). Confronta i loro prezzi orari, da 0,30 € e da 0,59 €, nella pagina dei prezzi.
Se hai dubbi, parti da un gradino sopra quello che pensi. La fatturazione è al minuto, quindi una scheda troppo grande ti costa qualche centesimo per il test, mentre una troppo piccola ti costa una serata di errori di memoria esaurita.