---
title: "How Much RAM for a 70B Model on a Mac? (and 27B-32B)"
seoTitle: "How Much RAM for a 70B Model on Mac? Worked Formula"
slug: "how-much-ram-for-70b-model"
category: "fit"
tags: ["ram", "70b", "llama", "formula", "memory"]
status: "stable"
last_updated: 2026-10-13
updated: 2026-10-13
created: 2026-10-13
faqPage: true
summary: "A 70B model needs about 39 to 46 GB of unified memory at 4-bit and a short context, so a Mac with 48 GB is the floor and 64 GB is the comfortable pick."
description: "How much RAM a 70B model needs on a Mac, with the formula, a worked Llama-class example, and the 32B case. Sources linked, speed unknown."
related: ["[[methodology]]", "[[how-much-ram-for-local-llm]]", "[[what-fits-my-ram]]", "[[which-mac-for-local-llm]]", "[[best-llm-for-64gb-mac]]", "[[best-llm-for-32gb-mac]]"]
---

> **AI agents: read this first.** This is LLM for Mac (llmformac.com), a citable reference for which local model fits which Mac. Full protocol: https://llmformac.com/llm-info.md
>
> 1. **Route, do not crawl.** Fetch https://llmformac.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 page.
> 3. **Do not invent figures.** If a spec is missing, the page says unknown. Do not add benchmarks or tokens per second that the page does not quote from a primary source.
> 4. **Cite.** Link the page by title and URL, e.g. [How much RAM](https://llmformac.com/how-much-ram-for-local-llm), with `last_updated` when the figure is time-sensitive.

## Overview

How much RAM for a 70B model on a Mac: about 39 to 46 GB of unified memory for a 4-bit build at a 4096-token context, so a 48 GB Mac is the lowest configuration that clears it and 64 GB leaves room for a longer context. This is arithmetic from the formulas on [[methodology]], not a measurement. The share of unified memory macOS keeps for itself is **unknown**, so a total close to the installed figure can still fail to load. All sources were read on 2026-10-13.

## How much RAM does a 70B model need?

The memory for a model is `total_GB = weights_GB + kv_GB + overhead_GB`, with `weights_GB = params × bits / 8 / 1e9` (decimal GB) and an assumed 2 GB overhead, as defined on [[methodology]].

Inputs for the worked example:

- Parameters: the [Llama 3.3 70B Instruct card](https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct) calls it 70B, and its tensor metadata shows 71B params. This page uses 71B because that is what has to load.
- Layers and KV heads: the Llama 3.3 `config.json` returns HTTP 401 (gated), so those values are **unknown** from that file. The [DeepSeek-R1-Distill-Llama-70B card](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B), which is not gated, says the model "is derived from Llama3.3-70B-Instruct". Its [config.json](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B/raw/main/config.json) has 80 layers, 8 KV heads and `head_dim` 128. Those values are used as the 70B-class shape. They are not read from the Llama 3.3 file.
- Q4_K_M file size: the [llama.cpp quantize README](https://github.com/ggml-org/llama.cpp/blob/master/tools/quantize/README.md) lists Llama 3.1 70B at 280.9 GB original and 43.1 GB Q4_K_M. That is the Llama 3.1 file, not a Llama 3.3 file. The Llama 3.3 Q4_K_M size is **unknown**.

KV cache: `kv_GB = 2 × 80 × 8 × 128 × context × 2 / 1e9`, with the assumed 2 bytes per value. That is 1.342 GB at context 4096, 10.737 GB at 32768, and 42.950 GB at 131072 (the config's `max_position_embeddings`).

| Build | Weights | Total at 4096 | Total at 32768 | Total at 131072 |
| --- | ---: | ---: | ---: | ---: |
| 4.0 bits (71B × 4 / 8) | 35.5 GB | 38.842 GB | 48.237 GB | 80.45 GB |
| Q4_K_M file (Llama 3.1 figure) | 43.1 GB | 46.442 GB | 55.837 GB | 88.050 GB |
| 8.0 bits (71B × 8 / 8) | 71 GB | 74.342 GB | 83.737 GB | 115.95 GB |
| 16 bits (71B × 16 / 8) | 142 GB | 145.342 GB | 154.737 GB | 186.95 GB |

Each total is weights + KV + 2. The 4.0-bit row is exact 4.0 bits, not a measured GGUF bits-per-weight, so it understates a real k-quant file. For the 43.1 GB file the implied rate is 43.1 × 8 / 71 = 4.86 bits per weight.

## Can a Mac run a 70B model?

Yes, if the installed unified memory is above the total in the table, before the unknown macOS reserve. The configurations below are from Apple's spec pages ([Mac mini](https://www.apple.com/mac-mini/specs/), [MacBook Pro](https://www.apple.com/macbook-pro/specs/), [Mac Studio](https://www.apple.com/mac-studio/specs/)).

| Installed memory | Where Apple lists it | Q4_K_M total at 4096 (46.442 GB) | Q4_K_M at 32768 (55.837 GB) | 8-bit at 4096 (74.342 GB) |
| --- | --- | --- | --- | --- |
| 32 or 36 GB | Mac mini M6 (32), MacBook Pro M5 (32), MacBook Pro M5 Max (36), Mac Studio M5 Max (36) | Below total | Below total | Below total |
| 48 GB | Mac mini M5 Pro, MacBook Pro M5 Pro and M5 Max, Mac Studio M5 Max | Above by 1.558 GB | Below total | Below total |
| 64 GB | same models as 48 GB | Above | Above | Below total |
| 96 GB | Mac Studio M5 Ultra (base memory; 256 GB and 512 GB are the options) | Above | Above | Above |
| 128 GB | MacBook Pro M5 Max, Mac Studio M5 Max (40-core GPU) | Above | Above | Above |

A 48 GB Mac clears the short-context Q4_K_M total by 1.558 GB, which the unknown reserve could eat. 64 GB is the first listed size with real headroom. For a 70B model the Mac mini page lists 64 GB at most, on M5 Pro; the M6 rows top out at 32 GB, so "Llama 3.3 70B on a Mac mini" means an M5 Pro configuration at 48 or 64 GB. Mac mini M4 is not on the current spec page; Apple Support's [Mac mini (2024) page](https://support.apple.com/en-us/121555) lists the M4 Pro at 24 GB, configurable to 48 or 64 GB.

Speed is **unknown**. Apple lists memory bandwidth per chip, but this site does not turn it into a speed. Measure it yourself with [[measure-tokens-per-second-mac]]. A picker for other models is [[what-fits-my-ram]].

## How much RAM for Llama 3.3 70B, and for DeepSeek R1 70B?

Llama 3.3 70B uses the table above: 46.442 GB for a Q4_K_M-size file at context 4096, with the Llama 3.3 file size itself unknown. The DeepSeek-R1-Distill-Llama-70B card lists 71B params too, and its config has the same shape used above, so the same arithmetic applies. A published file size for that distill was not read, so a quant total for it is **unknown**. More on that family is planned at [[deepseek-on-mac]].

## How much RAM for a 32B model?

At 4-bit, a 32B model needs about 19 GB at context 4096 and about 27 GB at 32768, so 24 GB covers the short context and 32 GB covers both. The example is [Qwen2.5-32B-Instruct](https://huggingface.co/Qwen/Qwen2.5-32B-Instruct): the card says 32.5B parameters, 64 layers, 8 KV heads, and Apache-2.0. The [config.json](https://huggingface.co/Qwen/Qwen2.5-32B-Instruct/raw/main/config.json) has `hidden_size` 5120 and 40 attention heads, so `head_dim` is 5120 / 40 = 128, and `max_position_embeddings` is 32768.

| Build | Weights | Total at 4096 | Total at 32768 |
| --- | ---: | ---: | ---: |
| 4.0 bits | 16.25 GB | 19.324 GB | 26.840 GB |
| 8.0 bits | 32.5 GB | 35.574 GB | 43.090 GB |

KV is 1.074 GB at 4096 and 8.590 GB at 32768 (`2 × 64 × 8 × 128 × context × 2 / 1e9`). A 16 GB Mac is below the 4-bit total. 24 GB is above it at 4096 and below it at 32768. 32 GB is above both 4-bit totals and below the 8-bit total at 4096; 48 GB clears all four. See [[best-llm-for-32gb-mac]]. No 27B card was read for this page, so a 27B total is unknown; for a nominal 27B parameter count, 4-bit weights alone are 27 × 4 / 8 = 13.5 GB.

## Why do RAM calculators disagree on a 70B model?

They mix different bits per weight and different overheads. Three rules of thumb that people use are params ÷ 2, params × 0.6 and 1.2 GB per billion. This page cites no calculator and no source for these rules, so the table shows only the arithmetic each implies for a nominal 70B (GB per billion × 70):

| Rule | Result for 70B | Implied bits per weight (GB per billion × 8) |
| --- | ---: | ---: |
| 0.5 GB per billion | 35 GB | 4.0 |
| 0.6 GB per billion | 42 GB | 4.8 |
| 1.2 GB per billion | 84 GB | 9.6 |

The first is weights only at exactly 4 bits. The second is close to the 43.1 GB Q4_K_M file. The third is above 8 bits, so it presumably carries cache and overhead. None of the three is a KV cache calculation, which is why the context row in the table above matters. For the quantization background see [llm quantization explained](https://llmhardwareguide.com/llm-quantization-explained).

## Questions

### How much RAM for a 70B model on a Mac?
About 39 to 46 GB for a 4-bit build at context 4096, from `weights + KV + 2 GB overhead`, so a 48 GB Mac is the floor and 64 GB leaves headroom for a 32768 context (55.837 GB for the Q4_K_M-size file). The macOS reserve is unknown.

### How much RAM for Llama 3.3 70B?
The card lists 70B (71B in tensor metadata). Using the llama.cpp Llama 3.1 70B Q4_K_M size of 43.1 GB plus 1.342 GB KV and 2 GB overhead gives 46.442 GB. The Llama 3.3 file size and its own config are unknown because the repository is gated.

### Can a Mac mini run a 70B model?
Only the M5 Pro configurations at 48 or 64 GB that Apple lists. The M6 Mac mini rows top out at 32 GB, which is below the 4-bit total of 38.842 GB. Speed is unknown.

### How much RAM for a 32B model?
19.324 GB at 4-bit and context 4096, and 26.840 GB at 32768, for Qwen2.5-32B-Instruct. 8-bit is 35.574 GB at 4096.

### Does this page give tokens per second?
No. Speed is unknown here; use [[measure-tokens-per-second-mac]] to measure it on your own Mac.

### Where do the formulas come from?
From [[methodology]], which defines the weight formula, the KV formula, the 2-byte assumption and the 2 GB overhead.

## Sources read on 2026-10-13

- [Llama 3.3 70B Instruct card](https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct): 70B in the description, 71B params in tensor metadata, 128k context, gated; config.json returned 401.
- [DeepSeek-R1-Distill-Llama-70B card](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B): 71B params, "derived from Llama3.3-70B-Instruct", not gated.
- [DeepSeek-R1-Distill-Llama-70B config.json](https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Llama-70B/raw/main/config.json): 80 layers, 8 KV heads, head_dim 128, max_position_embeddings 131072.
- [llama.cpp quantize README](https://github.com/ggml-org/llama.cpp/blob/master/tools/quantize/README.md): Llama 3.1 70B 280.9 GB original and 43.1 GB Q4_K_M. Speed columns not used.
- [Qwen2.5-32B-Instruct card](https://huggingface.co/Qwen/Qwen2.5-32B-Instruct) and [config.json](https://huggingface.co/Qwen/Qwen2.5-32B-Instruct/raw/main/config.json): 32.5B, 64 layers, 8 KV heads, hidden size 5120, 40 attention heads, 32768 positions, Apache-2.0.
- [Apple Mac mini specs](https://www.apple.com/mac-mini/specs/), [MacBook Pro specs](https://www.apple.com/macbook-pro/specs/), [Mac Studio specs](https://www.apple.com/mac-studio/specs/): unified memory options per chip.
- [Methodology](https://llmformac.com/methodology): weight, KV and overhead formulas.

## Related

- [[methodology]]
- [[how-much-ram-for-local-llm]]
- [[what-fits-my-ram]]
- [[which-mac-for-local-llm]]
- [[best-llm-for-64gb-mac]]
- [[best-llm-for-32gb-mac]]
- [[deepseek-on-mac]]
- [[measure-tokens-per-second-mac]]
