Quanta RAM serve per eseguire un LLM?

La memoria che serve a un modello linguistico dipende da tre numeri: quanti parametri ha, in quanti bit è salvato ciascuno e quanto contesto gli dai. Ecco il calcolo, svolto per le dimensioni di modello più comuni e per ogni Mac, così puoi rifarlo per qualsiasi modello.

Aggiornato

In breve

  • Pesi: parametri × bit per peso ÷ 8. Con il formato a 4 bit di MLX sono circa 0,56 GB per miliardo di parametri; a 8 bit circa 1,06 GB, a 16 bit 2 GB.
  • Quindi un modello da 8B richiede circa 4,5 GB a 4 bit, uno da 32B circa 18 GB e uno da 70B circa 39 GB, prima del contesto.
  • Il contesto (KV cache) si aggiunge e cresce a ogni token: per Qwen3 8B, un contesto di 32.000 token occupa circa 4,8 GB, più dei suoi pesi a 4 bit.
  • Su un Mac la GPU può usare di default circa il 75% della memoria unificata, quindi un Mac da 16 GB ha circa 12 GB per un modello. Su un PC il modello deve stare nella VRAM della scheda grafica per girare alla massima velocità.

1La regola: parametri × bit

Un modello è fatto soprattutto dei suoi pesi: un numero per parametro. Salvato a 16 bit, ciascuno occupa 2 byte, quindi un modello richiede 2 GB per miliardo di parametri. La quantizzazione salva ogni peso in meno bit, e il modello si riduce quasi in proporzione; a 4 bit la maggior parte dei modelli resta vicina alla qualità originale.

I formati quantizzati salvano anche qualche dato in più per ricostruire i pesi. MLX di Apple tiene di default una scala e un bias per ogni gruppo di 64 pesi, nel tipo a 16 bit del modello stesso (MLX), il che aggiunge mezzo bit per peso. Ne risultano queste dimensioni:

PrecisioneBit per pesoGB per miliardo di parametri
16 bit (originale)162,0
8 bit8,5circa 1,06
6 bit6,5circa 0,81
4 bit4,5circa 0,56
3 bit3,5circa 0,44
2 bit2,5circa 0,31
Quantizzazione affine di MLX con la dimensione di gruppo predefinita di 64. I file GGUF alla stessa precisione hanno più o meno le stesse dimensioni.

Sotto i 4 bit la qualità cala più in fretta. Una buona regola è scegliere la precisione più alta che ci sta con margine.

2Memoria per le dimensioni di modello più comuni

Dimensione del modello16 bit8 bit4 bit3 bit
1B2 GB1,1 GB0,6 GB0,4 GB
3B6 GB3,2 GB1,7 GB1,3 GB
8B16 GB8,5 GB4,5 GB3,5 GB
14B28 GB14,9 GB7,9 GB6,1 GB
32B64 GB34 GB18 GB14 GB
70B140 GB74,4 GB39,4 GB30,6 GB
120B240 GB127,5 GB67,5 GB52,5 GB
235B470 GB249,7 GB132,2 GB102,8 GB
405B810 GB430,3 GB227,8 GB177,2 GB
671B1.342 GB712,9 GB377,4 GB293,6 GB
Solo i pesi, secondo la regola sopra. Aggiungi il contesto e un margine per il runtime.

Alcuni modelli vengono distribuiti già in una precisione bassa. gpt-oss-120b di OpenAI ha 117 miliardi di parametri e tiene i pesi mixture-of-experts in un formato a 4 bit, MXFP4, così sta su una sola GPU da 80 GB (OpenAI). Per un modello specifico, apri la sua pagina: ogni modello aperto e il Mac che gli serve, per esempio gpt-oss-120b o Llama 3.3 70B.

3Anche il contesto occupa memoria

Mentre legge e scrive, un modello tiene in ogni layer una chiave e un valore per ogni token della conversazione: la KV cache. La sua dimensione è 2 × layer × head KV × dimensione della head × byte per valore × token.

Qwen3 8B, per esempio, ha 36 layer, 8 head KV e una dimensione della head di 128, salvati a 16 bit (config). Sono 147.456 byte per token:

ContestoKV cache di Qwen3 8B (16 bit)
8.192 tokencirca 1,2 GB
32.768 tokencirca 4,8 GB
40.960 token (il suo contesto completo)circa 6,0 GB
I suoi pesi a 4 bit occupano circa 4,6 GB (8,2 miliardi di parametri), quindi un contesto lungo può richiedere più memoria del modello.

I modelli con grouped-query attention, come questo, hanno meno head KV che head di attenzione (8 contro 32), il che riduce già la cache di quattro volte. Puoi risparmiare ancora quantizzando la cache: il server di mlx-lm accetta --kv-bits 4 (mlx-lm). Per la chat bastano poche migliaia di token di contesto; per agenti, documenti lunghi o codice, metti in conto diversi gigabyte.

