Skip to content

[Bug] ft checkpoint fails on Qwen3.6-35B-A3B abliterated NVFP4 checkpoints: Missing MoE expert source layers #263

Description

@Redro38

Summary

ft checkpoint fails when converting two community Qwen3.6-35B-A3B abliterated NVFP4 checkpoints to FreeToken's FTW format.

Both checkpoints are fully downloaded, detected by FreeToken Desktop, and their dense weights are loaded successfully. The conversion consistently fails when FreeToken starts building the MoE expert banks.

The official nvidia/Qwen3.6-35B-A3B-NVFP4 checkpoint works correctly on the exact same Windows machine and FreeToken installation.

Environment

  • FreeToken Desktop: v0.2.0-beta.14
  • OS: Windows
  • GPU: NVIDIA GeForce RTX 4070 SUPER, 12 GB VRAM
  • System RAM: 32 GB
  • Page file: 64 GB initial / 96 GB maximum on a secondary SSD
  • Model location: C:\Users\<user>\.freetoken\models\...

This does not appear to be an out-of-memory issue:

  • System RAM was not exhausted.
  • The page file had been configured and Windows restarted before retrying.
  • The process exits quickly with a Python ValueError.
  • Dense weights are fully processed before the failure.

Checkpoints

Working checkpoint

This checkpoint downloads, converts, and runs successfully in FreeToken on this machine.

Failing checkpoints

Both are Qwen3.6-35B-A3B abliterated NVFP4 variants. The first one is detected as COMPRESSED-TENSORS by FreeToken Desktop; the second is a ModelOpt NVFP4 export.

Steps to reproduce

  1. Download one of the failing Hugging Face repositories locally.
  2. Place it under:
    C:\Users\<user>\.freetoken\models\
    
  3. Restart FreeToken Desktop so the model is detected.
  4. Select the model and click Convert / Retry convert.
  5. Wait for the ft checkpoint conversion to begin.

Expected behavior

FreeToken should convert compatible Qwen3.6-35B-A3B NVFP4 Hugging Face checkpoints into the FTW format, creating files such as:

freetoken_weight.json
freetoken-00000.ftw
freetoken-00001.ftw
...

At minimum, if a particular checkpoint layout or quantization export is unsupported, the error should identify the unsupported checkpoint format or tensor layout.

Actual behavior

The conversion stops after dense weights have been loaded and when the MoE expert banks are being built.

FreeToken Desktop only displays:

Convert failed
ft checkpoint failed (exit 1)

The detailed logs show:

[INFO] Converting dense weights: 92938it [01:01, 1926.95it/s]
[INFO] Loading compressed-tensors weights: 100%|██████████| 1/1
[INFO] expert banks: slow path (serial build)

ValueError: Missing MoE expert source layers:
{
  'gate_up':,[0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31][32][33][34][35][36][37][38][39]
  'down':[0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31][32][33][34][35][36][37][38][39]
}

The ModelOpt checkpoint fails with the same exception:

[INFO] Converting dense weights: 443it [00:06, 162.88it/s]
[INFO] Loading weights: 100%|██████████| 1/1
[INFO] expert banks: slow path (serial build)

ValueError: Missing MoE expert source layers:
{
  'gate_up':,[0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31][32][33][34][35][36][37][38][39]
  'down':[0][1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29][30][31][32][33][34][35][36][37][38][39]
}

Relevant traceback

File "freetoken\checkpoint\convert.py", line 230, in convert_checkpoint
  banks = load_expert_banks(model_path, mc, device=dev, dtype=dtype, layer_sink=sink)

File "freetoken\moe\expert_banks.py", line 337, in _build_expert_banks

File "freetoken\models\qwen3_5_moe\weight.py", line 857, in setup_offload_expert_banks

File "freetoken\models\loader.py", line 424, in _load

ValueError: Missing MoE expert source layers:
{'gate_up': [0, ..., 39], 'down': [0, ..., 39]}

Question / suspected cause

Is the Qwen3.6/Qwen3.5 MoE loader currently assuming a specific MoE tensor naming or storage layout used by the official NVIDIA checkpoint?

The failure occurs for all 40 MoE layers and only for expert sources (gate_up and down), while dense weights are read successfully. This suggests that FreeToken may not currently map the expert tensor layout or metadata used by these community NVFP4 exports.

The issue may not be specific to abliterated weights themselves. A likely common factor is the checkpoint conversion/export format:

  • sakamakismile/... is a compressed-tensors NVFP4 checkpoint.
  • joshebbs/... is a ModelOpt NVFP4 checkpoint.
  • nvidia/Qwen3.6-35B-A3B-NVFP4 works on the same system.

Could support be added for these MoE expert layouts, or could the converter emit a more specific compatibility error identifying the expected and discovered expert tensor keys?

Additional information

I can provide, if useful:

  • The full ft checkpoint command invoked by FreeToken Desktop.
  • The complete FreeToken log files.
  • The exact list of tensor keys from each checkpoint's model.safetensors.
  • A comparison of tensor keys between the working NVIDIA checkpoint and the failing checkpoints.
  • Screenshots of the Desktop model entries and conversion failure.

MoE tensor keys

Attached files:

  • joshebbs-moe-tensor-keys.txt
  • sakamakismile-moe-tensor-keys.txt

These files contain the actual MoE-related safetensors key names reported by the checkpoints.

joshebbs-moe-tensor-keys.txt
joshebbs-tensor-keys.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions