Two critical checkpoint errors prevent quantization (MTP config mismatch + wrong tensor naming)

#15
by Maennekes - opened

The checkpoint has two issues that make it unusable with mlx-lm / oMLX:

1. MTP declared in config but weights missing
config.json sets mtp_num_hidden_layers: 1 but the checkpoint contains no mtp.* tensors.
This causes oQ quantization to fail with:
"Native MTP is enabled for this model but the converted weights are missing the mtp.* tensors."

2. Non-standard tensor naming
Checkpoint uses:
model.language_model.layers.X.mlp.experts.X.*
mlx-lm expects:
language_model.model.layers.X.mlp.experts.X.*

This causes oQ quantization to fail with:
"Received 30720 parameters not in model: language_model.model.layers.0.mlp.experts.0.down_proj.weight, ..."

Both issues need to be fixed in the checkpoint before this model can be quantized or used with any MLX runtime.

Hi.

The second one is not just the naming issue – it actually requires to stack expert MLP weights into fused per-layer tensors.

I've managed to come up with oQ5 as an experiment.

Feel free to try it out and request more quants (see my Qwen3.6-35B-A3B collection as an example).

  • I have the similar issue. This model is Missing mtp.pre_fc_norm_hidden.weight means the actual MTP tensor set is incomplete or absent.
    I would copy the tensors from baseline Qwen3.6-35B-A3B, but acceptance rate may be worse than native Qwen3.6 because the MTP head was trained against Qwen3.6’s trunk hidden-state distribution.

Sign up or log in to comment