CSuite
ExplainerLocal AIHardwareJuly 6, 202610 min read

How much RAM and VRAM you actually need to run local AI

“Double the parameters” is wrong. The memory a local model needs is one subtraction, and your laptop's spec sheet already answers it.

By Atul
The memory bill · one small model
What it costs
Three lines decide it. Then one subtraction.
Model weights
Llama 3.1 8B at 4-bit
4.9 GB
Context
8K tokens, KV cache
1.0 GB
System + framework
OS, buffers, overhead
~2 GB
Must fit in memory
the whole bill, added up
~8 GB
Your 16 GB laptop
fits, with room to spare
Weight size from Ollama. Every model you run is a bill with these three lines. This post shows you how to read it, then check it against your own machine.

Here is the question behind almost every “can I run local AI” search: you have a laptop with some amount of memory in it, you have a model you want to run, and you want to know if the first is big enough for the second. That is the entire problem. It is a subtraction, and once you can do it in your head you never have to guess again.

The trouble is that most answers online are either a hand-wavy “you need a good GPU” or a wrong oversimplification. You’ll see the rule “take the parameter count and double it” passed around as gospel. It ignores the two things that actually move the number: how much you shrink the model, and how much text you feed it. Get those wrong and you either buy hardware you don’t need or download a model that won’t load.

The memory a local model needs is a short formula: the model’s weights, plus a tax for your context window, plus a slice for the system. Add them up and compare against your memory. That comparison decides everything. This post builds that formula in plain English, hands you a table you can read your own machine off of, and explains the one trap that makes a Mac and a PC count their memory differently.

Memory is the wall, not speed

First, a correction to a common instinct. People assume the bottleneck for running AI at home is raw speed: a faster chip, more cores. Speed decides how quickly words come out. Memory decides whether the model runs at all. A model that doesn’t fit in memory does not run slowly. It does not run.

The reason is simple. To generate each word, the machine has to have every one of the model’s weights available to read. Those weights live in memory. If the model is 40 GB and your usable memory is 16 GB, there is nowhere to put it. This is why the memory number, not the gigahertz number, is the gate. Everything below is about calculating that memory number and reading it off your machine.

A macro photograph of a green computer RAM module with gold contacts and black memory chips.
Every weight in a model has to sit in memory to be used. The size of that memory is the one number that decides what you can run. Photo by Liam Briese on Unsplash.

A model’s size is params times bytes

A language model is a giant list of numbers called weights. An “8B” model has 8 billion of them. The memory those weights take is nothing more than how many there are multiplied by how many bytes you spend storing each one.

That second number is set by precision. Models are trained at 16-bit precision, which is 2 bytes per weight. So the raw, full-quality 8B model is 8 billion times 2 bytes, or about 16 GB. A 70B model at full precision is 140 GB. That is the source of the “double the parameters” rule, and for the versions labs first release, it is roughly right.

Almost nobody runs those versions at home. Instead they run a quantized copy: the same model with each weight rounded to fewer bits. Drop to 8-bit and you halve the size to 1 byte per weight. Drop to 4-bit, the popular default, and each weight costs about half a byte. The 16 GB model becomes a 5 GB one, and in ordinary use you cannot tell them apart. The precision you pick, not the parameter count alone, sets the bill.

About 0.6 GB per billion at 4-bit

Here is the rule of thumb worth memorizing. At 4-bit, the format most people run, a model’s download is close to 0.6 GB per billion parameters. An 8B model is a 4.9 GB file on Ollama; a 70B model is 43 GB. Both land right on that 0.6 line, because the common 4-bit format spends a little over 4 bits per weight, not exactly four.

Why 0.6 and not the 0.5 the raw math suggests? The good 4-bit builds keep a few weights at higher precision where it matters, so the real file runs slightly heavier than the theoretical minimum. Rounding the rule up to 0.6 gets you an honest number instead of a hopeful one. At 8-bit, use about 1 GB per billion; at full 16-bit, about 2 GB per billion.