4Quanto è grande il modello che sta su un Mac

La memoria di un Mac è condivisa da CPU e GPU, e macOS di default lascia alla GPU solo una parte. La nostra pagina Confronta conta circa il 75%; il README di mlx-lm spiega come alzare il limite su macOS 15 o successivo con sudo sysctl iogpu.wired_limit_mb=N (mlx-lm), ma macOS e le altre app hanno comunque bisogno di spazio.

Memoria del MacPer la GPU (circa 75%)Modello più grande a 4 bitPiù grande a 8 bit
8 GB6 GBcirca 10Bcirca 5B
16 GB12 GBcirca 21Bcirca 11B
24 GB18 GBcirca 32Bcirca 16B
32 GB24 GBcirca 42Bcirca 22B
36 GB27 GBcirca 48Bcirca 25B
48 GB36 GBcirca 64Bcirca 33B
64 GB48 GBcirca 85Bcirca 45B
96 GB72 GBcirca 128Bcirca 67B
128 GB96 GBcirca 170Bcirca 90B
256 GB192 GBcirca 341Bcirca 180B
512 GB384 GBcirca 682Bcirca 361B
Solo i pesi: lascia qualche gigabyte per il contesto. Ogni taglio rimanda ai modelli che ci girano bene.

La memoria decide cosa ci sta; la larghezza di banda della memoria, quanto velocemente scrive. Il miglior Mac per LLM in locale spiega la seconda metà, e la classifica di tutti i Mac mette insieme le due cose.

5RAM, VRAM e memoria unificata

Su un PC con scheda grafica, un modello gira alla massima velocità solo se sta nella memoria della scheda, la VRAM: 32 GB su una RTX 5090 (NVIDIA). I layer che non ci stanno possono girare dalla RAM di sistema del PC, ma quella memoria è molto più lenta da leggere, quindi il modello rallenta parecchio.

Un Mac non ha una VRAM separata: la GPU legge la stessa memoria unificata della CPU, ed è per questo che un Mac con 64 GB o 128 GB può contenere modelli che nessuna singola scheda grafica consumer riesce a contenere. Ora alcuni PC funzionano allo stesso modo, come DGX Spark di NVIDIA e le macchine AMD Ryzen AI Max con 128 GB condivisi tra CPU e GPU: vedi M5 Max vs DGX Spark e M5 Max vs RTX 5090.

6Modelli mixture-of-experts

Un modello mixture-of-experts tiene in memoria tutti i suoi parametri ma ne usa solo pochi per ogni token. La memoria segue il totale; la velocità, la parte attiva. gpt-oss-20b ha 21 miliardi di parametri, di cui 3,6 miliardi attivi (OpenAI): richiede la memoria di un modello da 21B e scrive veloce più o meno come uno da 4B.

Per questo i modelli mixture-of-experts sono adatti ai Mac, che rispetto alle schede grafiche hanno più memoria che larghezza di banda. Confronta mostra entrambi i numeri per ogni modello popolare.

7Domande

Quanta RAM serve per eseguire un modello da 70B?
Circa 39 GB per i pesi a 4 bit, più il contesto: in pratica un Mac con 64 GB o più, oppure più schede grafiche. A 8 bit servono circa 74 GB, quindi 128 GB.
16 GB di RAM bastano per eseguire un LLM?
Sì, per modelli fino a circa 14B parametri a 4 bit: un Mac da 16 GB dà di default circa 12 GB alla GPU. I modelli da 8B girano comodamente con spazio per il contesto. Vedi i migliori LLM per un Mac da 16 GB.
Quanta VRAM serve per un modello da 8B?
Circa 4,5 GB a 4 bit, 8,5 GB a 8 bit e 16 GB a 16 bit, più circa 1,2 GB per un contesto di 8.000 token nel caso di Qwen3 8B.
La lunghezza del contesto usa memoria?
Sì. La KV cache cresce a ogni token della conversazione. Per Qwen3 8B sono circa 147 KB per token a 16 bit: circa 4,8 GB a 32.000 token.
Posso eseguire un modello più grande della mia RAM?
Non in modo utile. Se i pesi non ci stanno, il sistema usa lo swap o legge da una memoria più lenta, e l'output rallenta fino quasi a fermarsi. Usa una precisione più bassa, un modello più piccolo o un modello mixture-of-experts, oppure distribuiscilo su più macchine: vedi cluster di Mac per l'AI.

Fonti

  1. MLXml-explore.github.io
  2. OpenAIhuggingface.co
  3. confighuggingface.co
  4. mlx-lmgithub.com
  5. mlx-lmgithub.com
  6. NVIDIAnvidia.com
  7. OpenAIhuggingface.co

Leggi anche