CoolFace
Modelpublic

Brooooooklyn/Qwen3.6-27B-UD-Q8_K_XL-mlx

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
7likes144downloads
Model Card

Qwen3.6-27B — UD-Q8KXL (mlx-node)

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

Original (BF16)This Model
Size~51 GB30 GB
FormatSafeTensors (sharded)SafeTensors (sharded)
PrecisionBF16 uniformMixed 8-bit + BF16

All Variants

RepoGGUF EquivalentSizeDecode (tok/s)
Brooooooklyn/Qwen3.6-27B-UD-Q2_K_XL-mlxUD-Q2KXL15 GB20.0
Brooooooklyn/Qwen3.6-27B-UD-Q3_K_XL-mlxUD-Q3KXL18 GB16.2
Brooooooklyn/Qwen3.6-27B-UD-NVFP4_K_XL-mlx—21 GB14.9
Brooooooklyn/Qwen3.6-27B-UD-MXFP4_K_XL-mlx—21 GB15.9
Brooooooklyn/Qwen3.6-27B-UD-Q4_K_XL-mlxUD-Q4KXL21 GB15.3
Brooooooklyn/Qwen3.6-27B-UD-Q5_K_XL-mlxUD-Q5KXL25 GB13.4
Brooooooklyn/Qwen3.6-27B-UD-Q6_K_XL-mlxUD-Q6KXL27 GB12.4
Brooooooklyn/Qwen3.6-27B-UD-MXFP8_K_XL-mlx—29 GB10.5
[Brooooooklyn/Qwen3.6-27B-UD-Q8_K_XL-mlx](https://huggingface.co/Brooooooklyn/Qwen3.6-27B-UD-Q8_K_XL-mlx) (this model)UD-Q8_K_XL30 GB9.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: 9.9 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.

Per-Tensor Bit Assignments (N=8)

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_proj8-bit"Slightly more sensitive"
gate_proj, up_proj8-bitbase bits
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 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 parameters27.4B (dense — all active)
Hidden size5,120
Layers64 (48 linear + 16 full attention)
Attention heads24 (4 KV heads, GQA 6:1)
Head dimension256
Intermediate size17,408
Vocab size248,320
Max context262,144 tokens

Usage

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

const session = await loadSession('./Qwen3.6-27B-UD-Q8_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-27B \
  -o Qwen3.6-27B-UD-Q8_K_XL-mlx \
  -q --q-bits 8 --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).