How was pruning done and how was the performance loss evaluated?

#2
by Jerrisk - opened

Hi, thanks for sharing these pruned + quantized GGUF weights!

I have a couple of questions about the pruning process:

  1. How exactly was the model pruned? Which method/tool did you use (structured vs. unstructured pruning, which layers/components were pruned, etc.)?

  2. How did you evaluate the performance/quality loss caused by pruning? Did you run any quantitative benchmarks or quality comparisons (e.g. video/audio quality metrics, sample outputs) against the original MiniMax-H3 model? If so, could you share the results?

Thanks in advance!

I didn't actually do the pruning myself, I just grabbed the pre-pruned weights right from the Comfy Org repo. My whole work was strictly on the GGUF conversion side. Standard quantizing usually nukes pruned diffusion models, so I had to hack together some workarounds using a patched version of llama.cpp. I hard-locked the sensitive layers (adaln and projections) to F32, reshaped the heavier layers to keep the K-Quants from corrupting them, and spoofed the architecture as "wan" so ComfyUI-GGUF could work without complaining. My main goal was just getting this to run stable on constrained local hardware, my testing was 100% structural verifying that tensor counts and shapes survived the conversion. I haven't run any formal fidelity benchmarks on the actual audio or video outputs.

  1. The modulation layer for adaptive normalization. It's replaced with a pre-calculated look up table.

  2. There's no loss. It's mathematically identical.

I'm pretty sure it was comfy-org that released the pruned version, so it's likely they did it.

Sign up or log in to comment