Hoeveel RAM heb je nodig voor een LLM?

Hoeveel geheugen een taalmodel nodig heeft, komt neer op drie getallen: hoeveel parameters het heeft, in hoeveel bits elke parameter is opgeslagen en hoeveel context je het geeft. Hier is de rekensom, uitgewerkt voor gangbare modelgroottes en voor elke Mac, zodat je hem voor elk model kunt maken.

Bijgewerkt

In het kort

  • Gewichten: parameters × bits per gewicht ÷ 8. Met het 4-bitformaat van MLX is dat ongeveer 0,56 GB per miljard parameters; op 8 bit ongeveer 1,06 GB, op 16 bit 2 GB.
  • Een 8B-model heeft dus ongeveer 4,5 GB nodig op 4 bit, een 32B-model ongeveer 18 GB en een 70B-model ongeveer 39 GB, nog zonder de context.
  • De context (KV-cache) komt daar bovenop en groeit met elke token: voor Qwen3 8B neemt een context van 32.000 tokens ongeveer 4,8 GB in, meer dan de 4-bitgewichten.
  • Op een Mac mag de GPU standaard ongeveer 75% van het unified memory gebruiken, dus een Mac met 16 GB heeft ongeveer 12 GB voor een model. Op een pc moet het model in het eigen VRAM van de grafische kaart passen om op volle snelheid te draaien.

1De regel: parameters × bits

Een model bestaat vooral uit zijn gewichten: één getal per parameter. Opgeslagen in 16 bit neemt elk getal 2 bytes in, dus een model heeft 2 GB per miljard parameters nodig. Kwantisatie slaat elk gewicht op in minder bits, waardoor het model bijna evenredig krimpt; op 4 bit blijven de meeste modellen dicht bij hun oorspronkelijke kwaliteit.

Gekwantiseerde formaten slaan ook wat extra gegevens op om de gewichten te reconstrueren. Apples MLX bewaart standaard een schaal en een bias voor elke groep van 64 gewichten, in het eigen 16-bittype van het model (MLX), wat een halve bit per gewicht toevoegt. Dat geeft deze groottes:

PrecisieBits per gewichtGB per miljard parameters
16 bit (origineel)162,0
8 bit8,5ongeveer 1,06
6 bit6,5ongeveer 0,81
4 bit4,5ongeveer 0,56
3 bit3,5ongeveer 0,44
2 bit2,5ongeveer 0,31
Affiene kwantisatie van MLX met de standaardgroepsgrootte van 64. GGUF-bestanden met dezelfde precisie zijn ongeveer even groot.

Onder 4 bit gaat de kwaliteit sneller achteruit. Een goede standaardkeuze is de hoogste precisie die ruim past.

2Geheugen voor gangbare modelgroottes

Modelgrootte16 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
Alleen de gewichten, volgens de regel hierboven. Tel de context en wat marge voor de runtime erbij op.

Sommige modellen verschijnen al in een eigen lage precisie. gpt-oss-120b van OpenAI heeft 117 miljard parameters en bewaart de gewichten van zijn experts in een 4-bitformaat, MXFP4, zodat het op één GPU van 80 GB past (OpenAI). Voor een bepaald model open je de eigen pagina: elk open model en de Mac die het nodig heeft, bijvoorbeeld gpt-oss-120b of Llama 3.3 70B.

3Ook de context kost geheugen

Terwijl een model leest en schrijft, bewaart het in elke laag een key en een value voor elke token van het gesprek: de KV-cache. Die is 2 × lagen × KV-heads × headgrootte × bytes per waarde × tokens groot.

Qwen3 8B heeft bijvoorbeeld 36 lagen, 8 KV-heads en een headgrootte van 128, opgeslagen in 16 bit (config). Dat is 147.456 bytes per token:

ContextKV-cache voor Qwen3 8B (16 bit)
8.192 tokensongeveer 1,2 GB
32.768 tokensongeveer 4,8 GB
40.960 tokens (de volledige context)ongeveer 6,0 GB
De gewichten op 4 bit zijn ongeveer 4,6 GB (8,2 miljard parameters), dus een lange context kan meer geheugen vragen dan het model zelf.

Modellen met grouped-query attention, zoals dit, hebben minder KV-heads dan attention-heads (8 tegenover 32), wat de cache al vier keer kleiner maakt. Je bespaart meer door de cache te kwantiseren: de server van mlx-lm accepteert --kv-bits 4 (mlx-lm). Voor chatten is een paar duizend tokens context ruim genoeg; voor agents, lange documenten of code reken je op enkele gigabytes.

4Hoe groot een model op een Mac past

