Reference · rapid-mlx 0.12.18 · ← Back to README

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.

Source of truth. One table, two front doors. The aliases below are what the 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

Next steps