The master table: size to memory
Download size at two common quants, and the memory a machine needs to run the 4-bit copy comfortably at everyday context.
Params
8-bit
4-bit
RAM to run
Example
3B
~3 GB
~2 GB
8 GB
Llama 3.2 3B
8B
~8.5 GB
4.9 GB
16 GB
Llama 3.1 8B
14B
~15 GB
~9 GB
16–24 GB
Qwen3 14B
32B
~34 GB
~20 GB
32 GB
Qwen3 32B
70B
~75 GB
43 GB
64 GB
Llama 3.1 70B
The 4-bit anchors (8B at 4.9 GB, 70B at 43 GB) are real Ollama download sizes. Both land near 0.6 GB per billion parameters, which is the number to keep in your head.

One wrinkle for the newer models. A “mixture of experts” model like some of the 120B-class releases stores all its weights in memory but only uses a fraction for each word. That means it costs memory like its full size (a 120B MoE still needs roughly 65 GB at 4-bit) while running at the speed of a much smaller one. For the memory question, count the total parameters, not the active ones.

Your context window is a second bill

The weights are only the first line of the bill. The second is the part the “double the parameters” crowd forgets entirely: the model also has to remember the conversation so far, and that memory grows with every word. It is called the KV cache, and for long inputs it can cost more than the model itself.

The size depends on the model’s internal shape, but the behavior is the thing to remember: the cache grows in a straight line with how much text is in play. Double the context, double this cost. At the short prompts of everyday chat, it is a rounding error. At the giant context windows the marketing brags about, it is enormous.

The context tax, in gigabytes
KV-cache memory as the conversation gets longer, for two Llama models (16-bit cache). At the maximum, the cache dwarfs the model.
4K
a long chat
8B: 0.5 GB
70B: 1.3 GB
32K
a big document
8B: 4 GB
70B: 10.5 GB
128K
the max
8B: 16 GB
70B: 42 GB
Computed from each model’s layer and attention-head counts using the standard KV-cache formula. An 8-bit cache halves every number here.

Look at what happens to the 8B model. At a normal chat length of a few thousand tokens, its cache is well under a gigabyte, easy to ignore. Fill its full 128K window and the cache balloons to 16 GB, more than three times the size of the 5 GB model. This is the quiet reason a model that loaded fine yesterday runs out of memory when you paste in a long document today.

It is also why the advertised context window and the usable one diverge, a gap worth understanding on its own (your million-token window is lying to you). Two practical levers help: run a shorter context if you don’t need the whole window, and use an 8-bit KV cache, which halves every number in that figure for a barely perceptible quality cost.

On a Mac, RAM is VRAM minus a quarter

Now the part that trips everyone up: your machine’s memory number and its usable memory number are not the same, and how they differ depends on what kind of computer you have.

Apple Silicon Macs use unified memory, one shared pool the processor and the graphics chip both draw from. There is no separate “graphics memory.” Your RAM is your video memory. That is a gift: a 64 GB MacBook can devote most of that 64 GB to a model, something no consumer graphics card comes close to.

The catch is a reservation. macOS caps how much of the pool the graphics chip can claim, through a Metal setting called recommendedMaxWorkingSetSize. The practical numbers: about 75% of RAM is available for the model on machines with 64 GB or more, and closer to two-thirds on smaller ones, with the rest held back for the operating system. So a 16 GB Mac gives you roughly 12 GB to work with, a 32 GB Mac about 22 GB, a 64 GB Mac about 48 GB, and a 128 GB Mac about 96 GB.

An Apple Silicon MacBook resting closed on a wooden table.
Apple Silicon shares one pool of memory between the processor and the graphics chip, which is why a 64 GB MacBook can hold a model a pricey discrete GPU can’t. Photo by Yudhajit Ghosh on Unsplash.