Het geheugen van een Mac wordt gedeeld door de CPU en de GPU, en macOS laat de GPU standaard maar een deel ervan gebruiken. Onze pagina Compare rekent met ongeveer 75%; de README van mlx-lm laat zien hoe je de limiet verhoogt op macOS 15 of nieuwer met sudo sysctl iogpu.wired_limit_mb=N (mlx-lm), maar macOS en je andere apps hebben ook nog ruimte nodig.

Geheugen van de MacVoor de GPU (ongeveer 75%)Grootste model op 4 bitGrootste op 8 bit
8 GB6 GBongeveer 10Bongeveer 5B
16 GB12 GBongeveer 21Bongeveer 11B
24 GB18 GBongeveer 32Bongeveer 16B
32 GB24 GBongeveer 42Bongeveer 22B
36 GB27 GBongeveer 48Bongeveer 25B
48 GB36 GBongeveer 64Bongeveer 33B
64 GB48 GBongeveer 85Bongeveer 45B
96 GB72 GBongeveer 128Bongeveer 67B
128 GB96 GBongeveer 170Bongeveer 90B
256 GB192 GBongeveer 341Bongeveer 180B
512 GB384 GBongeveer 682Bongeveer 361B
Alleen de gewichten: houd daarvan een paar gigabyte vrij voor de context. Elke maat linkt naar de modellen die er goed in draaien.

Het geheugen bepaalt wat past; de geheugenbandbreedte bepaalt hoe snel het schrijft. De beste Mac voor lokale LLM's legt die tweede helft uit, en elke Mac gerangschikt zet beide naast elkaar.

5RAM, VRAM en unified memory

Op een pc met een grafische kaart draait een model alleen op volle snelheid als het in het eigen geheugen van de kaart past, het VRAM: 32 GB op een RTX 5090 (NVIDIA). Lagen die niet passen kunnen in plaats daarvan vanuit het systeem-RAM van de pc draaien, maar dat geheugen leest veel trager, dus het model wordt flink langzamer.

Een Mac heeft geen apart VRAM: de GPU leest hetzelfde unified memory als de CPU. Daarom kan een Mac met 64 GB of 128 GB modellen bevatten die op geen enkele consumentenkaart passen. Een paar pc's werken inmiddels op dezelfde manier, zoals NVIDIA's DGX Spark en machines met AMD Ryzen AI Max met 128 GB gedeeld tussen CPU en GPU: zie M5 Max vs DGX Spark en M5 Max vs RTX 5090.

6Mixture-of-experts-modellen

Een mixture-of-experts-model houdt al zijn parameters in het geheugen, maar gebruikt er per token maar een paar. Het geheugen volgt het totaal; de snelheid volgt het actieve deel. gpt-oss-20b heeft 21 miljard parameters, waarvan 3,6 miljard actief (OpenAI): het vraagt geheugen als een 21B-model en schrijft ongeveer zo snel als een 4B-model.

Daardoor passen mixture-of-experts-modellen goed bij Macs, die vergeleken met grafische kaarten meer geheugen dan bandbreedte hebben. Compare toont beide getallen voor elk populair model.

7Vragen

Hoeveel RAM heb ik nodig voor een 70B-model?
Ongeveer 39 GB voor de gewichten op 4 bit, plus de context: in de praktijk een Mac met 64 GB of meer, of meerdere grafische kaarten. Op 8 bit is het ongeveer 74 GB, dus 128 GB.
Is 16 GB RAM genoeg voor een LLM?
Ja, voor modellen tot ongeveer 14B parameters op 4 bit: een Mac met 16 GB geeft de GPU standaard ongeveer 12 GB. 8B-modellen draaien comfortabel met ruimte voor context. Zie de beste LLM's voor een Mac met 16 GB.
Hoeveel VRAM heeft een 8B-model nodig?
Ongeveer 4,5 GB op 4 bit, 8,5 GB op 8 bit en 16 GB op 16 bit, plus ongeveer 1,2 GB voor een context van 8.000 tokens in het geval van Qwen3 8B.
Kost de contextlengte geheugen?
Ja. De KV-cache groeit met elke token in het gesprek. Voor Qwen3 8B is dat ongeveer 147 KB per token op 16 bit: ongeveer 4,8 GB bij 32.000 tokens.
Kan ik een model draaien dat groter is dan mijn RAM?
Niet zinvol. Passen de gewichten niet, dan gaat het systeem swappen of lezen uit trager geheugen, en de output komt bijna tot stilstand. Kies een lagere precisie, een kleiner model of een mixture-of-experts-model, of verdeel het over meerdere machines: zie AI-clusters van Macs.

Bronnen

  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

Lees ook