CoolFace
Modelpublic

Brooooooklyn/Qwen3.6-35B-A3B-UD-Q5_K_XL-mlx

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
2likes141downloads
Model Card

Qwen3.6-35B-A3B — UD-Q5KXL (mlx-node)

5-bit base mixed-precision quantization of Qwen/Qwen3.6-35B-A3B for Apple Silicon, using the **Unsloth Dynamic** quantization strategy via mlx-node.

Original (BF16)This Model
Size~66 GB26 GB
FormatSafeTensors (sharded)SafeTensors (sharded)
PrecisionBF16 uniformMixed 5/…/8-bit + BF16

All Variants

RepoGGUF EquivalentSizeDecode (tok/s)
Brooooooklyn/Qwen3.6-35B-A3B-UD-Q2_K_XL-mlxUD-Q2KXL14 GB63.7
Brooooooklyn/Qwen3.6-35B-A3B-UD-Q3_K_XL-mlxUD-Q3KXL18 GB59.2
Brooooooklyn/Qwen3.6-35B-A3B-UD-MXFP4_K_XL-mlx—21 GB54.4
Brooooooklyn/Qwen3.6-35B-A3B-UD-NVFP4_K_XL-mlx—22 GB59.1
Brooooooklyn/Qwen3.6-35B-A3B-UD-Q4_K_XL-mlxUD-Q4KXL22 GB55.1
[Brooooooklyn/Qwen3.6-35B-A3B-UD-Q5_K_XL-mlx](https://huggingface.co/Brooooooklyn/Qwen3.6-35B-A3B-UD-Q5_K_XL-mlx) (this model)UD-Q5_K_XL26 GB51.8
Brooooooklyn/Qwen3.6-35B-A3B-UD-Q6_K_XL-mlxUD-Q6KXL31 GB54.4
Brooooooklyn/Qwen3.6-35B-A3B-UD-MXFP8_K_XL-mlx—35 GB47.6
Brooooooklyn/Qwen3.6-35B-A3B-UD-Q8_K_XL-mlxUD-Q8KXL36 GB45.9

Benchmarked on Apple M3 Max 128GB via `examples/lm.ts` (best decode tok/s across turns 2–4, steady-state).

Performance

Steady-state decode: 51.8 tok/s on Apple M3 Max 128GB (best of turns 2–4, examples/lm.ts capitals chat with reasoningEffort: 'low').

Decode is memory-bandwidth bound on Apple Silicon — fewer bytes per token directly translates to higher throughput. The MoE architecture activates only 8 of 256 experts per token (~3B active out of 35.9B total), and the compiled C++ forward graph fuses the per-layer dispatch.

Per-Tensor Bit Assignments (N=5)

WeightBitsRationale
embed_tokens8-bitKLD ~0.15 — very low sensitivity
lm_head8-bitKLD ~0.05 — safest tensor
self_attn.q/k/v_proj8-bit + AWQKLD ~1.5–2.9, AWQ via layernorm
linear_attn.in_proj_qkv/z8-bit + AWQKLD ~2.9, AWQ via layernorm
self_attn.o_projbf16NOT AWQ-correctable
linear_attn.out_projbf16KLD ~6.0 — worst tensor
down_proj6-bit"Slightly more sensitive"
gate_proj, up_proj5-bitbase bits
Router gates8-bitMoE routing accuracy
GDN params (A_log, etc)bf16State-space dynamics

Quantization Strategy

Based on Unsloth Dynamic 2.0 per-tensor KLD analysis. Sensitive layers get higher bits with AWQ correction, while the bulk of FFN expert weights are aggressively quantized. imatrix AWQ pre-scaling amplifies important weight channels and fuses inverse scales into preceding layer norms (zero inference overhead).

AWQ-correctable projections (q/k/v, inprojqkv/z) are quantized at 8-bit via input_layernorm. Non-AWQ-correctable projections (oproj, outproj) are kept at bf16 — their inputs come from attention/GDN computation, not from a norm layer.

Architecture

ParameterValue
Total parameters35.9B (3B active per token)
Hidden size2,048
Layers40 (30 linear + 10 full attention)
Attention heads16 (2 KV heads, GQA 8:1)
Head dimension256
Experts256 per MoE layer, top-8 routing
Vocab size248,320
Max context262,144 tokens

Usage

typescript
import { loadSession } from '@mlx-node/lm';

const session = await loadSession('./Qwen3.6-35B-A3B-UD-Q5_K_XL-mlx');

for await (const event of session.sendStream('Explain the hybrid attention mechanism in Qwen3.6.', {
  config: { maxNewTokens: 2048, temperature: 0.6, reasoningEffort: 'low' },
})) {
  if (!event.done) process.stdout.write(event.text);
}

How It Was Made

bash
mlx convert \
  -i Qwen3.6-35B-A3B \
  -o Qwen3.6-35B-A3B-UD-Q5_K_XL-mlx \
  -q --q-bits 5 --q-recipe unsloth \
  --imatrix-path imatrix_unsloth.gguf

Acknowledgments

  • —[Unsloth](https://unsloth.ai) — Quantization strategy based on their per-layer KLD benchmarks and Dynamic 2.0 methodology
  • —[Qwen Team](https://huggingface.co/Qwen) — For the Qwen3.6 model family
  • —[Apple MLX](https://github.com/ml-explore/mlx) — For the Metal-accelerated ML framework

License

Apache 2.0 (inherited from base model).