The essentials
Two questions, in this order
They are not interchangeable. The first one is binary: it fits or it does not. Only if the answer is “it fits” does the second question exist at all.
Does the model fit?
The memory on the card (VRAM) or the unified memory on a Mac. If the model does not go in, that is the end of it — there is no trick. It spills to disk and speed collapses to numbers that are not worth your time.
Will it be fast?
Memory bandwidth. To write each fragment of a word, the model re-reads its entire set of weights. The faster memory delivers, the more words per second land on screen.
The calculation that settles 90% of the doubts
theoretical tokens/s = bandwidth (GB/s) ÷ GB read per token
tokens/s in practice ≈ 75% of that number
An example that comes up a lot: the DGX Spark has 128 GB of memory and 273 GB/s of bandwidth. A compressed 70-billion-parameter model weighs about 40 GB. So 273 ÷ 40 ≈ 6.8 tokens/s at the ceiling, and about 4.5 in practice. It fits with room to spare — and it is slower than you read.
On the other side, the RTX 5090 has 1792 GB/s, the fastest memory in consumer hardware. But it has 32 GB. That same 40 GB model does not go in. The fastest conveyor belt on the market, standing still, because the box does not fit on it.
Two expensive machines, each answering a different question well. That is why “which is the best card for AI” is a badly formed question.
Before anything else
What do you want it for?
The use decides the model size, and the size decides the machine. Most people choose in the opposite order — they buy the card, then look for what it runs. That's where the money goes wrong.
Task, and the model size it really takes
| Use | Minimum | Comfortable | Does speed matter? | Note |
|---|---|---|---|---|
| Autocomplete, short text | 3B | 4–8B | Yes, it's interactive | Any modern card handles it |
| Summarise, extract, classify | 7–8B | 12–14B | No — runs in batches | The most underrated case on the list |
| Ask your own documents (RAG) | 8B | 14B | Yes, it's interactive | The search does the heavy lifting, not the model |
| Translation | 8B | 14B | No — runs in batches | |
| Scripted customer support | 8B | 14–27B | Yes, and multi-user | See the multi-user warning below |
| Writing with real quality | 14B | 27B+ | Yes, it's interactive | This is where a size jump really shows |
| An agent that carries out tasks | 14B | 32B+ | Yes, it's interactive | It has to follow instructions precisely |
| Programming for real | 32B | 70B+ | Very much | Where local loses most to the cloud |
| Complex reasoning, maths | 32B | the largest that fits | Yes, it's interactive |
The four reasons people run local
1. Privacy, sensitive data, legal duty.The strongest reason — and the one that demands the least machine. Client files, medical records, contracts, payroll: they cannot leave the building, full stop. To ask questions of your own documents, a well-built 8B to 14B model does the job, because the heavy lifting is done by the search across the documents, not by the size of the model. It's the best case for local AI and the cheapest to set up. Anyone buying a top-end machine for this has overspent.
2. A service running on its own— the office chat, the company's messaging channel, customer support. Here the machine stays on and serves several people at the same time. That changes the arithmetic: the number on this page is for one conversation at a time, and it is not the right metric for this case. See below.
3. A repetitive job in batches— take a pile of PDFs, sort them, extract data, fill a spreadsheet. Speed does not matter. You leave it running overnight and collect the result in the morning. A model at 3 tok/s does the work. Here you buy memory, not bandwidth — it's the one case on this page where being slow is acceptable.
4. Programming.The most demanding case and the most badly bought. Autocompleting a line is something a 3B does. Programming for real — reading several files, understanding the project, refactoring without breaking things — starts to work at 32B and gets good from 70B upwards. And you sit in front of the screen waiting, so speed matters a lot. It's the most expensive combination there is: a large model and high bandwidth.
Choose in this order: use → model size → machine. The people who regret the purchase are the ones who went the other way.
Before you spend money
The 8 mistakes that make someone buy the wrong machine
They all come from the same root: looking at one number only, or looking at the number the store chose to show you.
“I bought 12 GB, so it runs AI.”
GB tells you if it fits. GB/s tells you if it is any use.
An RTX 3060 with 12 GB has 360 GB/s. An RTX 5070 also has 12 GB, but 672 GB/s — nearly twice the speed on the same model. Same “capacity”, completely different experiences. No store shows that second number on the product card.
“8 GB is enough to start, and later I will run the big models.”
It is not, and no software update fixes it.
8 GB runs 3B to 8B models very well. It does not run 27B and it does not run 70B — not even with the most aggressive compression, because the weights of a 70B alone ask for ~40 GB. Card memory is not expandable. It is the one part of a PC you never upgrade: you replace it.
“I have 32 GB of system RAM, so I can run a 30 GB model.”
It does fit. And it crawls at 1–2 tokens/s.
Ordinary PC RAM (dual-channel DDR5) delivers ~90 GB/s. The VRAM on a 5090 delivers 1792. That is twenty times slower. The model loads, it answers — and you wait minutes for a paragraph. Try it in the calculator with the “CPU + RAM” preset: the number speaks for itself.
“The file is 6.6 GB, so it fits on my 8 GB card.”
File on disk ≠ memory in use.
On top of the weights come the conversation context (the KV cache), the runtime and the system. A 6.6 GB file on disk reached 17.9 GB in real use. A 3B model of 1.8 GB went to 8.4 GB with a large document. Always leave headroom.
“My processor has a 50 TOPS NPU, it is an AI machine.”
TOPS does not generate tokens. Bandwidth does.
An NPU is excellent for transcription, computer vision and camera effects. It does not solve the LLM bottleneck, which is reading the weights from memory over and over. A mini PC with a big NPU and a 128-bit memory bus is a work machine with AI thrown in — not an AI machine.
“I will link two computers and double the speed.”
A cluster makes things fit. It almost never makes them run.
In a test with 5 Mac Studios on a 10GbE network, a small model dropped from 117 to 29 tokens/s. The cable is orders of magnitude slower than internal memory. Clusters exist to run what would not fit in a single box, accepting that it gets slower.
“I am going to have ChatGPT running at home.”
You are going to have a good, private, smaller model.
Frontier models have hundreds of billions to trillions of parameters and run in a datacenter. What fits in your house is excellent for writing, code, summarising, RAG over private documents and automation — and it is not the same thing. Buying while expecting parity is the shortest path to disappointment.
“I'll stack three cards and it gets three times faster.”
Three cards = three times the room, the same speed.
The default mode splits the model by layers and runs one card at a time, so bandwidth doesn't add up. A real setup with three RTX 4090s on a 70B measured 10–14 tok/s — the speed of a single card, with the memory of three. Stacking is how you fit what didn't fit; it isn't how you go faster.
Quick diagnosis
What actually runs in each memory tier
Assuming ~Q4 compression (the standard for running at home), a normal-sized conversation, and subtracting what the operating system already occupies. If all you want to know is “is my card good enough”, this is the table.
| Memory | Example cards | Runs well | At the edge | Forget it | Good for |
|---|---|---|---|---|---|
| 4 GB | GTX 1650, older iGPU | up to 3B | 3B with short context | 8B+ | Playing around, autocomplete, short tasks. |
| 8 GB | RTX 3050, 4060, 5060 | 3B–8B | light MoE (~4.6 GB) | 27B, 70B | Writing assistant, summaries, simple code. An honest entry tier. |
| 12 GB | RTX 3060, 4070, 5070 | 8B comfortably | 14B; 27B only heavily compressed and with no headroom | 32B, 70B | The value sweet spot at the entry level. Still not the “big model” tier. |
| 16 GB | RTX 4080, 5070 Ti, 5080, 16 GB Mac | 8B–14B | 27B only with aggressive compression (~14.6 GB); the standard 17 GB build does not fit | 32B, 70B | Serious daily use. Careful: a 4K monitor plus the system already eat ~3 GB. |
| 24 GB | RTX 3090, 4090, 24 GB Mac | 27B–32B | 32B with a large context | 70B | A genuinely professional tier. A used 3090 is still the best GB per dollar. |
| 32 GB | RTX 5090, Strix Halo, Arc B390 | 27B–32B with headroom | MoE 30B-A3B | dense 70B (~40 GB) | On a 5090, prefer being very fast at what fits over forcing what does not. |
| 48–64 GB | Mac Pro/Max 64 GB, Strix Halo 64 | compressed 70B | 70B with long context | dense 120B | The first tier that really runs 70B. Speed depends on the machine's bandwidth. |
| 96–128 GB | Mac Max/Ultra, DGX Spark, Strix Halo 128 | 70B, MoE 120B | 70B at high quality | 600 GB+ models | Here the question becomes bandwidth only: Spark (273 GB/s) fits everything and is slow; Ultra (1200) fits everything and flies. |
| System RAM (no GPU) | DDR4 ~51 GB/s · DDR5 ~90 GB/s | 3B | 8B (slow) | anything above 14B in practice | Fits a lot and moves very little. Good for testing, not for using. |
“Runs well” = fits with context headroom and delivers usable speed for that class of card. Different bandwidths at the same capacity change the experience — use the calculator below for your case.
Stacking cards
Two cards, three cards — does it get faster?
It's the first thing people think of when they read that a 70B doesn't fit. The answer is worth knowing before you spend: stacking cards buys you room, not speed.
What actually happens
In the mode everyone actually uses (layer-split, the default in llama.cpp, Ollama and LM Studio), the model is sliced by layers across the cards. To produce one token, card 1 runs its layers, hands the result to card 2, and so on — one at a time. Add it up and three identical cards behave exactly like one card of that bandwidth with three times the memory.
3 cards × (one third of the weights ÷ 1008 GB/s) = all the weights ÷ 1008 GB/s
So the memory adds up and the speed does not. It's the same lesson as the Mac cluster that dropped from 117 to 29 tok/s — this time inside a single case.
A real setup
Three RTX 4090s (24 GB, 1008 GB/s each) on a mining motherboard with PCIe 4x slots, running a 70B: 10–14 tok/s measured. If bandwidth added up, that would be around 57. One card's bandwidth against a 70B at Q5/Q6 predicts 13–16. The measurement lands on the prediction.
Why the slow slots don't ruin it
In layer-split, what crosses the bus between cards is the activation tensor at the seam — a few MB per token, not the weights. That's why a mining board with 4x slots works fine for one conversation at a time. PCIe matters for loading the model and for tensor-parallel mode. Practical consequence: don't spend on a top-end motherboard with multiple x16 slots to run local AI at home. That money buys more VRAM.
When bandwidth really does add up
In tensor-parallel (vLLM, or --split-mode row in llama.cpp), every layer is divided across the cards and they work together. Effective bandwidth then approaches the sum — but it needs a fast interconnect (NVLink, or at least PCIe x8/x16), because the cards synchronise at every layer. On x4 mining risers, tensor-parallel ends up worse than layer-split. Serving many users at once also exploits several cards well; this page is about one conversation at a time.
The bill nobody mentions
Three RTX 5090s draw about 1725 W on their own; with the rest of the machine, roughly 1925 W. A 127 V / 15 A circuit tops out at 1905 W and should not be run continuously above ~1524 W. Three 5090s do not fit on an ordinary household circuit of that kind — it takes a dedicated line, a 220 V circuit, or fewer cards. Three 4090s (~1550 W total) are already over the continuous limit. Add the heat: that's a small oven running in the room.
What the build actually needs
- Don't mix card models. In layer-split the slowest one drags the whole chain, in proportion to how much of the model it holds. Four identical cards beat two fast ones plus two slow ones. That applies across generations of the same brand too.
- Motherboard: count the slots before you count the cards. You need one PCIe slot per card. Ordinary desktop boards have one or two usable ones. Dual-socket Xeon server boards, common on the used market, reach four or more — typically two at 16x and the rest at 1x — and take 64 to 512 GB of cheap RAM.
- A 1x slot works, but it charges you at load time. Once the model is in memory the bus is barely used: only the activation tensor crosses it, a few MB per token. But loading 40 GB through a ~1 GB/s slot takes minutes. Once loaded, the speed is the same as on a 16x. A narrow bus costs patience up front, not performance afterwards.
- System RAM: 16 GB is the floor. It is used to load the model before handing it to the cards, and for whatever runs on the CPU. With many cards, 32 GB is more comfortable.
- Operating system: Linux is the normal route for a multi-card build, and Ubuntu is the best documented.
The short version
- Want to fit a bigger model? Stacking works, and it's often the cheapest way to reach 48 or 72 GB.
- Want more speed on a model that already fits? Stacking does nothing. Buy one faster card instead.
- Mixing different cards? The slow one drags the whole chain, proportional to how much of the model it holds.
- Check the wall socket and the PSU before the graphics card. It's the constraint people discover last.
One honest caveat: in practice you lose a little VRAM per card (driver context, buffers) and a little speed at the seam between layers. The calculation above is the ceiling.
Idle hardware
Got a mining rig sitting in the garage?
When Ethereum left proof-of-work, a lot of people were left with several identical cards, a serious power supply and a motherboard with plenty of slots. That is a usable shape — for one kind of model, and not the one you would guess.
The finding, and it is counter-intuitive
A rig has a lot of memory added up and modest bandwidth. That is bad for a dense model and excellent for MoE, because MoE occupies a lot of memory and reads little per token. It is exactly the shape of the hardware. Run through this page's own formula, on 6 × RTX 3060 12G (72 GB, 360 GB/s):
| Model | tok/s | Reading |
|---|---|---|
| 70B dense | 6.4 | usable |
| MoE 35B-A3B (reads 3B) | 148.5 | outpaces reading |
Note what does not fit: a 120B MoE asks about 73 GB of weights, and on top of that go the context and 1.5 GB of runtime per card. On six 12 GB cards that overflows the 72 GB. The rig runs MoE well — up to the size its memory actually holds.
Required caveat: the formula overestimates MoE — routing between experts charges its own price. The real number lands well below. The qualitative conclusion holds with room to spare: if you have a rig, look for MoE.
Which rig cards are worth reusing
| Card | VRAM | Bandwidth | Worth it? |
|---|---|---|---|
| RTX 3090 24G | 24 GB | 936 GB/s | the best case |
| RTX 3080 10G | 10 GB | 760 GB/s | yes |
| RTX 3070 8G | 8 GB | 448 GB/s | yes, models up to 8B |
| RTX 3060 12G | 12 GB | 360 GB/s | best GB per unit of money |
| RX 570/580 8G | 8 GB | 256 GB/s | works, support is more work |
| GTX 1660 6G | 6 GB | 192 GB/s | little memory, small models only |
| P106-100 6G | 6 GB | 192 GB/s | no video output, avoid |
Rule: below 8 GB per card it barely pays. An 8B with context already does not fit in 6 GB.
The electricity bill, which is what kills it
A rig of 6 × RTX 3060 12G pulls about 1170 W. Running 24 hours a day that is roughly 842 kWh a month — the practitioner who reported this pays about 1 real per kWh, so around R$ 850. Whoever used to mine knows this bill. The difference is that now there is no coin reward to offset it. Switch the rig on when you are going to use it, don't leave it standing all day. For a mid-sized model, one or two cards do the job at a fraction of that.
The Xeon option: cheap memory instead of cards
A dual-Xeon server board with 8 channels of DDR4 delivers around 150 GB/s — comparable to a modern mini PC — and takes 128 to 512 GB of cheap RAM. Same lesson: MoE turns wide, cheap hardware into a usable machine. It does not rescue a large dense model.
| Model on system RAM | tok/s |
|---|---|
| 70B dense | 2.7 |
| MoE 120B (reads 5.1B) | 36.4 |
Side by side
The same model on every machine
Change the model in the calculator above and this whole table rebuilds. Sorted by what fits, fastest to slowest. Machines that do not fit show the speed they would have — struck through, because it is hypothetical.
| Hardware | Type | GB | Bandwidth | Fits | tok/s |
|---|---|---|---|---|---|
| NVIDIA GPU | 32 | 1,792 | yes | 277.1 | |
| NVIDIA GPU | 96 | 1,792 | yes | 277.1 | |
| NVIDIA GPU | 96 | 1,597 | yes | 247.0 | |
| NVIDIA GPU | 48 | 1,344 | yes | 207.8 | |
| NVIDIA GPU | 72 | 1,344 | yes | 207.8 | |
| NVIDIA GPU | 24 | 1,344 | yes | 207.8 | |
| Apple | 256 | 1,200 | yes | 185.6 | |
| Apple | 96 | 1,200 | yes | 185.6 | |
| Apple | 512 | 1,200 | yes | 185.6 | |
| NVIDIA GPU | 24 | 1,008 | yes | 155.9 | |
| NVIDIA GPU | 16 | 960 | yes | 148.5 | |
| NVIDIA GPU | 24 | 936 | yes | 144.7 | |
| NVIDIA GPU | 16 | 896 | yes | 138.6 | |
| NVIDIA GPU | 32 | 896 | yes | 138.6 | |
| Apple | 256 | 819 | yes | 126.6 | |
| NVIDIA GPU | 32 | 800 | yes | 123.7 | |
| NVIDIA GPU | 10 | 760 | yes | 117.5 | |
| NVIDIA GPU | 16 | 717 | yes | 110.9 | |
| NVIDIA GPU | 12 | 672 | yes | 103.9 | |
| NVIDIA GPU | 24 | 672 | yes | 103.9 | |
| AMD GPU | 16 | 640 | yes | 99.0 | |
| AMD GPU | 16 | 640 | yes | 99.0 | |
| AMD GPU | 32 | 640 | yes | 99.0 | |
| AMD GPU | 32 | 640 | yes | 99.0 | |
| AMD GPU | 32 | 640 | yes | 99.0 | |
| AMD GPU | 32 | 640 | yes | 99.0 | |
| Apple | 128 | 614 | yes | 94.9 | |
| Apple | 48 | 614 | yes | 94.9 | |
| Apple | 64 | 614 | yes | 94.9 | |
| Intel GPU | 32 | 608 | yes | 94.0 | |
| Intel GPU | 32 | 608 | yes | 94.0 | |
| Apple | 128 | 546 | yes | 84.4 | |
| NVIDIA GPU | 12 | 504 | yes | 77.9 | |
| Apple | 36 | 460 | yes | 71.1 | |
| Intel GPU | 12 | 456 | yes | 70.5 | |
| Intel GPU | 24 | 456 | yes | 70.5 | |
| NVIDIA GPU | 16 | 448 | yes | 69.3 | |
| NVIDIA GPU | 8 | 448 | yes | 69.3 | |
| NVIDIA GPU | 8 | 448 | yes | 69.3 | |
| NVIDIA GPU | 24 | 432 | yes | 66.8 | |
| AMD GPU | 12 | 432 | yes | 66.8 | |
| Intel GPU | 10 | 380 | yes | 58.8 | |
| NVIDIA GPU | 12 | 360 | yes | 55.7 | |
| No GPU (CPU + RAM) | 256 | 358.4 | yes | 55.4 | |
| NVIDIA GPU | 8 | 320 | yes | 49.5 | |
| AMD GPU | 16 | 320 | yes | 49.5 | |
| AMD GPU | 8 | 320 | yes | 49.5 | |
| Apple | 64 | 307 | yes | 47.5 | |
| Apple | 24 | 307 | yes | 47.5 | |
| Apple | 48 | 307 | yes | 47.5 | |
| NVIDIA GPU | 16 | 288 | yes | 44.5 | |
| NVIDIA GPU | 8 | 288 | yes | 44.5 | |
| NVIDIA GPU | 16 | 288 | yes | 44.5 | |
| AMD GPU | 8 | 288 | yes | 44.5 | |
| Apple | 64 | 273 | yes | 42.2 | |
| Apple | 24 | 273 | yes | 42.2 | |
| Unified memory (PC) | 128 | 273 | yes | 42.2 | |
| Unified memory (PC) | 192 | 273 | yes | 42.2 | |
| NVIDIA GPU | 8 | 272 | yes | 42.1 | |
| Unified memory (PC) | 128 | 256 | yes | 39.6 | |
| Unified memory (PC) | 64 | 256 | yes | 39.6 | |
| Unified memory (PC) | 32 | 256 | yes | 39.6 | |
| Intel GPU | 16 | 224 | yes | 34.6 | |
| Apple | 24 | 170 | yes | 26.3 | |
| Apple | 32 | 170 | yes | 26.3 | |
| Unified memory (PC) | 32 | 153.6 | yes | 23.8 | |
| Apple | 16 | 153 | yes | 23.7 | |
| Apple | 24 | 153 | yes | 23.7 | |
| Apple | 32 | 153 | yes | 23.7 | |
| Apple | 16 | 120 | yes | 18.6 | |
| No GPU (CPU + RAM) | 64 | 89.6 | yes | 13.9 | |
| No GPU (CPU + RAM) | 32 | 89.6 | yes | 13.9 | |
| No GPU (CPU + RAM) | 32 | 51.2 | yes | 7.9 |
Which model to download
Catalogue of local models
Knowing you need “an 8B” still doesn't tell you which file to download. Click a row to load the model into the calculator, or go straight to Hugging Face to fetch the file.
In one sentence: this table is the shortcut; Hugging Face is the archive.
How to read a model page and bring it here
When you open a model on Hugging Face, look for the Files tab. That's where the files you actually download live. Three things matter:
- The name carries the size.
Llama-3.1-8Bis an 8-billion-parameter model. That's the number the calculator wants in “parameters” mode. - The suffix is the compression.
Q4_K_M,IQ4_XS,Q8_0. The number after the Q is roughly how many bits per weight. Q4 is the home-use default. - The GB next to the file is not the memory you'll spend. It's just the download size. Context is missing — that's why the calculator adds it separately.
If you have the file in front of you and only know its size in GB, use the “I know the file size” mode in the calculator: it converts to parameters for you, using the compression you picked.
A warning for beginners: some official models (Meta's, for example) are gated — Hugging Face asks for an account and a licence acceptance before releasing the download. Nothing is broken; that's the licence. Community GGUF conversions are usually open, and that's what the search links below surface first.
| Model | Params | Type | Download |
|---|---|---|---|
| Llama 3.2 1B testing and clusters | dense | 0.8 GB | Hugging Face ↗ |
| Tucano 2.4B | dense | 1.5 GB | Hugging Face ↗ |
| G9 V3 3B 4 GB, tool use | dense | 1.8 GB | Hugging Face ↗ |
| Llama 3.2 3B CPU / 8 GB VPS | dense | 2 GB | Hugging Face ↗ |
| Qwen 3.5 4B | dense | 2.7 GB | Hugging Face ↗ |
| OLMoE 7B-A1B | MoE · reads 1B | 4.2 GB | Hugging Face ↗ |
| Ling 3.0 Tiny 8 GB, agents | MoE · reads 1B | 4.6 GB | Hugging Face ↗ |
| Llama 3.1 8B the benchmark yardstick | dense | 4.9 GB | Hugging Face ↗ |
| DeepSeek R1 Distill 8B small-scale reasoning | dense | 5 GB | Hugging Face ↗ |
| Qwen 3.5 9B Mac mini M4 Pro 24 GB | dense | 5.5 GB | Hugging Face ↗ |
| Ornith 1.5 9B 6.6 GB file becomes 17.9 GB in use | dense | 6.6 GB | Hugging Face ↗ |
| Gemma 4 12B laptop, comfortable in 16 GB | dense | 7.5 GB | Hugging Face ↗ |
| Phi-4 14B light, reasoning | dense | 8.5 GB | Hugging Face ↗ |
| gpt-oss 20B best option in the 16 GB tier | MoE · reads 3.6B | 14 GB | Hugging Face ↗ |
| Gemma 4 26B-A4B multimodal, fast decode | MoE · reads 3.8B | 17 GB | Hugging Face ↗ |
| Gemma 27B drags on an iGPU (5–8 t/s on the B390) | dense | 16 GB | Hugging Face ↗ |
| Qwen 3.8 27B IQ4_XS 14.6 GB fits in 16; Q4_K_M 17 GB doesn't | dense | 14.6 GB | Hugging Face ↗ |
| Qwen 30B-A3B takes ~17 GB, reads only 3B | MoE · reads 3B | 17 GB | Hugging Face ↗ |
| Muse Glimmer 30B | dense | 16.8 GB | Hugging Face ↗ |
| Qwen 2.5 Coder 32B code on 24/32 GB | dense | 19.85 GB | Hugging Face ↗ |
| DeepSeek R1 32B reasoning on 24 GB | dense | 20 GB | Hugging Face ↗ |
| Qwen 3.6 35B-A3B does everything on 32 GB | MoE · reads 3B | 23 GB | Hugging Face ↗ |
| Llama 70B doesn't fit in 32 GB | dense | 40 GB | Hugging Face ↗ |
| Llama 4 Scout huge context | MoE · reads 17B | 55 GB | Hugging Face ↗ |
| gpt-oss 120B Studio 128 GB, 70–80 t/s | MoE · reads 5.1B | 66 GB | Hugging Face ↗ |
| Nemotron 3 Super 120B-A12B wants 64–72 GB | MoE · reads 12B | 68 GB | Hugging Face ↗ |
| Qwen 3.5 122B-A10B workstation, ~70 GB | MoE · reads 10B | 70 GB | Hugging Face ↗ |
| Qwen3 235B Studio cluster, ~32 t/s | MoE · reads 22B | 130 GB | Hugging Face ↗ |
| DeepSeek V4 Flash | MoE · reads 13B | 155.1 GB | Hugging Face ↗ |
| DeepSeek-R1 671B beyond consumer hardware | MoE · reads 37B | 200 GB | Hugging Face ↗ |
| Kimi K2 Thinking runs on no PC at all | MoE · reads 32B | 600 GB | Hugging Face ↗ |
Q4 GB is the typical size of the downloaded file — not a benchmark and not the memory in use. On this machine applies the page's formula with the memory, bandwidth and context you picked in the calculator above: change the hardware up there and this whole column rebuilds. Every row uses the same token budget; what changes is the memory it costs, which scales with the model’s size. This is not llama-bench.
Read the MoE numbers with a discount. The formula assumes only the active parameters are read, and that gives an over-optimistic ceiling: routing between experts costs something. A case from our own measured table: gpt-oss 120B was measured at 70–80 tok/s on a Mac Studio, well below what the plain division suggests. For MoE, treat the column as “it'll be fast”, not as the number.
Reality
Numbers other people measured
The calculator gives you the estimate. These are published third-party bench results — useful to calibrate expectations and to see the effect of the software used. Filter for what matters to you.
| Model | Compression | Software | Hardware | tok/s | Origin |
|---|---|---|---|---|---|
| Llama 8B | Q4 | llama.cpp | RTX 5090 | 215 | measuredMyAIHardware |
| Llama 8B | Q4 | llama.cpp | RTX 4090 | 125 | measuredMyAIHardware |
| Llama 8B | Q4 | llama.cpp | RTX 3090 | 85 | measuredMyAIHardware |
| Llama 8B | Q4 | llama.cpp | Mac M4 Max | 75 | measuredMyAIHardware |
| Llama 8B | Q4 | llama.cpp | Mac M4 Pro | 38 | measuredMyAIHardware |
| Llama 8B | Q4 | llama.cpp | Mac M4 | 28 | measuredMyAIHardware |
| 8B distilled model | — | LM Studio | RTX 5090 | 202 | measuredAlex Ziskind |
| 8B distilled model | — | LM Studio | RTX 5080 | 132 | measuredAlex Ziskind |
| 8B distilled model | — | LM Studio | RTX 5060 Ti 16 GB | 73.8 | measuredAlex Ziskind |
| 27B model | AWQ 4-bit | vLLM | RTX 5090 | 196 | measuredAndrew Damon-Smith |
| 27B model | Q4 (~17 GB) | llama.cpp | RTX 5090 | 74 | measuredttio2tech |
| 27B model | Q4 (~17 GB) | llama.cpp | RTX 3090 | 41 | measuredttio2tech |
| 27B model | MLX 4-bit | MLX | Mac 36 GB | 26–28 | measuredViktorKav |
| 27B model | Q4 GGUF | llama.cpp | Mac 36 GB | 17.8 | measuredViktorKav |
| 27B model | Q4 GGUF | Ollama (default) | Mac 36 GB | 5–7 | measuredViktorKav |
| 32B model (code) | Q4 (19.8 GB) | LM Studio | RTX 5090 | 62 | measuredAlex Ziskind |
| 32B model (code) | Q4 (19.8 GB) | LM Studio | Laptop RTX 5090 | 31 | measuredAlex Ziskind |
| 32B model (code) | Q4 + offload | LM Studio | RTX 5080 16 GB | 5.6 | measuredAlex Ziskind |
| MoE 120B | GGUF | LM Studio | Mac Studio 128 GB | 70–80 | measuredHeavy Metal Cloud |
| MoE 20B | GGUF | LM Studio | Mac Studio 128 GB | 100–120 | measuredHeavy Metal Cloud |
| 1B model | 4-bit | MLX | Mac mini M4 | 281 | measuredAlex Ziskind |
| 1B model | — | Ollama | 1× Mac Studio | 117 | measuredNetworkChuck |
| 1B model | — | Ollama (cluster) | 5× Mac Studio, 10GbE | 29 | measuredNetworkChuck |
| MoE 235B | — | EXO / TB5 | 4× Mac Studio M3 Ultra | ~32 | measuredJeff Geerling |
| 3B model | — | Ollama | CPU, 8 GB VPS | 11.2 | measuredViktorKav |
| 9B model | MLX 4-bit | MLX | Mac mini M4 Pro 24 GB | 70 | measuredDragos |
| 9B model, long context | MLX 4-bit | MLX | M4 Pro, 35k context | 18–24 | measuredDragos |
| Llama 8B | Q4 | iGPU | Arc B390 (Panther Lake) | 18–25 | estimateB390 study |
| MoE 20B | Q4 | iGPU | Arc B390 | 35–45 | estimateB390 study |
| MoE 30B-A3B | Q4 | iGPU | Arc B390 | 30–40 | estimateB390 study |
| dense 27B model | Q4 | iGPU | Arc B390 | 5–8 | estimateB390 study |
| Llama 70B | Q4 | iGPU | Arc B390 | 2–3 | estimateB390 study |
measured published bench · estimate formula applied, not a measurement. All of them generating a response (decode), one conversation at a time.
What this table teaches that the formula does not
- The software matters almost as much as the card. Same model, same Mac: 26–28 tok/s on one runtime, 17.8 on another, 5–7 on a third with factory defaults on. Before you change hardware, change software.
- MoE changes the game in the middle tier. A 30B MoE with 3B active runs 30–40 tok/s on an iGPU where a dense 27B drags at 5–8. Same memory occupied, six times the speed.
- Extra capacity is not extra speed. The RTX PRO 6000 has 96 GB against the 5090's 32 GB — and exactly the same bandwidth. It lets you run what did not fit; it does not let you run what already fitted any faster.
- A small model does not exploit a big card. A 1B model reached 281 tok/s. You will not feel the difference between 200 and 280 — at that size, any modern card does the job.
Send: card(s) and how many · model and quantisation · software used · tokens per second · context size. A photo of the build is welcome.
Step by step
How to find your two numbers
Nothing to install. It takes a minute.
Windows
- Press Ctrl + Shift + Esc to open Task Manager.
- Performance tab → click GPU.
- Read “Dedicated GPU memory”. That is your GB. Ignore “shared memory” — it is borrowed system RAM and it is slow.
- The exact card name is at the top. Look up its bandwidth in the reference table below.
Mac
- Apple menu → About This Mac.
- “Memory” is unified: CPU and GPU share the same pot. That is your GB.
- Reserve 25–30% for the system. On a 24 GB Mac, count on ~16 GB actually available for the model.
- Bandwidth depends on the chip (base / Pro / Max / Ultra), not on how much memory you have.
Laptop with integrated graphics
- With no dedicated graphics card, the GPU uses system RAM.
- Your GB is generous; your bandwidth is the bottleneck (~50–100 GB/s typical).
- Use the “CPU + RAM” or the iGPU preset in the calculator to see the honest result.
Reference table: bandwidth per card
Found your card's name in Task Manager? Its bandwidth is here. Figures from the manufacturers' official specs.
| Card | Memory | Bandwidth | Watts | Reading |
|---|---|---|---|---|
| RTX 5090 | 32 GB | 1792 GB/s | Absolute top of consumer speed. | 575 W |
| RTX 4090 | 24 GB | 1008 GB/s | Very fast and still fits a 32B. | 450 W |
| RTX 5080 | 16 GB | 960 GB/s | Fast, but 16 GB caps the size. | 360 W |
| RTX 3090 | 24 GB | 936 GB/s | Used, the best GB per dollar on the market. | 350 W |
| RTX 5070 Ti | 16 GB | 896 GB/s | Good balance in the 16 GB tier. | 300 W |
| RTX 3080 | 10 GB | 760 GB/s | Fast, but 10 GB gets tight early. | 320 W |
| RTX 4080 | 16 GB | 717 GB/s | Solid for 8B–14B. | 320 W |
| RTX 5070 | 12 GB | 672 GB/s | Fast for whatever fits in 12 GB. | 250 W |
| RTX 4070 | 12 GB | 504 GB/s | A comfortable entry point for 8B. | 200 W |
| RTX 5060 Ti | 16 GB | 448 GB/s | Cheap 16 GB; modest bandwidth. | 180 W |
| RTX 3060 | 12 GB | 360 GB/s | The classic entry-level value pick. | 170 W |
| RTX 4060 Ti | 8/16 GB | 288 GB/s | Low bandwidth for its generation. Careful. | 160 W |
| RTX 4060 | 8 GB | 272 GB/s | 3B–8B tier only. | 115 W |
| DDR5-5600 RAM (dual channel) | — | ~90 GB/s | The reference for “running without a GPU”. | W |
| DDR4-3200 RAM (dual channel) | — | ~51 GB/s | Fits plenty; moves very little. | W |
Recipes
Five builds, with honest numbers
Every recipe says what you get and what you give up. The tokens per second come from this page's own formula, at 8k of context — they are estimates, not benchmarks. Watts are for the whole machine: cards plus 150 W for the rest.
Entry — one RTX 3060 12G
The best memory-per-price-per-watt way to start.
You give up:27B and above stay out of reach.
12 GB · 360 GB/s · 170 W
Comfortable — one used RTX 3090 24G
27B and 32B with headroom, and high bandwidth. The best GB per unit of money on the used market.
You give up:70B is still out.
24 GB · 936 GB/s · 350 W
Most memory per unit of money — 4 to 6 identical 12G cards
48 to 72 GB added up. Makes 70B fit, and runs large MoE very well.
You give up:Dense 70B crawls, and the electricity bill is real.
6 × 12 GB · 360 GB/s · 170 W
Lots of memory, few watts — a unified-memory machine
Fits almost everything, quietly.
You give up:It will never be fast on a large dense model.
128 GB · 273 GB/s · 240 W
Maximum speed on whatever fits — one RTX 5090
The fastest conveyor belt in consumer hardware.
You give up:32 GB, so 70B is out.
32 GB · 1792 GB/s · 575 W
Decision
Buying guide by goal
There is no “best”. There is the right one for what you are going to do. Every recommendation below comes with what you give up.
“I just want to try it and see whether this is for me”
Do not buy anything yet. Install a local AI app on the machine you already have and run a 3B to 8B model. If your card has 6 GB or more, that already works. In one afternoon you will find out whether the usage fits your routine — and then you buy knowing what you want. What you give up: nothing. This is literally the free step almost everyone skips.
“I want a daily writing and coding assistant without spending much”
The 12 to 16 GB tier with decent bandwidth. A 12 GB card at ~500–670 GB/s runs 8B very fast and 14B comfortably. What you give up: 27B and 32B models stay out of reach, and they are the ones that deliver the noticeable jump in reasoning and complex code. If the budget stretches, going to 24 GB changes category — it is not an incremental upgrade.
“I want to run the genuinely big models (27B–32B)”
24 GB is the floor. A used 3090 is still the best GB-per-dollar on the market, with excellent bandwidth (936 GB/s). A 4090 is faster and more expensive. What you give up: 70B is still out — it asks for ~40 GB in weights alone. And a used card is a used card: warranty and history count.
“I want 70B running at home”
Here the maths changes. You need 48 GB or more, and then the options are: unified memory (a Mac with 64 GB+, a unified-memory mini PC) or two 24 GB cards. What you give up: the choice becomes an explicit dilemma between fitting and being fast. A 128 GB machine at 273 GB/s runs 70B at ~4.5 tokens/s — below your reading speed. A high-bandwidth one costs far more. Run the calculator on your candidate before buying; that is exactly what it is for.
“My case is privacy: sensitive documents that cannot leave the building”
This is the best argument for local AI, and it does not require a huge model. For search and answers over your own documents, a well-configured 8B to 14B model does the job very well — the heavy lifting is in organising the documents, not in model size. Prioritise memory for long context (16–24 GB) instead of chasing 70B. What you give up: complex reasoning over the material; for that the bigger model helps.
“Mac or PC?”
Mac when you need a lot of memory in little space, quietly: unified memory lets a 64 GB Mac run what would otherwise take two graphics cards. Bandwidth is good, not excellent, except on the top chips. PC with a dedicated card when speed is what matters and the model fits in VRAM: no unified-memory machine comes close to 1792 GB/s. In short: a Mac fits more, a PC runs faster.
“Is a mini PC with an NPU and unified memory worth it?”
As a work computer, it can be very much worth it. As an AI machine, be careful. A 128-bit memory bus delivers ~150 GB/s on paper and ~100–115 in practice — the bottleneck is neither the GPU nor the NPU, it is bandwidth. A dense 27B model drags there (5–8 tokens/s). MoE does considerably better (30–40). Rule: if the spec sheet does not state memory bandwidth, assume bandwidth is the weak point.
Vocabulary
Glossary without jargon
The terms you will meet in any tutorial, in plain English.
- Token
- A fragment of a word. In English, a common word is usually 1 to 2 tokens. “Tokens per second” is, in practice, the speed at which text appears on screen.
- Parameters (the “8B”, “70B”)
- How many billions of numbers the model has. It is the “factory” size and it is not the size of the file you download — the file depends on compression.
- Quantisation (Q4, Q8, IQ4_XS)
- Compressing the weights, storing each number with fewer decimals. Q4 uses about 4 bits per weight, Q8 uses 8. Fewer bits: the model takes less space, runs faster and loses a little quality. Q4 is the standard for running at home — the loss is small and the gain is enormous. Variants such as IQ4_XS squeeze a bit further and are sometimes the difference between fitting and not fitting.
- VRAM and unified memory
- VRAM is the memory that belongs to the graphics card — fast and not expandable. Unified memory (Macs, some mini PCs) is a single pot shared between processor and GPU: more flexible, almost always with less bandwidth than a dedicated card.
- Memory bandwidth (GB/s)
- How many gigabytes memory delivers per second. It is the number that decides generation speed. It rarely appears in the listing; it is always in the manufacturer's spec sheet.
- Context and KV cache
- Context is how much the model “remembers” of the conversation and the open files. The KV cache is the memory that takes up — and it is not included in the model file size. It is why a “6.6 GB” model actually occupies 17.9 GB.
- Dense vs MoE (Mixture of Experts)
- A dense model reads all of its weights to generate every token. A MoE is split into experts and activates only a few at a time: it needs all the memory to fit, but reads little per token. That is why a “30B-A3B” (30 billion total, 3 active) occupies like a big model and runs like a small one.
- Offload
- When the model does not fit entirely on the card, the software leaves some of the layers in system memory and processes them on the processor. It works — and it is far slower, because that part loses the card’s bandwidth and comes to depend on the RAM and the CPU instead. It is there to run what would not fit; it is not there to run fast.
- Prefill and decode
- Prefill is reading your question — it depends on the GPU's compute power. Decode is writing the answer — it depends on memory bandwidth. The calculator on this page estimates decode, which is the part you feel while the text appears.
- GGUF, Ollama, LM Studio, llama.cpp, MLX
- GGUF is the most common file format for compressed models. llama.cpp is the engine that runs that format; Ollama and LM Studio are friendlier ways to use the same engine (LM Studio has a graphical interface and is the easiest way to start). MLX is Apple's engine, tuned for M-series chips — on a Mac it is usually much faster than the alternatives.
- NPU and TOPS
- An NPU is a chip dedicated to AI tasks, measured in TOPS. It is great for audio transcription and computer vision. It does not solve the bottleneck of a large LLM, which is memory bandwidth. High TOPS in the marketing does not mean high tokens per second.
Transparency
Sources, method and limits
Where the numbers come from
StudyMarkets built this guide on top of third-party public benches and explanations. The core formula (bandwidth ÷ size, practice ≈ 75%), the 6 vs 30 tokens/s ruler and the memory-in-use examples come mainly from the ViktorKav channel. The measured tokens per second come from the channels and sites listed below. Card bandwidth figures come from the manufacturers' official documentation.
- ViktorKav (@VKav) — formula, ruler and examples. Apple took local AI from NVIDIA · The right local AI for 4, 8 and 16 GB · channel
- Alex Ziskind (@AZisk) — 5090 vs 5080 vs laptop vs Mac, Mac mini cluster. channel
- Jeff Geerling — Mac Studio clustered over Thunderbolt 5. channel · write-up
- NetworkChuck — 5 Mac Studios on a network: the drop from 117 to 29 tokens/s. channel
- ttio2tech — 3090 vs 5090 on the same 27B model.
- MyAIHardware — llama.cpp table on 5090 / 4090 / 3090 / Mac. benchmarks
- Unsloth — sizes and quality of GGUF compressions. Dynamic 3.0 GGUFs
- HWCooling and Phoronix — integrated graphics and the bandwidth bottleneck. HWCooling · Phoronix
What this page is not
- It is not a benchmark. It is an order-of-magnitude estimate for deciding a purchase. Real numbers depend on the software, the version, the context and the configuration.
- The 75% rule is optimistic on small models. On an 8-billion model, observed real efficiency lands closer to 55% of the ceiling; on large models the rule holds up well.
- It only covers generating the answer. Reading your prompt depends on the GPU's compute power and is not part of this calculation.
- None of the channels cited endorses this tool. The measurements are theirs; the calculation and the text are ours.
- If your machine's official spec sheet disagrees with a preset, trust the spec sheet and use Custom mode.
How to cite
StudyMarkets. Local AI: what your machine actually runs, 2026. Generation formula: memory bandwidth ÷ size read per token (ViktorKav, “Apple took local AI from NVIDIA”, YouTube). Tokens per second measured by the channels and sites cited on the page.