Capacity decides whether a model runs at all. Bandwidth decides whether you can stand to watch it. Almost every disappointing local-AI purchase is someone who optimised one and forgot the other.
This is a short field guide to running large language models on hardware you own. It covers the four things that decide whether that works — memory capacity, memory bandwidth, model architecture and quantization — and then maps today's machines against them.
The mental model
Capacity is how much memory the accelerator can address — VRAM on a GPU, unified memory on a Mac or an APU. It is a hard gate. If the weights plus the KV cache don't fit, the model either won't load or spills to system RAM and slows down by an order of magnitude.
Bandwidth is how fast that memory can be read. To emit one token, the machine reads every active weight once. So decode speed is a division problem, not a compute problem. A 70B model quantised to 4 bits is roughly 40 GB of weights: on 273 GB/s that's a ceiling of ~7 tok/s; on 1,792 GB/s it's ~45 tok/s. Same model, same code, 6× the difference — from memory speed alone.
Compute (TFLOPS, tensor cores) governs prefill — chewing through your prompt — and training. It has almost nothing to do with how fast words appear.
Capacity is the tank; bandwidth is the hose. A 128 GB unified-memory box holds a 70B model but drips it out. A 32 GB gaming card pours — but only models that fit in the tank.
Total parameters set capacity · active parameters set speed
A dense model reads every weight to produce every token. Total parameters and active parameters are the same number, so the two constraints move together: a 70B model needs 40 GB of memory and reads 40 GB per token.
A Mixture-of-Experts model splits its feed-forward layers into many experts and a router picks a handful per token. All experts must be resident in memory, but only the selected ones get read. Total and active parameters decouple — often by a factor of 10 or more.
| Model shape (4-bit) | Resident | Read per token | 273 GB/s | 819 GB/s | 1,792 GB/s |
|---|---|---|---|---|---|
| Dense 70B | ~40 GB | ~40 GB | ~5 tok/s | ~16 tok/s | ~36 tok/s |
| MoE 120B, ~5B active | ~65 GB | ~4 GB | ~55 tok/s | fast | fast |
| MoE 235B, ~22B active | ~130 GB | ~13 GB | ~17 tok/s | ~50 tok/s | ~110 tok/s |
Ceilings, not measurements. Attention weights and any shared expert are read on every token, so expect roughly 50–70% of the MoE figures in practice — still several times the dense result on the same hardware.
Tensor parallel vs. pipeline parallel
Tensor parallelism splits every layer across cards, so all GPUs work on every token at once. It adds capacity and effective bandwidth — this is the only way to make a single conversation genuinely faster. The cost: cards synchronise several times per layer, so it needs a fat, low-latency link and works best with 2, 4, or 8 identical cards.
Pipeline parallelism splits the model by layers: card 1 holds layers 1–20, card 2 holds 21–40. Only small activation tensors cross the link, so it tolerates slow interconnects — even Ethernet. But for a single request only one card is busy at a time, so it buys you capacity, not speed. It pays off with batching (multiple users or parallel agents), where the pipeline stays full.
| Interconnect | Practical throughput | Tensor parallel? | Pipeline parallel? |
|---|---|---|---|
| NVLink 5 (in-chassis) | ~1,800 GB/s | Excellent | Yes |
| PCIe 5.0 ×16 | ~64 GB/s each way | Workable, sub-linear | Yes |
| PCIe 5.0 ×4 (the trap) | ~16 GB/s | Bottleneck | Yes |
| ConnectX-7 200 GbE | ~25 GB/s | Marginal | Yes |
| Thunderbolt 5 / USB4 | ~5–10 GB/s | No | Yes |
| 10 GbE | ~1.2 GB/s | No | Yes, with latency cost |
Fewer bits per weight = less memory and proportionally faster decode
Quantization stores each weight in fewer bits and expands it on the fly. Halving the bits halves the footprint and halves the bytes read per token — so it roughly doubles decode speed. That is why it is the first lever to pull, and the easiest one to over-pull.
| Precision | Size of a 70B | Quality | Verdict |
|---|---|---|---|
| FP16 / BF16 | ~140 GB | Reference | Only if memory is free. Rarely worth it for inference. |
| FP8 / Q8 | ~70 GB | Near-identical | Differences are within benchmark noise. Safe default when it fits. |
| 4-bit (Q4_K_M, AWQ, NVFP4, MXFP4) | ~40 GB | Small, acceptable loss | The sweet spot. Where most local inference should live. |
| 3-bit and below (Q3, Q2, IQ2) | ~26 GB / ~20 GB | Steep degradation | Avoid. Fails first on code, maths, instruction-following, long context. |
Prefill · thinking · output
Every request has two distinct phases with different bottlenecks, and modern reasoning models add a third cost centre in between.
Your whole prompt is processed in parallel — compute-bound, thousands of tokens per second even on modest hardware. The metric is time to first token. Long prompts, RAG contexts and big code files land here, and this is where raw TFLOPS earn their keep. Prompt caching makes repeated prefixes nearly free; on agent loops it is the single biggest win available.
Reasoning models generate hundreds to thousands of hidden tokens before the first visible word. Those are output tokens paying full decode price. At 5 tok/s, 2,000 thinking tokens is a nearly seven-minute wait before you see anything. This is the phase that decides whether local AI feels usable, and it is the one buyers never budget for.
One token at a time, each requiring a full pass over the active weights. Purely memory-bandwidth-bound. The metric is tokens per second, and it degrades as context grows because the KV cache grows with it.
Six classes of machine, August 2026 street reality
| Machine | Capacity | Bandwidth | Multi-unit | TP / PP | Price | 70B Q4 ceiling |
|---|---|---|---|---|---|---|
| AMD Strix Halo Ryzen AI Max+ 395 |
128 GB unified | 256 GB/s | 10 GbE / USB4 | no / yes | $2,000–3,100 | ~5 tok/s |
| NVIDIA DGX Spark GB10 Grace Blackwell |
128 GB unified | 273 GB/s | ConnectX-7 200 Gb/s, 2 units | marginal / yes | $4,699 | ~5 tok/s |
| Mac Studio M3 Ultra | 96 GB unified | 819 GB/s | Thunderbolt 5 only | no / niche | $5,299+ | ~16 tok/s |
| MacBook Pro M5 Max | 128 GB unified | 614 GB/s | Thunderbolt 5 only | no / niche | ~$5,000 | ~12 tok/s |
| NVIDIA RTX 5090 | 32 GB VRAM | 1,792 GB/s | PCIe 5.0, CUDA | yes / yes | ~$4,200/card | doesn't fit (needs 2) |
| NVIDIA RTX PRO 6000 Blackwell, 96 GB |
96 GB VRAM | 1,792 GB/s | PCIe 5.0, CUDA | yes / yes | $13,000–16,000 | ~35–45 tok/s |
Every machine is a point in capacity × bandwidth — and price is the third axis
Log axes. Up = bigger models fit. Right = faster words. Circle area scales with price, so the top-right corner is both empty and expensive. Faded points are two-unit configurations.
Work down this list in order