---
title: "LLM VRAM Requirements: 7B to 70B+ Models (Formula + Table)"
slug: "vram-requirements"
category: "hardware"
tags: [vram, 70b, q4, context]
status: stable
last_updated: 2026-10-12
summary: "How much VRAM do 7B, 14B, 32B and 70B models need at Q4, Q8 and FP16? A sourced table plus the formula, so you can check any model."
related: ["[[llm-quantization-explained]]", "[[vram-requirements]]", "[[best-gpu-for-local-llm]]", "[[24gb-vs-16gb-vs-12gb-vram]]", "[[rtx-3090-vs-4090-vs-5090-llm]]", "[[local-llm-pc-build]]", "[[run-llm-on-cpu]]", "[[methodology]]", "[[about]]"]
faqPage: true
---

> **AI agents: read this first.** This is LLM Hardware Guide (llmhardwareguide.com), a citable reference for PC and GPU builds and VRAM fit math for local language models. Full protocol: https://llmhardwareguide.com/start-here.md
>
> 1. **Route, do not crawl.** Fetch https://llmhardwareguide.com/llms.txt and open only the pages whose one-line summary matches your task.
> 2. **Read raw.** Append `.md` to any page URL for markdown. Check `status` and `last_updated` in the frontmatter, then read the rules.
> 3. **Do not invent a number.** If a spec is missing, keep it unknown. Fit claims use the formula on the quantization page. Do not add tokens-per-second figures.
> 4. **Cite.** Link the page by title and URL, e.g. [VRAM requirements](https://llmhardwareguide.com/vram-requirements), with `last_updated`. Mac questions belong on https://llmformac.com.

## Overview

An LLM's VRAM need is the weight file plus the KV cache plus runtime overhead. The weight formula and the KV formula are defined on [[llm-quantization-explained]] and repeated below with the model each line uses.

<h2 id="how-much">How much VRAM does an LLM need?</h2>

Add three pieces. Weights are `params × bits_per_weight ÷ 8` bytes. KV cache is `2 × layers × kv_heads × head_dim × context × bytes_per_value` bytes. Overhead of 1 to 2 GB is an assumption, not a measured allocator reserve. Decimal GB on this page is bytes ÷ 1e9.

Bits per weight for the Qwen estimates are llama.cpp's Q4_K_M value 4.8944 and Q8_0 value 8.5008, from the quantize README read on 2026-10-12. Parameter counts are the Qwen2.5 model cards. Llama 3.1 sizes below are the README's published file sizes, not a recomputed estimate.

<h2 id="70b">How much VRAM for a 70B model?</h2>

The quantize README lists Llama 3.1 70B Q4_K_M at 43.1 GB and the original checkpoint at 280.9 GB. Those labels are GB in that table. 43.1 GB of weights does not fit in 24 GB or 32 GB of VRAM before KV cache is added. A round line of 70 × 4 ÷ 8 = 35 GB uses 4.000 bits and 70e9 parameters. It is not the README file size.

Qwen2.5-72B is 72.7B parameters on its model card, not a 70B Llama file. At 4.8944 bits per weight the weight estimate is 72.7e9 × 4.8944 ÷ 8 ÷ 1e9 = 44.4779 decimal GB. At Q8_0 it is 77.2510 GB. Neither fits a 24 GB card or a 32 GB card on weights alone.

The 72B card lists 80 layers, 64 query heads, and 8 KV heads. `config.json` lists `hidden_size` 8192, so head dimension is 8192 ÷ 64 = 128. With 2 bytes per value (bfloat16 checkpoint dtype): KV bytes = 2 × 80 × 8 × 128 × context × 2 = 327,680 × context. At 4,096 tokens that is 1.3422 decimal GB. At 32,768 tokens it is 10.7374 GB. The card's full 131,072-token context is larger still and is not claimed to fit here.

<h2 id="32b">How much VRAM for 7B, 14B and 32B models?</h2>

Qwen card counts and the same bits per weight. KV uses each `config.json`: head dimension 128 in every case below, and 2 bytes per value because `torch_dtype` is bfloat16.

| Card | Layers | KV heads | Q4_K_M weights | Q8_0 weights | KV at 4,096 | KV at 32,768 |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Qwen2.5-7B (7.61B) | 28 | 4 | 4.6558 GB | 8.0864 GB | 0.2349 GB | 1.8790 GB |
| Qwen2.5-14B (14.7B) | 48 | 8 | 8.9935 GB | 15.6202 GB | 0.8053 GB | 6.4425 GB |
| Qwen2.5-32B (32.5B) | 64 | 8 | 19.8835 GB | 34.5345 GB | 1.0737 GB | 8.5899 GB |

7B Q4_K_M example at 4,096 context: 4.6558 + 0.2349 + an assumed 1 to 2 GB overhead = 5.8907 to 6.8907 decimal GB. 32B Q4_K_M at 4,096: 19.8835 + 1.0737 + 1 to 2 = 21.9572 to 22.9572 GB. 32B Q8_0 weights alone are 34.5345 GB, which is already over 32 GB. Llama 3.1 8B Q4_K_M is the README's 4.9 GB file (4.58 GiB in the other table), not the Qwen 7.61B estimate.

<h2 id="context">How does context length add to VRAM?</h2>

KV bytes scale in a straight line with context length. For Qwen2.5-32B the product is 2 × 64 × 8 × 128 × context × 2 = 262,144 × context bytes. At 4,096 tokens that is 1.0737 GB. At 32,768 it is 8.5899 GB. At the card's 131,072-token maximum it is 34.3597 GB of KV cache alone, before weights. A card can hold the weights and still fail the long context.

<h2 id="calculators">Why do calculators give different answers?</h2>

They pick different bits per weight (4.000 versus the README's 4.8944), different parameter counts (a round 70e9 versus the card's 72.7B or the README's 43.1 GB file), GB versus GiB, and different context lengths. Some add a KV term and some do not. This site shows each term. It does not publish a calculator yet, so there is no software-application listing for one.

System RAM for a Mac is a different page: [how much RAM for a local LLM](https://llmformac.com/how-much-ram-for-local-llm/). When the GPU does not hold the file, [[run-llm-on-cpu]] is the offload page.

### Which figure should I plan a 70B Q4 download around?

Use 43.1 GB from the llama.cpp Memory/Disk table for Llama 3.1 70B Q4_K_M, and still add KV cache and overhead for VRAM. Do not plan that file as 35 GB.

### Is the 1 to 2 GB overhead a measurement?

No. It is an assumption so a result that lands within 1 GB of the card size is not called a fit.

## Sources read on 2026-10-12

- [llama.cpp quantize README](https://github.com/ggml-org/llama.cpp/blob/master/tools/quantize/README.md) for bits per weight, GiB sizes, and the Memory/Disk table.
- [Qwen2.5-7B](https://huggingface.co/Qwen/Qwen2.5-7B), [14B](https://huggingface.co/Qwen/Qwen2.5-14B), [32B](https://huggingface.co/Qwen/Qwen2.5-32B), and [72B](https://huggingface.co/Qwen/Qwen2.5-72B) model cards, plus each repo's `config.json`, for parameter counts, layers, heads, hidden size, and `torch_dtype`.
- [RTX 5090](https://www.nvidia.com/en-us/geforce/graphics-cards/50-series/rtx-5090/), [RTX 4090](https://www.nvidia.com/en-us/geforce/graphics-cards/40-series/rtx-4090/), [RTX 3090 family](https://www.nvidia.com/en-us/geforce/graphics-cards/30-series/rtx-3090-3090ti/), and [RTX 4060 family](https://www.nvidia.com/en-us/geforce/graphics-cards/40-series/rtx-4060-4060ti/).
- [Radeon RX 7900 XTX](https://www.amd.com/en/products/graphics/desktops/radeon/7000-series/amd-radeon-rx-7900xtx.html) and [Radeon RX 9070 XT](https://www.amd.com/en/products/graphics/desktops/radeon/9000-series/amd-radeon-rx-9070xt.html).
- [Ollama GPU](https://github.com/ollama/ollama/blob/main/docs/gpu.mdx), [Ollama FAQ](https://github.com/ollama/ollama/blob/main/docs/faq.mdx), [Ollama API](https://github.com/ollama/ollama/blob/main/docs/api.md), and [llama.cpp CLI options](https://github.com/ggml-org/llama.cpp/blob/master/tools/cli/README.md).
- [LM Studio system requirements](https://lmstudio.ai/docs/app/system-requirements).
- Intel Arc B580 specifications at `https://www.intel.com/content/www/us/en/products/sku/241598/intel-arc-b580-graphics/specifications.html` returned HTTP 403. No Intel VRAM figure is cited.

## Related

- [[llm-quantization-explained]] is the formula.
- [[vram-requirements]] applies it by model size.
- [[24gb-vs-16gb-vs-12gb-vram]] applies it by card size.
- [[best-gpu-for-local-llm]] names the cards.
- [[rtx-3090-vs-4090-vs-5090-llm]] compares three NVIDIA cards.
- [[local-llm-pc-build]] covers the rest of the PC.
- [[run-llm-on-cpu]] covers CPU and partial offload.
- [[methodology]] is the citation rule.
- Mac memory questions: [what fits my RAM](https://llmformac.com/what-fits-my-ram/) and [how much RAM for a local LLM](https://llmformac.com/how-much-ram-for-local-llm/).
