Views
No views yet
mlx_lm.convert plus re-embedded BF16 MTP. Not an oQ export.down_proj, compress the bulky MLP gate/up path.| Precision | Tensors |
|---|---|
| BF16 | Entire MTP head; per-layer GDN A_log, dt_bias, conv1d, in_proj_a, in_proj_b, in_proj_z |
| 8-bit affine / gs64 | embed_tokens, lm_head, all self_attn, linear_attn.in_proj_qkv, linear_attn.out_proj, MLP on layers 0–7 and 56–63 |
| 6-bit affine / gs32 | Middle-layer mlp.down_proj |
| 4-bit affine / gs32 | Middle-layer mlp.gate_proj and mlp.up_proj |
language_model.mtp.* in model-mtp.safetensors. mlx_lm.convert strips mtp.*; those 15 tensors are copied back from the BF16 source.temperature=1.0top_p=0.95top_k=20mtp_num_draft_tokens=3.~/.omlx/models/Qwen3.8-27B-Quality (or Import). Enable MTP in model settings. Do not run oQ on this checkpoint if you want the BF16 MTP/gates kept.1from mlx_lm import load, generate
2
3model, tokenizer = load("hanxin2000/Qwen3.8-27B-Quality")
4print(generate(model, tokenizer, prompt="Hello", max_tokens=64))mlx_lm.generate will run the quantized trunk; it may ignore the embedded MTP head.model-0000n-of-00005.safetensors — quantized language trunkmodel-mtp.safetensors — BF16 MTPmodel.safetensors.index.jsonconfig.json, tokenizer, chat_template.jinja