4-bit base mixed-precision quantization of
Qwen/Qwen3.5-35B-A3B for Apple Silicon, using the
Unsloth Dynamic quantization strategy via
mlx-node.
Benchmarked on Apple M3 Max 128GB, multi-turn chat (Turn 4 decode, steady-state).
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).
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).
1import { loadModel } from '@mlx-node/lm';
2
3const model = await loadModel('./Qwen3.5-35B-A3B-UD-Q4_K_XL-mlx');
4
5const result = await model.chat(
6 [{ role: 'user', content: 'Explain the hybrid attention mechanism in Qwen3.5.' }],
7 { maxNewTokens: 2048, temperature: 0.6, enableThinking: false },
8);
9console.log(result.text);
1mlx convert \
2 -i Qwen3.5-35B-A3B \
3 -o Qwen3.5-35B-A3B-UD-Q4_K_XL-mlx \
4 -q --q-bits 4 --q-recipe unsloth \
5 --imatrix-path imatrix_unsloth.gguf
Apache 2.0 (inherited from base model).