Ghost MTP head

#2
by IsValorum - opened

Hi @MrFuzzihead ,

Thanks for providing these APEX quants!

I ran into a model loading error in llama.cpp / llama-server (and LM Studio):
error loading model: check_tensor_dims: tensor 'blk.40.attn_norm.weight' not found

Root Cause

The base nex-agi/Nex-N2.5-mini model card includes mtp_num_hidden_layers: 1 in config.json, but no actual MTP tensors were exported in the base weights.

During GGUF conversion:

  1. qwen35moe.block_count was written as 41 (40 base layers + 1 MTP layer).
  2. qwen35moe.nextn_predict_layers was written as 1.

However, the tensor payload only contains blocks blk.0 through blk.39 (40 blocks total). When llama.cpp tries to load the model, it expects blk.40 because block_count == 41, causing llama-server to fail.

Solution / Patch

Patching the GGUF header fields:

  • qwen35moe.block_count: 41 βž” 40
  • qwen35moe.nextn_predict_layers: 1 βž” 0

Fixes the issue immediately and allows llama.cpp / LM Studio to load the GGUF without errors. Could you update the GGUF metadata headers in the repository so other users don't hit this error? Thanks!

Yeah the I-Quality I used a non mtp bf16 gguf to quantize it but the rest all use with mtp "added", except mtp didn't ship with Nex. It's a known issue and I'll reupload these without the mtp included

Correct quant ladder files now uploaded

MrFuzzihead changed discussion status to closed

Sign up or log in to comment