howtospark
models / tencent/Hy3
Tencent logo

tencent/Hy3
299B params~21B activebfloat16MoE 192×8GQA 64:8MTP ×1262K ctxapache-2.0
Sparks
~616 GB
~467 GB
~318 GB
~168 GB
~105 GB
~100 GB
~96 GB
110 usable
REAP dialno pruning · 192 experts
Spec decode
Context33K / 262KKV
On the Sparks — 1× · 2-bit experts + NVFP4 dense · 33K ctx · FP16 KV~76K ctx fits usable
spark
14 GB free
Expert planes72.5* GB2-bit
110 usable
96* / 110 GB
87% of usable
Expert planesDense weightsKV cacheActivations + graphsOS reserve

* segment sizes marked with an asterisk are estimates pending a measured run

Estimated per-node footprint, weights + KV sharded across the Spark (tensor parallel). Overhead ~8 GB/node; KV at FP16.

layer map
80 layersMoE FFN
in
out

one MoE layer · 192 experts, 8+1 fire per token

each expert ≈ 19M params

resident: 80 MoE layers × 192 experts × 19M 289.8B

active/token: 80 × 8 × 19M 12.1B experts

+ 9.0B always-on dense (attention, embeddings, shared stack) = 21.0B active

Optimize
Verdict

299B params, ~598 GB at bfloat16 and still ~149 GB at 4-bit — one Spark can't hold it; you need surgery or more Sparks.

Make it fit

Get the weights (and headroom for KV) inside the 128 GB pool — the hard gate.

Prune experts (then quantize)

With 192 routed experts and only 8 firing per token, REAP-style pruning cuts total params without touching active compute.

pruning to half the experts ≈ halves the routed-expert weights, ~82 GB at 4-bit

Split or stream it

Even 4-bit is ~149 GB against a 110 GB usable budget; shard across ≥2 Sparks or stream cold weights from NVMe.

Go below 4 bits

Codebook/outlier methods reach 2–3 bpw when 4-bit still overflows. — for MoE, the proven shape is a 2-bit sign-symmetric codebook on the routed experts with the dense stack kept at FP8 (vLLM-Moet).

~81 GB with 2-bit experts + FP8 dense (est.)

Make it fast

Once it fits: fewer bytes per token and fewer decode steps against 273 GB/s.

Use its MTP heads

Ships 1 multi-token-prediction layer(s) — self-speculative decode with no separate draft model; check vLLM/SGLang support for this arch.

Tame the KV cache

At 262144 tokens the KV cache alone is ~86 GB at FP16; quantize or evict.

Make it yours

Change what the model does — adapt, edit, or steer it — independent of size.

Fine-tune it

LoRA/QLoRA adapts behavior on one Spark without touching the base weights.