Skip to content

Model Selection Guide

Tested hardware: MacBook Pro M1 Max (64 GB) — see the Benchmark Methodology for the complete hardware configuration. All benchmark data in this project was measured on this exact machine. The 128 GB+ tier recommends models that do not fit in 64 GB — these are based on community reports, not my testing. Results scale to other M-series chips by memory bandwidth and GPU core count.

Choosing the right model depends on your available RAM. Use this project to pick the right model for your hardware.

RAM tiers

RAM Typical Macs What You Can Run
8 GB M1/M2 MacBook Air, Mac mini 1-3B models, heavily quantized 7B
16 GB M1/M2/M3 Pro, MacBook Air 7B-9B models, small MoE models
32 GB M1/M2/M3 Pro/Max 14B-30B models, most MoE models
64 GB M1/M2/M3/M4 Max/Ultra 30B-70B models, large MoE models
128 GB+ M2/M4 Ultra 70B-120B models, multiple models

Model size categories

By Parameter Count

Size Examples RAM Needed (Q4) RAM Needed (Q8) Use Case
1-3B Gemma 4 2B, Qwen 3 0.5B 2-4 GB 3-6 GB Simple Q&A, classification
7-9B Gemma 4 9B, Qwen 3 Coder 7B 6-10 GB 10-16 GB General purpose, code
14B DeepSeek R1 14B, Qwen 3 14B 10-16 GB 18-24 GB Reasoning, analysis
24-30B Gemma 4 26B, Qwen 3 Coder 30B 18-28 GB 32-48 GB Complex reasoning, coding
70B Llama 3.3 70B, Qwen 3 72B 40-50 GB 70-90 GB Maximum capability
120B+ Qwen 3 235B 80-120 GB 140-200 GB Frontier-level (128 GB+ only)

MoE (Mixture of Experts) Models

MoE models have active parameters (used per token) and total parameters (stored in memory). The active count determines speed; the total count determines memory.

Model Total Params Active Params RAM Needed (Q4) Speed
Qwen 3 Coder 14B-A3B 14B 3B 10-14 GB Very fast
Qwen 3 30B-A3B 30B 3B 18-24 GB Very fast
DeepSeek R1 14B 14B 14B (dense) 10-16 GB Moderate
Qwen 3 72B-A14B 72B 14B 40-50 GB Fast

MoE advantage: MoE models give you the capability of a large model with the speed of a small one. The 30B-A3B model (30B total, 3B active) runs nearly as fast as a 3B model while delivering quality closer to a 30B model.

KV cache memory calculation

The KV cache is the hidden state stored during generation. It grows with context length and is a major memory consumer.

Formula

KV Cache Size = context_length × num_layers × kv_heads × head_dim × bytes_per_element × 2 (K + V)

For Q8_0 quantization (1 byte per element):

KV Cache (GB) = context_length × num_layers × kv_heads × head_dim × 2 / 1,073,741,824

Example Calculations

Model Layers KV Heads Head Dim KV Cache at 4K ctx KV Cache at 32K ctx
Gemma 4 9B 42 8 128 0.3 GB 2.6 GB
Gemma 4 26B 62 16 128 0.9 GB 7.6 GB
Qwen 3 Coder 14B 40 8 128 0.3 GB 2.4 GB
Qwen 3 Coder 30B 62 8 128 0.5 GB 3.8 GB
Llama 3.3 70B 80 8 128 0.6 GB 4.8 GB

Practical Impact

  • Short context (1-4K): KV cache is negligible (< 0.5 GB)
  • Medium context (8-16K): KV cache is noticeable (0.5-2 GB)
  • Long context (32-128K): KV cache dominates memory (2-16 GB)
  • Extreme context (1M+): Requires flash attention and aggressive quantization

Quantization impact on memory

See the Quantization Guide for a complete comparison of all formats including perplexity, speed, and file size.

Quantization Memory vs FP16 Quality Loss
FP16 100% (baseline) None
Q8_0 50% Minimal
Q4_K_M 28% Small
Q4_0 25% Moderate
Q3_K_M 22% Noticeable
Q2_K 16% Significant
NVFP4 25% Small (MLX format)

Memory Calculation for a 9B Model

Quantization Model Weights KV Cache (4K) Total (approx)
FP16 18 GB 0.3 GB 18.3 GB
Q8_0 9 GB 0.3 GB 9.3 GB
Q4_K_M 5 GB 0.3 GB 5.3 GB
Q4_0 4.5 GB 0.3 GB 4.8 GB

Benchmarked tier: MacBook Pro M1 Max (64 GB). All models that fit in ≤64 GB RAM have verified performance data. The 128 GB+ tier is unbenchmarked — models there need more RAM than the test machine has.

8 GB RAM

Model Quant Format Notes
Gemma 4 2B NVFP4 MLX/Ollama Fast, capable for its size
Qwen 3 Coder 0.5B Q8_0 GGUF Tiny, fast code completion
Qwen 3 1.7B Q4_K_M GGUF General purpose
Gemma 4 9B Q4_0 GGUF Tight fit, swaps

16 GB RAM

