How to Estimate GPU Requirements for Local LLM Workloads
GPU sizing is where most on-premises AI budgets go wrong — too little and the platform stalls, too much and capital sits idle. Here's a practical way to estimate VRAM and GPU count from model size, quantization, context, and concurrency.
GPU capacity is usually the single largest line in an on-premises AI budget, and it’s the one most often gotten wrong in both directions. Under-provision, and the platform stalls under real load — requests queue, latency climbs, and users abandon it. Over-provision, and expensive hardware sits idle while finance asks why the capital was spent. Both mistakes come from the same root cause: sizing GPUs from a vague sense of “we need something big” rather than from the actual drivers of memory and compute demand.
This is a practical guide to estimating GPU requirements from the variables that actually determine them — model size, precision, context length, and concurrency — so infrastructure and finance teams can plan capacity with a defensible number instead of a guess.
What actually consumes GPU memory
The instinct is to equate “GPU requirement” with “model size.” Model weights are only one of three consumers, and treating them as the whole picture is exactly how sizing goes wrong.
- Model weights. This is the floor. The memory the weights occupy is approximately the parameter count times the bytes per parameter, which precision sets: roughly two bytes per parameter at 16-bit, about one byte at 8-bit, and roughly half a byte at 4-bit. A model’s parameter count and the precision you serve it at together fix this baseline.
- The KV cache. As the model generates, it stores intermediate state — the key-value cache — for every token in context. This grows with context length and with the number of requests being served at once. At high concurrency with long contexts, the KV cache can rival or exceed the weights themselves, and it’s the part teams most often forget to budget for.
- Serving overhead. The inference runtime, activations, and fragmentation all consume additional memory. It’s not the dominant term, but leaving no margin for it is how a model that “should fit” fails to load.
The takeaway: weights give you a floor, but real capacity is set by weights plus a KV cache that scales with how you actually use the model.
The four variables that drive your number
Every credible GPU estimate comes down to four inputs. Get these written down and the arithmetic follows.
1. Model size
Parameter count is the primary driver of weight memory. This is also the strongest argument for not defaulting to the largest available model: a smaller model that meets the accuracy bar for a task uses a fraction of the memory and compute. Many enterprise tasks are served well by small language models, and matching model size to task is the highest-leverage cost decision available.
2. Precision and quantization
Serving at 8-bit or 4-bit rather than 16-bit can cut weight memory enough to change how many GPUs you need. The cost is a possible accuracy impact that depends on the model and the task — sometimes negligible, sometimes not. Treat quantization as a lever to validate against your own evaluation set, not a free win to assume.
3. Context length
Longer contexts mean a larger KV cache per request. A workload that routinely processes long documents has a fundamentally different memory profile from one handling short queries, even on the identical model. Size context to what the workload genuinely needs rather than setting the maximum “to be safe” — that safety margin is paid for in GPU memory on every concurrent request.
4. Concurrency
How many requests must be served simultaneously multiplies the KV cache demand and drives compute throughput. This is the variable most disconnected from the model itself and most connected to your actual usage, which is why honest concurrency estimates matter more than headline model specs. Ten users occasionally querying an assistant and a thousand employees hitting an agent platform at 9am are different infrastructure problems.
A practical estimation sequence
Rather than a formula that pretends to more precision than the inputs support, work through this sequence:
- Fix the weight floor. Multiply parameter count by bytes-per-parameter at your intended precision. This is the minimum before serving anything.
- Add realistic KV-cache headroom. Estimate it from your expected context length and target concurrency — not from the maximum either could theoretically reach. This is where deliberately-chosen numbers beat worst-case defaults.
- Add serving margin. Leave room for runtime overhead and fragmentation so models load reliably under load, not just in a clean benchmark.
- Map to physical GPUs. Compare the total against the memory of the GPUs you can actually procure. If it exceeds a single card, you’re into multi-GPU serving, which adds interconnect and sharding considerations to the plan.
- Validate empirically. Load the model, drive it at target concurrency and context, and measure. An estimate sets the budget; a measurement confirms it. Treat the calculated number as a starting hypothesis, not a final answer.
The goal isn’t a single perfect figure — it’s a defensible range you can put in a capacity plan and then confirm against real behavior.
Where teams waste GPU budget
A few patterns account for most over-spend, and all are avoidable at planning time:
- Defaulting to the largest model everywhere. Routing every request to a flagship model, including trivial ones, burns capacity on tasks a smaller model would handle. Model routing that directs lightweight requests to lightweight models is one of the most effective ways to lower the GPU bill without lowering quality.
- Provisioning for a theoretical peak. Sizing every GPU for the busiest imaginable minute leaves hardware idle almost always. Plan a sustainable baseline with peak headroom, not peak-everywhere.
- Ignoring quantization. Skipping a validation pass on 8-bit or 4-bit serving can mean buying more GPUs than the workload actually requires.
- Forgetting the KV cache. Sizing only for weights produces a plan that works in a demo and falls over under concurrent production load.
GPU capacity is one input to total cost of ownership, alongside storage, platform staff, and operations — the fuller picture is in the On-Premise AI Platform Cost and TCO Guide.
How VDF AI helps right-size GPU capacity
VDF AI is designed so that GPU capacity maps to actual workload rather than to the largest model on the roster. VDF AI Networks lets teams register multiple local models at different sizes and precisions, and routes each request to the appropriate one, so lightweight tasks don’t consume flagship-model capacity. Because the platform runs entirely on-premises, capacity planning is a direct function of your own workload — models, context, and concurrency you control and can measure — not an opaque consumption bill. That makes the estimate you build at planning time something you can verify in production and adjust deliberately, which is the difference between a capacity plan and a hopeful purchase order.
Start from the four variables, calculate a defensible range, then validate it under real load. GPU sizing done this way turns the largest line in the budget from a guess into a number you can defend to finance.
Further reading
- Small Language Models for Enterprise AI Infrastructure
- On-Premise AI Platform Cost and TCO Guide
- Compliance-Aware Model Routing for On-Premises AI
- Local AI Infrastructure Best Practices
Planning GPU capacity for an on-premises AI platform? Explore VDF AI Networks or book a demo.
Frequently Asked Questions
How much GPU memory does a local LLM need?
As a starting approximation, model weights consume roughly the parameter count multiplied by the bytes per parameter set by the precision: about two bytes per parameter at 16-bit, roughly one byte at 8-bit quantization, and roughly half a byte at 4-bit. On top of the weights you must budget for the KV cache, which grows with context length and the number of concurrent requests, plus serving overhead. The weights are the floor, not the full requirement.
Does quantization reduce GPU requirements?
Yes, substantially. Serving a model at 8-bit or 4-bit precision cuts the memory the weights occupy compared to 16-bit, which can be the difference between fitting on one GPU and needing several. The trade-off is a potential accuracy impact that varies by model and task, so quantization should be validated against your own evaluation set rather than assumed to be free.
Should we buy for peak or average load?
Neither in isolation. Size the baseline for your realistic sustained concurrency, plan headroom for peaks rather than provisioning every GPU for the worst case, and use model routing so lightweight requests go to smaller models instead of consuming capacity on the largest one. Over-provisioning for a theoretical peak is one of the most common ways on-premises AI budgets are wasted.
Calculate your AI infrastructure savings
Model the cost and energy impact of running AI on-prem versus cloud-only — then see the benchmark data behind the numbers.
