社区发布 ShimQuant:把 Nemotron-3.5-Lightning 压到 11.77 GiB
开发者发现 Nemotron 张量宽度非 256 倍数导致量化失败,推出 ShimQuant 补丁将其压缩至 11.77…
NVIDIA 的 Nemotron-3.5-Lightning(30B-A3B MoE 架构)长期缺少能在 16GB 显存上跑的量化版本。一名社区开发者在排查后发现,这并非模型本身的问题,而是主流量化器在处理该模型张量宽度时的隐性 bug。据其介绍,k-quants 与 i-quants 要求张量行宽能被 256 整除,而 Nemotron 的张量行宽并非 256 的倍数,导致约 99% 的参数无法合法使用低比特类型;llama-quantize 会悄悄改用 32 块类型并保留用户指定的文件名,因此市面上所有低比特量化版本实际都落在约 4.70 bpw 左右,最小可用体积也要 18 GiB 以上。
ShimQuant 的核心思路
ShimQuant 在量化时把每一行受影响的参数「垫」到下一个 256 的倍数,使低比特类型能够正常应用;在推理阶段再把激活值切回原始尺寸。这一处理将模型压缩到 3.07 bpw、文件体积 11.77 GiB,并保留了 262,144 token 的上下文长度,可在 16GB 显存的显卡上加载运行。
实测表现
开发者用两种方式评估了 ShimQuant 的产出:
- 与 Q8_0 参考模型做 KL 散度对比:相比官方 IQ2_M,文件体积小 6.2 GiB,分布偏离也更小。
- HumanEval 测试:与 AtomicChat 发布的 19.65 GiB 版本打平,同为 91.5%,但体积小约 7 GiB。
需要指出的是,ShimQuant 在 KL 散度上仍逊于官方 IQ3_XXS,后者体积大 6.2 GiB,却更接近 Q8_0 参考。它的定位是填补 18 GiB 以下「没有可用版本」的空白,而非宣称「最优」。
使用限制
该量化文件无法直接加载到官方 llama.cpp、LM Studio、Ollama 或其他未打补丁的运行环境中,必须应用 ShimQuant 补丁。加载失败时会立刻报错,例如:
check_tensor_dims: tensor 'blk.0.ssm_in.weight' has wrong shape; expected 2688, 10304, got 2816, 10304
资源与延伸阅读
- 模型:https://huggingface.co/BoldingBuilds/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-ShimQuant-GGUF
- ShimQuant 补丁:https://github.com/JoshBolding/shimquant
- 25 个仓库、443 个量化文件的普查:https://github.com/JoshBolding/ggufaudit
开发者表示更多基准测试仍在进行中,结果将更新到模型卡片上。
