Replies: 3 comments 1 reply
|
Is it this commit yesterday that has broken exporting gguf models now ??? |
|
Hi @Tum1370 — dug into this. Sharing what I found, but flagging upfront: this is my likely root cause, not a confirmed one — I don't have your actual checkpoint to inspect, so there's a piece I can't verify from the outside. Would help a lot if you can check the two things at the bottom. It's probably not that commitI checked 98a01e70c (#6659) directly. It only changes Studio's inference-time GPU tensor-parallel routing — the logic that decides What I think is actually happeningThe failing tensor is The bundled self.block_count = self.hparams["num_hidden_layers"]
if not self.no_mtp:
self.block_count += self.hparams.get("mtp_num_hidden_layers", 0) # 32 + 1 = 33
...
if name.startswith("mtp."):
...
name = f"model.layers.{cls._original_block_count + mtp_idx}.{...}" # remaps into slot 32It expects the MTP layer's weights to show up with an
I also checked Unsloth's own What would confirm itIf you can check either of these, it'd pin this down:
In the meantime, a workaround worth trying: export a non-MTP Qwen3.5-4B checkpoint if you have one, since the MTP variant's GGUF path looks like the piece that's broken right now. If this checks out, it'd want to be filed against |
|
@Tum1370 This was an issue with MTP models that has been fixed in unsloth-zoo 2026.7.4. The converter now checks whether your merged weights still carry the MTP layer and keeps or strips mtp_num_hidden_layers to match, instead of always stripping it and then crashing on the leftover tensor. Upgrade and re-export: unsloth main already pins unsloth_zoo>=2026.7.4, so a clean upgrade pulls it. If you run Studio through Pinokio, update the app so it refreshes unsloth_zoo inside its env. Your existing Qwen3.5-4B checkpoint should convert to GGUF again after that. |
Uh oh!
There was an error while loading. Please reload this page.
All week i have been exporting models fine, and suddenly yesterday i can not export my gguf model. I keep getting this error.
I have uninstalled and reinstalled, and still get the same issue. The error is the following.
GGUF export failed: Unsloth: GGUF conversion failed: Unsloth: Failed to convert text model to GGUF with command
N:\AI_Tools\Pinokio\api\Unsloth-Studio\env\Scripts\python.exe N:\AI_Tools\Pinokio\api\Unsloth-Studio\app\.unsloth\llama.cpp\unsloth_convert_hf_to_gguf.py --outfile Qwen3.5-4B.F16.gguf --outtype f16 --split-max-size 50G N:\AI_Tools\Pinokio\api\Unsloth-Studio\app\.unsloth\studio\exports\Qwen3.5-4B-GGUF\_tmp_model_191a7e51: Command '['N:\AI_Tools\Pinokio\api\Unsloth-Studio\env\Scripts\python.exe', 'N:\AI_Tools\Pinokio\api\Unsloth-Studio\app\.unsloth\llama.cpp\unsloth_convert_hf_to_gguf.py', '--outfile', 'Qwen3.5-4B.F16.gguf', '--outtype', 'f16', '--split-max-size', '50G', 'N:\AI_Tools\Pinokio\api\Unsloth-Studio\app\.unsloth\studio\exports\Qwen3.5-4B-GGUF\_tmp_model_191a7e51']' returned non-zero exit status 1. --- converter stderr --- INFO:hf-to-gguf:Loading model: _tmp_model_191a7e51 INFO:hf-to-gguf:Model architecture: Qwen3_5ForConditionalGeneration INFO:hf-to-gguf:gguf: loading model weight map from 'model.safetensors.index.json' INFO:hf-to-gguf:gguf: indexing model part 'model.safetensors-00001-of-00002.safetensors' INFO:hf-to-gguf:gguf: indexing model part 'model.safetensors-00002-of-00002.safetensors' INFO:gguf.gguf_writer:gguf: This GGUF file is for Little Endian only INFO:hf-to-gguf:Exporting model... INFO:hf-to-gguf:token_embd.weight, torch.bfloat16 --> F16, shape = {2560, 248320} INFO:hf-to-gguf:blk.1.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.1.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.1.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.10.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.10.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.10.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.11.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.11.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.11.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.12.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.12.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.12.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.13.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.13.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.13.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.14.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.14.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.14.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.15.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.15.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.15.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.16.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.16.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.16.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.17.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.17.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.17.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.18.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.18.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.18.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.19.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.19.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.19.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.2.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.2.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.2.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.20.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.20.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.20.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.21.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.21.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.21.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.22.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.22.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.22.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.23.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.23.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.23.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.24.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.24.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.24.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.25.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.25.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.25.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.26.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.29.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.3.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.3.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.3.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.30.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.30.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.30.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.31.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.31.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.31.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.4.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.4.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.4.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.5.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.5.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.5.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.6.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.6.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.6.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.7.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.7.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.7.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.8.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.8.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.8.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.9.ffn_down.weight, torch.bfloat16 --> F16, shape = {9216, 2560} INFO:hf-to-gguf:blk.9.ffn_gate.weight, torch.bfloat16 --> F16, shape = {2560, 9216} INFO:hf-to-gguf:blk.9.ffn_up.weight, torch.bfloat16 --> F16, shape = {2560, 9216} Traceback (most recent call last): File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\unsloth_convert_hf_to_gguf.py", line 298, in main() File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\unsloth_convert_hf_to_gguf.py", line 292, in main model_instance.write() File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\base.py", line 1027, in write self.prepare_tensors() File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\qwen.py", line 144, in prepare_tensors super().prepare_tensors() File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\base.py", line 881, in prepare_tensors for new_name, data_torch in (self.modify_tensors(data_torch, name, bid)): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\qwen.py", line 518, in modify_tensors yield from super().modify_tensors(data_torch, name, bid) File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\qwen.py", line 335, in modify_tensors yield from super().modify_tensors(data_torch, name, bid) File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\qwen.py", line 141, in modify_tensors yield from super().modify_tensors(data_torch, name, bid) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\base.py", line 616, in modify_tensors new_name = self.map_tensor_name(name) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "N:\AI_Tools\Pinokio\api\Unsloth-Studio\app.unsloth\llama.cpp\conversion\base.py", line 609, in map_tensor_name raise ValueError(f"Can not map tensor {name!r}") ValueError: Can not map tensor 'model.layers.32.mlp.down_proj.weight'All reactions