GSQ: Highly-Accurate Low-Precision Scalar Quantization for LLMs via Gumbel-Softmax Sampling
Alireza Dadgarnia, Soroush Tabesh, Mahdi Nikdan, Michael Helcig, Eldar Kurtic, Maximilian Kleinegger, Dan Alistarh
cs.CL, cs.LG
2026-04-21
GSQ 用 Gumbel-Softmax 把每个权重的格子选择做成可微问题,并和组缩放一起学。Llama-3.1-70B 在 2.13 bpp 零样本均分 75.57,比最强标量基线 EfficientQAT 高 4.14 分,距 QTIP 只差 1.68;公开 Qwen3-8B 的 Q2_K 检查点均分从 50.03 提到 56.28。
本地部署的权重量化卡在两拨方法中间。GPTQ、AWQ 这类标量量化实现简单、核现成,但 3–4 bit 以下精度掉得很快。QTIP、AQLM、GPTVQ 这类向量或栅格量化把 2–3 bit 的精度前沿推上去了,格式复杂,解码相对 BF16 几乎不加速,也很难扩到万亿 MoE。问题是:这个缺口是标量格子本身不够表达,还是格子没被认真优化过。
ISTA、ETH Zürich 与 Red Hat AI 的回答偏向后者。GSQ(Gumbel-Softmax Quantization)把每个权重落到哪个格子点,做成可微的离散分配问题,和每组的缩放一起学。最终仍是对称、按组的标量网格,现有标量推理核可以直接吃。
目标是校准输入上的输出重构误差,约束是权重必须落在离散格子上。每个坐标给一组可学 logit,Gumbel-Softmax 先给出格子点的软加权和,温度退火后塌成硬选择。三值情形拆成掩码和符号两个二元选择,logit 数减半。2-bit 均匀网格四个点,每维 4 个 logit 加一个共享缩放。3-bit 以上格子指数膨胀,改成局部平移:只在 GPTQ 初值附近允许 {−2,−1,0,+1,+2} 五档移动,每维 logit 从 8 降到 5。消融里 99.999996% 的全网格分配本来就落在这五档里。
优化器选 Lion,因为 Gumbel-Softmax 饱和后梯度消失,AdamW 会停住。块内按阶段修,不把所有线性层绑在同一个块重构损失上:先独立修 Q/K,再联合修 V/O,最后在块输出上修 MLP;量化完的块冻结,后面的块吃已经量化的前缀,把误差累积算进去。2-bit Llama 再加一轮只改组缩放的端到端蒸馏。初始化来自 GPTQ,GGUF 场景则从现成 K-Quant 出发,优化完再投影回同一格式。非均匀 bit 分配交给同一实验室的 RCO 搜索器。
Llama-3.1 零样本(ARC-C/E、HellaSwag、PIQA、WinoGrande)均分:
| 模型 | 方法 | bit/param | 均分 |
| 8B | EfficientQAT / GSQ / QTIP | 2.25 / 2.13 / 2.00 | 63.79 / 68.55 / 69.88 |
| 70B | EfficientQAT / GSQ / QTIP | 2.25 / 2.13 / 2.00 | 71.43 / 75.57 / 77.25 |
| 70B | GSQ / QTIP | 3.13 / 3.00 | 77.99 / 78.17 |
2-bit 上 GSQ 比最强标量基线 EfficientQAT 高 4.76(8B)和 4.14(70B),距 QTIP 1.33 和 1.68,距 PV-Tuning 0.70。基线还用了非对称量化加零点,GSQ 是对称格子、没有零点。8B 的三值(1.71 bpp)均分 63.44,已经打过 GPTQ/QuIP 的 2-bit,和 EfficientQAT 的 2-bit 持平。70B 用 vLLM + Humming 核,均匀 2-bit 相对 BF16 吞吐 6.20 倍。
Kimi-K2.5 只量化非共享 expert 到 2.13 bpp。AIME25 从 95.33 到 93.00,MATH-500 96.68 到 97.32,LiveCodeBench-v6 61.37 到 69.37;GPQA Diamond 从 89.29 掉到 76.57,作者归到 OpenThoughts 校准偏数学和代码。Qwen3-8B 的 Unsloth GGUF 上,Q2K 三项均分从 50.03 到 56.28,Q3KM 从 60.52 到 61.61,格式不变。
低 bit 标量和向量量化之间那截,很大一块是优化问题,不是格式天花板。对要跑 llama.cpp / vLLM 标量核、又想逼近 QTIP 精度的人,GSQ 是目前最齐的折中:对称 group-128,能进现成核,也能回写 GGUF。万亿 MoE 上向量量化几乎还没人做,标量路线反而先能落地。代价是真金白银的搜索时间:Llama-3.1-70B 在 8×H200 上 68 小时,8B 10 小时,Kimi-K2.5 因为只量化 expert、轮数更少,24 小时。
辅助 logit 在训练期占 2–5 倍权重内存,整网端到端一起训不现实,只能块级或 expert 级。局部平移依赖 GPTQ 或 GGUF 初值够近,初值很差时可能修不回来。向量量化在固定 bit 上仍然更表达,核和查找表可接受时未必被追上。Kimi 的 GPQA 掉点说明校准分布会写进量化器;LiveCodeBench 基线低于官方模型卡,作者承认协议不一致。8B 有一层 downproj 因不稳定被留成全精度,bit/param 口径排除了未量化张量。