Repository navigation
Releases
Apollo Native 2.0.0 (developer preview)
Apollo Native 2.0.0 — developer preview
Exact, fast Gemma 4 12B on Apple Silicon. Apollo Native is a new engine line (ADR-021) that replaces
Apollo Plain v1.0.0: native Metal decode with no Python. Its output is bit-identical to mlx-lm generate_step,
and Flash mode is a little over 2× faster with output bit-identical to Plain.
Developer preview. The EULA shipped in this release is a draft that is still under counsel review. Performance
targets are not fully met yet (see below). Please report problems in this repository's Issues.
Downloads
| File | What it is |
|---|---|
Apollo-2.0.0.dmg |
Apollo.app for macOS: chat, Plain/Flash, engine control, and the Performance dashboard. Signed with Developer ID, notarized, stapled. |
Apollo-Native-2.0.0-macos-arm64.tar.gz / .zip |
Headless engine server (bin/apollo-serve <checkpoint-dir>), signed with Developer ID. |
SHA256SUMS |
Checksums for every asset. |
Requirements
- An Apple Silicon Mac (M5-class tested) running macOS 27, with about 16 GB of free memory (the engine uses about 13 GB).
- The target model, which you download yourself:
mlx-community/gemma-4-12B-it-8bit, snapshot
200bb6db075e137a4deb08838865ac4ddb86292e. Apollo finds it in the Hugging Face cache, or you can point it at the folder.
Measured performance (bit-exact in every run)
| Mode | Workload | Result | Target |
|---|---|---|---|
| Plain | Stack Lab 114-token chat → 512 | 42.1–42.6 tok/s | 46 (not met) |
| Flash | Stack Lab 114-token chat → 512 ("regime") | 91.12 tok/s median of 5 (89.95–91.75), loaded host | 92 (1% under) |
| Flash | 9-token prose → 128 | 109.6–113.0 tok/s (Apollo.app smoke 112.5) | 92 (met) |
Clean package qualification (2026-10-20, recorded clean:true). The shipped package (signature and SHA256SUMS verified) ran in a
quiet window on the M5 Max: Ma'at quiet reservation, other CI paused, every sample started below load 3, and the conflict check was clean.
All 3 of 3 paired samples were bit-exact. Medians: Plain 42.13, Flash regime 90.07 (84.59–90.87), Plain prose 42.27,
Flash prose 106.88 tok/s.
What's inside
- Flash: an Apollo-tuned MTP helper (d3, a fine-tuned derivative of
google/gemma-4-12B-it-assistant, Apache-2.0)
proposes tokens, and the Q8 target verifies every one in an exact multi-row pass, so Flash output is the target's own output.
A frequency-ranked 32K draft vocabulary makes each guess cheaper. - Local by default: the server binds
127.0.0.1on the Mac it runs on. Network sharing is opt-in. There is no network telemetry.
Local live-speed records for the dashboard can be turned on, and they never contain prompts. - Licenses:
LICENSE-APACHE-2.0andGEMMA_NOTICE.md(helper),LICENSE-MLXandTHIRD_PARTY_NOTICES.md,EULA.md(draft).
Evidence and records: ADR-021, the Stack Lab release ledger V2, and the receipt apollo-flash-vocab32k-and-levers-20261019.
Build
Assets refreshed 2026-10-19 with build 6c2c2bcf: adds bin/apollo-bench (benchmark the shipped binary itself, with exactness checks) and per-package READMEs. Same engine; output contract unchanged.
946464faa4d09c14d75c1ca36e38dc41dbfac9567eb1adefbb78dc9117dc09c3 Apollo-2.0.0.dmg
39553254c7111b006fad81559515504d7e026f34747a4752e53f4d818f1de14e Apollo-Native-2.0.0-macos-arm64.tar.gz
25a47423217a10ef12b64a2f6f21269484231f39d0574a7e48bc5c889fabba60 Apollo-Native-2.0.0-macos-arm64.zip
Measure on an idle Mac. Flash is sensitive to other GPU work: the same build measures ~90 tok/s on the chat workload on a quiet host and 72–85 under heavy load.
Apollo Plain v1.0.0
Apollo Plain v1.0.0 is a native Apple Silicon Gemma 4 12B affine-Q8 greedy inference CLI. The release contains the exact v59/c392 runtime and its MLX, JACCL, and Metal library files; it does not contain model weights.
Use: download and extract Apollo-Plain-v1.0.0-macos-arm64.tar.gz, then run apollo-plain-v1.0.0/bin/apollo-plain-run <checkpoint-dir> <comma-separated-token-ids> <token-count> [output.i32].
Measured result: three 32-token runs on Photon M5 Max / macOS 27.0 measured 41.141, 41.163, and 41.044 tok/s (median 41.141). Token IDs and terminal FP32 logits were identical across the three runs. This usable v1.0 baseline does not meet the 46 tok/s Plain target.
SHA-256: b1eb933f116e2dfce03e322118065b3c3eaa758bcbdb41b5fee27b50ec057200
The archive includes per-file hashes, RELEASE.json, and the MLX MIT license. Gemma weights are not included. Apollo Flash is a separate active line and is not in this Plain release.