Two consequences follow. First, a 32 GB Mac behaves like a 24 GB graphics card for this purpose, not a 32 GB one, because the OS takes its cut off the top. Second, power users can raise the cap. The reservation is a soft limit set by a kernel parameter, and a one-line sudo sysctl iogpu.wired_limit_mb command can push it higher on a machine with memory to spare. Leave the OS a few gigabytes and you can reclaim most of that reserved quarter.

On a PC, only the GPU number counts

A Windows or Linux desktop with a discrete graphics card works the opposite way, and it is stricter. The card has its own dedicated memory, called VRAM, and that is the only pool that runs a model at full speed. Your 64 GB of system RAM does not help. A model has to fit in the VRAM on the card, and the number that matters is the one printed on the box: 8 GB, 12 GB, 16 GB, 24 GB.

You canspill the overflow into system RAM. Tools will let a model straddle both. But the moment part of the model lives outside VRAM, speed collapses, because the graphics chip has to reach across a slow bus for those weights on every single word. A model that half-fits your card doesn’t half-run. It grinds. For a PC, the honest rule is: pick a model that fits inside VRAM, with headroom for the context tax on top.

A close-up of a GeForce RTX graphics card with its cooling shroud and fans.
On a PC, only the memory soldered onto the graphics card counts. Spilling a model into system RAM works, but it crawls. Photo by Christian Wiediger on Unsplash.

This is why, on the PC side, VRAM is the single spec that matters more than any other, and why an older 24 GB card can beat a newer 12 GB one for AI even if the newer card is faster at games. A 24 GB card such as an RTX 3090 or 4090 holds a 32B model at 4-bit; a 12 GB card tops out around an 8B. The generational speed bump is nice. The extra memory is what lets you run the bigger model at all.

What your machine actually runs

Put it together and you can read your own machine off a single table. Work out your usable memory first (about 75% of RAM on a Mac, the VRAM figure on a PC), then find your row.

Your usable memory, your models
8 GB usable
3–4B at 4-bit
Llama 3.2 3B, Gemma 3 4B, Phi-mini
16 GB usable
7–8B (14B tight)
Llama 3.1 8B, Qwen3 8B
24 GB usable
14B (32B tight)
Qwen3 14B, RTX 3090/4090
48 GB usable
32B comfortably
Qwen3 32B, Gemma 3 27B
96 GB usable
70B, or a 120B MoE
Llama 3.1 70B with long context
“Usable” is the key word. On a Mac, it is about 75% of your RAM; on a PC, it is the number printed on the GPU box. The next two sections explain why.

The pattern is clean once the two-column trap is behind you. Eight gigabytes of usable memory runs a genuinely useful small model. Sixteen is the sweet spot for the 7-8B models most people should start with. Twenty-four opens up the mid-sized 14B tier and, at a squeeze, the 32B one. Getting to a 70B model means 48 GB or more of usable memory, which in practice means a high-memory Mac or a multi-card PC build. For most readers, the honest ceiling is a 14B or 32B model, and that is already very good.

If you are shopping rather than checking, the buying lesson falls straight out of the formula: buy memory, not clock speed. On a Mac, configure more unified RAM than you think you need, because it is soldered and you cannot add it later. On a PC, spend on the card with the most VRAM you can afford before you spend on anything else.

The subtraction to remember

Strip it to a sentence. Take your model’s parameter count, multiply by 0.6 for a 4-bit copy, add a gigabyte or two for context and system, and check it against your usable memory: 75% of RAM on a Mac, the VRAM number on a PC. If your memory is bigger, it runs. If it isn’t, drop to a smaller model or a heavier quant until it fits.

That is the whole discipline. Memory is the wall, weights and context are the two things stacked against it, and the quant level is the dial you turn to make them fit. With that, you can look at any model page and any spec sheet and know, before you download a single byte, whether the two will meet. When they do, the payoff is a capable model running entirely on your own machine, with no bill and no data leaving your desk.

More reading
Launch offer · 50% off

One-time payment. Yours forever.

No subscriptions. No seats. No renewals. Buy CSuite once, future updates included.

$98$49
Pricing

Secure checkout via Stripe. Already have a license? Download the app