Model Quant Format Notes
Gemma 4 9B Q4_K_M GGUF/MLX Sweet spot
Qwen 3 Coder 7B Q8_0 GGUF/MLX Excellent code model
Qwen 3 7B Q8_0 GGUF/MLX Good general purpose
DeepSeek R1 14B Q4_K_M GGUF Reasoning, tight fit
Qwen 3 Coder 14B-A3B Q4_K_M GGUF/MLX MoE, very fast

32 GB RAM

Model Quant Format Notes
Gemma 4 9B BF16 MLX Full quality
Gemma 4 26B Q4_K_M GGUF/MLX Strong reasoning
Qwen 3 Coder 14B-A3B Q8_0 GGUF/MLX Fast, high quality code
Qwen 3 30B-A3B Q4_K_M GGUF/MLX MoE, excellent quality
DeepSeek R1 14B Q8_0 GGUF Full quality reasoning
Qwen 3 14B Q8_0 GGUF/MLX Good general purpose

64 GB RAM

Model Quant Format Notes
Gemma 4 26B Q8_0 GGUF/MLX Excellent quality
Qwen 3 Coder 30B-A3B Q8_0 GGUF/MLX Top-tier code model
Qwen 3 30B-A3B Q8_0 GGUF/MLX Excellent general purpose
Llama 3.3 70B Q4_K_M GGUF Tight fit, very capable
Qwen 3 72B-A14B Q4_K_M GGUF/MLX MoE, fits well
DeepSeek R1 32B Q4_K_M GGUF Strong reasoning

128 GB+ RAM (M2/M4 Ultra — Not Benchmarked)

Note: Benchmark data covers the M1 Max 64 GB only. The following recommendations are based on memory calculations and community reports, not direct testing on other hardware.

Sources: CraftRigs M-series benchmarks, WillItRun.AI, r/LocalLLaMA community reports

Model Quant Format Notes
Llama 3.3 70B Q8_0 GGUF/MLX Full quality
Qwen 3 72B-A14B Q8_0 GGUF/MLX Excellent MoE
Qwen 3 235B-A14B Q4_K_M GGUF/MLX Frontier-level
Multiple models Various Any Run 2-3 models simultaneously

Decision tree

How much RAM do you have?
│
├─ 8 GB
│   ├─ Need speed? → Gemma 4 2B (NVFP4)
│   └─ Need capability? → Gemma 4 9B (Q4_0, tight fit)
│
├─ 16 GB
│   ├─ General purpose? → Gemma 4 9B (Q4_K_M)
│   ├─ Code? → Qwen 3 Coder 7B (Q8_0) or 14B-A3B (Q4_K_M)
│   └─ Reasoning? → DeepSeek R1 14B (Q4_K_M)
│
├─ 32 GB
│   ├─ General purpose? → Qwen 3 30B-A3B (Q4_K_M) or Gemma 4 26B (Q4_K_M)
│   ├─ Code? → Qwen 3 Coder 14B-A3B (Q8_0) or 30B-A3B (Q4_K_M)
│   └─ Maximum quality? → Gemma 4 9B (BF16, full precision)
│
├─ 64 GB
│   ├─ General purpose? → Gemma 4 26B (Q8_0) or Qwen 3 30B-A3B (Q8_0)
│   ├─ Code? → Qwen 3 Coder 30B-A3B (Q8_0)
│   └─ Maximum capability? → Llama 3.3 70B (Q4_K_M)
│
└─ 128 GB+ (not benchmarked — see sources below)
    ├─ Single best model? → Qwen 3 235B-A14B (Q4_K_M)
    ├─ High quality? → Llama 3.3 70B (Q8_0)
    └─ Multi-model? → Run 2-3 models simultaneously

Quick selection by use case

† = Unbenchmarked (models need >64 GB RAM). 64 GB rows and below are backed by my verified benchmarks.

Coding

RAM Best Choice
8 GB Qwen 3 Coder 0.5B (Q8_0)
16 GB Qwen 3 Coder 7B (Q8_0) or 14B-A3B (Q4_K_M)
32 GB Qwen 3 Coder 14B-A3B (Q8_0) or 30B-A3B (Q4_K_M)
64 GB Qwen 3 Coder 30B-A3B (Q8_0)
128 GB+ † Qwen 3 Coder 30B-A3B (BF16)

Sources for † recommendations: CraftRigs, WillItRun.AI, r/LocalLLaMA

General Purpose / Chat

RAM Best Choice
8 GB Gemma 4 2B (NVFP4)
16 GB Gemma 4 9B (Q4_K_M)
32 GB Qwen 3 30B-A3B (Q4_K_M)
64 GB Gemma 4 26B (Q8_0)
128 GB+ † Qwen 3 72B-A14B (Q8_0)

Reasoning / Analysis

RAM Best Choice
8 GB Gemma 4 2B (NVFP4)
16 GB DeepSeek R1 14B (Q4_K_M)
32 GB Gemma 4 26B (Q4_K_M)
64 GB Gemma 4 26B (Q8_0) or DeepSeek R1 32B (Q4_K_M)
128 GB+ † Qwen 3 235B-A14B (Q4_K_M)

Next steps