Hardware tiers
What to serve based on your Mac's unified memory. These
seven picks are the single recommendation table shared by
install.sh and the desktop app — one canonical alias per
tier; boot time and peak RSS are measured on an M3 Ultra where listed.
install.sh
quick-start banner prints after
curl -fsSL https://rapidmlx.com/install.sh | bash, and
what the desktop app's picker recommends for the same Mac. Both
mirror RAMBucketedDefault.tiers, and a CI test parses
the shell and the Swift and fails if they disagree at any RAM size.
Boot times and peak RSS come from a single run on one M3 Ultra
256 GB: cold serve to a 200 on /v1/models,
then one real completion, sampling the RSS of the whole server
process tree.
The RAM → alias map
| RAM tier | Alias (default recommendation) | HF repo | Boot to /v1/models |
Peak RSS |
|---|---|---|---|---|
| 96+ GB | qwen3.5-122b-mxfp4 |
nightmedia/Qwen3.5-122B-A10B-Text-mxfp4-mlx |
not measured | not measured |
| 64-95 GB | qwen3.6-35b-8bit |
mlx-community/Qwen3.6-35B-A3B-8bit |
10.6 s | 37.7 GB |
| 32-63 GB | gemma-4-26b-4bit |
mlx-community/gemma-4-26b-a4b-it-4bit |
4.8 s | 15.6 GB |
| 24-31 GB | bonsai-27b-2bit |
prism-ml/Ternary-Bonsai-27B-mlx-2bit |
4.8 s | 8.4 GB |
| 18-23 GB | qwen3.5-9b-4bit |
mlx-community/Qwen3.5-9B-4bit |
not measured | 8.7 GB† |
| 16-17 GB | qwen3.5-4b-4bit |
mlx-community/Qwen3.5-4B-MLX-4bit |
not measured | 6.0 GB† |
| 8-15 GB | lfm2.5-2.6b-4bit |
LiquidAI/LFM2.5-2.6B-MLX · 4bit/ |
4.8 s | 2.0 GB |
What this column is, precisely. A short prompt and a 64-token
completion — "does this tier boot and answer" — through
rapid-mlx serve, which quantizes the KV cache to int4 by
default. A 2K-token prefill barely moves it:
bonsai-27b-2bit goes from 8.4 GB to 8.5 GB on
the same machine. Run the same weights through a bare
mlx_lm script with an unquantized cache and you will
measure over 10 GB — the KV default is worth roughly two
gigabytes on a 27B. Compare like with like.
† The two 4-bit Qwen 3.5 rows have not been run
on the M3 Ultra yet, so their memory column is the checkpoint
footprint from the installer's recommendation dataset rather than
a measured peak RSS: qwen3.5-9b-4bit ≈ 8.7 GB /
35.7 tok/s, qwen3.5-4b-4bit ≈ 6.0 GB /
60.7 tok/s. The four rows with a boot time are one run on one Mac.
96+ GB · Mac Studio / Pro
Pick: qwen3.5-122b-mxfp4
· rapid-mlx serve qwen3.5-122b-mxfp4
Qwen 3.5 122B-A10B (122B total / 10B active MoE) in MXFP4. The largest checkpoint in the recommendation table, and the only tier where the question is "what is the most capable thing this Mac can hold" rather than "what fits".
Boot and peak RSS are not listed because we have not measured them on the same machine as the rest of the table, and a number carried over from a different run would not be comparable to the ones above. The four rows with a boot time are one run on one Mac.
64-95 GB · Mac Studio
Pick: qwen3.6-35b-8bit
· rapid-mlx serve qwen3.6-35b-8bit
Qwen 3.6 35B-A3B (35B total / 3B active MoE) in 8-bit MLX. Ships with
a native MTP head baked into the checkpoint, so
--speculative-config '{"method":"mtp"}' (with
--force-spec-decode) accelerates decode without a
separate drafter download. The hermes /
qwen3 parser pair is auto-selected.
Rationale: the full-fidelity 8-bit build of Qwen 3.6 35B-A3B. Its edge is quantization fidelity on long and hard prompts, not bench points — which is exactly the trade a Mac with 64 GB can afford and a 32 GB one cannot. 37.7 GB peak leaves room for the prefix cache and concurrent sequences.
32-63 GB · Mac Studio / high-spec mini
Pick: gemma-4-26b-4bit
· rapid-mlx serve gemma-4-26b-4bit --no-mllm --kv-cache-dtype bf16 --cache-memory-mb 512
The flags are not optional here. Gemma 4 26B ships a vision
tower, and an unbounded KV budget will claim headroom this Mac needs
for everything else. --no-mllm drops the vision path,
--kv-cache-dtype bf16 and
--cache-memory-mb 512 cap the cache. The installer prints
the full command; the app applies the same flags when it starts this
pick on this tier.
Rationale: 15.6 GB peak with the flags on, which clears 32 GB with room for a browser and an IDE alongside — the real constraint on a machine people also work on. Hand-picking this alias on a larger Mac keeps vision: the flags travel with the recommendation, not with the model.
24-31 GB · Mac Mini / MacBook Pro
Pick: bonsai-27b-2bit
· rapid-mlx serve bonsai-27b-2bit
Ternary Bonsai 27B, packed to 2-bit MLX. A 27B-class model at 8.4 GB peak is the reason this tier gets something far more capable than its memory would normally buy. It is slower than every other pick in the table — the trade is quality per gigabyte, not speed.
If you want speed instead, the desktop app offers
lfm2.5-8b-a1b-4bit as this tier's fast alternative
(5.3 GB peak, ~121 tok/s on an M2 Pro). It is a chat specialist,
not a general-purpose replacement.
18-23 GB · MacBook Air / Pro
Pick: qwen3.5-9b-4bit
· rapid-mlx serve qwen3.5-9b-4bit
Qwen 3.5 9B in 4-bit MLX — the default dense workhorse. This is the
smallest tier where a coding agent starts to work reliably: real
instruction following and tool calling at an 8.7 GB footprint,
roughly 35.7 tok/s. The hermes / qwen3
parser pair is auto-selected.
Rationale: an 18-23 GB Mac cannot hold the 24 GB tier's 27B safely once the OS and an editor are running, but 8.7 GB of weights leaves comfortable headroom for the KV cache and other apps.
16-17 GB · MacBook Air / base MacBook Pro
Pick: qwen3.5-4b-4bit
· rapid-mlx serve qwen3.5-4b-4bit
Qwen 3.5 4B in 4-bit MLX. At a 6.0 GB footprint and roughly 60.7 tok/s it is the fast, general-purpose pick for a 16 GB Mac — the same Qwen 3.5 family and parser pair as the tier above, sized so it fits alongside the OS and a browser without paging.
Rationale: 16 GB is where a 9B no longer leaves safe headroom once real workloads run beside it, so the recommender steps down to the 4B rather than risk memory pressure.
8-15 GB · MacBook Air / base mini
Pick: lfm2.5-2.6b-4bit
· rapid-mlx serve lfm2.5-2.6b-4bit
LFM2.5-2.6B, a 2.6B model whose 30 layers are 22 short-convolution blocks and only 8 GQA. Those 8 attention layers are why it belongs here: the KV cache costs roughly 16 KB per token, so a 32K conversation adds about half a gigabyte on top of 1.6 GB of weights. 128K context, 2.0 GB peak.
What it is good at, and what it is not. It is post-trained for
tool use and instruction following and beats models several times its
size on those. Liquid publishes it as
not recommended for agentic coding and knowledge-heavy tasks,
and we agree — if you are driving a coding agent, this is the wrong
model and the 18-23 GB tier (qwen3.5-9b-4bit) is where
that starts working.
Its weights live in the 4bit/ folder of a repo that ships
eight quantizations side by side; rapid-mlx fetches only that folder,
so the download is 1.6 GB rather than the repo's ~19 GB.
New in this tier: a real reasoner.
ling-3.0-tiny-4bit (4.2 GB weights) is inclusionAI's
7.9B mixture-of-experts with only 1.3B active per token — thinking
streamed as reasoning_content, native tool calling, 131K
context. It is the strongest reasoning option that fits this tier;
pick it over LFM2.5 when you want chain-of-thought rather than fast
instruction following. It is not in the measured table above because
the boot / peak-RSS numbers there are one run on one Mac, and we have
not run it on that machine yet.
Verify empirically
The installer's doctor subcommand reports your machine's
Apple Silicon variant, macOS version, free disk, and HF cache size,
then flags any missing optional extras.
$ rapid-mlx doctor
Sample output on M3 Ultra 256 GB:
◆ System ✓ Apple Silicon (Apple M3 Ultra, 256 GB) ✓ macOS 26.5.1 (Darwin 25.5.0) ✓ Free disk: 114 GB ◆ Required Packages ✓ mlx 0.32.0 ✓ mlx-lm 0.31.3 ✓ rapid-mlx 0.12.17