PREVIEW RELEASE · sparse MoE · Apache-2.0 · arxiv 2609.18063

Edge0-35B-A3B
A 35B model that runs in phone-class memory.

A 35B-class sparse Mixture-of-Experts LLM that streams experts from SSD on demand — so it runs at interactive speed in just ~3 GiB of active memory, in 4-bit.

35B
params (MoE)
256 / 4
experts · active per token
2.9 GiB
peak active memory
~15
tok/s decode
140
tok/s warm prefill
4-bit
int4 + LoRA + prerouter

Watch it stream in < 3 GiB

Interactive simulation of a single forward pass under the edge0 framework: expert weights stream from storage only as routed, while a trained prerouter pre-loads next step's experts. Hit run and watch a token decode.

edge0 serve
— model edge0-35b —
● idle — press run
...
decoded: 0 rate: active:

Expert routing map — 256 experts

Active memory2.9 GiB
Checkpoint on storage19.6 GB

How it fits in phone-class memory

Full 4-bit weights stay on storage. Only the experts the router touches — the active set — are streamed into RAM, so peak memory is bounded by activity, not parameter count.

💾

SSD expert offload

All 256 expert blocks live on disk. The router fetches the 4 it needs per token just in time, from NVMe or internal flash, so RAM never holds the full model.

RAM bounded by active set, not 35B
🔮

Prerouter

A trained head predicts next-step routing one token ahead, so expert loads overlap compute instead of stalling it — like instruction prefetch for an LLM.

up to +59% decode throughput
🪢

Recover-LoRA

The int4 base is frozen; LoRA adapters are distilled from the FP16 teacher to claw back quantization loss. One read-only base serves many adapters, unmerged.

within 3.9 pts of fp16 teacher

Specifications

Base model
Qwen3.6-35B-A3B
Quantization
4-bit (int4)
Layers
40
Experts / active
256 / 4 (K=4)
Hidden size
2048
Framework
edge0 (MLX)
Contents
base + LoRA + prerouter
License
Apache-2.0

Quality after quantization

OpenCompass, identical settings, max score 100. The edge0 int4 + adapters pipeline loses 3.9 points on average versus the fp16 base.

edge0-35b (int4 + adapters) Qwen3.6-35B (fp16)

Measured performance — Mac mini M4 Pro, 24 GB

DecodePrefill cold / warmPeak active memory*
edge0-35b14.9–17.7 tok/s113 / 140 tok/s2.9 GiB

*Short contexts; long contexts add KV cache. Experts stream from SSD and are not resident.

Model summary

ItemValue
Parameter count35B total, A3B active
Adapter contentslora_edge0_35b.safetensors · prerouter_edge0_35b.safetensors
Chat templatethinking-mode enabled (multilingual reasoning)
Backendedge0 streaming framework · MLX (Apple Silicon)

Run it on your Mac

The repo is a complete, ready-to-run model directory — base, LoRA and prerouter co-located and loaded automatically.

1 · Install edge0

# MLX backend — requires Apple Silicon
pip install -e 'git+https://github.com/Edge0-AI/edge0.git#egg=edge0[fetch]'

2 · Download the model

huggingface-cli download Edge0/Edge0-35b-a3b-preview --local-dir ./Edge0-35b-a3b-preview

3 · Chat or serve

# Interactive chat
export EDGE0_35B_MODEL=$PWD/Edge0-35b-a3b-preview
edge0 chat --name edge0-35b --prompt "Introduce yourself"

# OpenAI-compatible HTTP server
edge0 serve --name edge0-35b --port 8085

Connect anything that speaks OpenAI

Notes & limitations

Preview. Coverage and agent/tool-use capability are being extended — multi-step planning and tool use are currently weak.
Backend. The MLX backend targets Apple Silicon; other backends are on the roadmap.
Context. Long contexts grow the KV cache; shorter contexts keep peak memory at ~3 GiB.