Loading...
正在加载...
请稍候

GSQ:把 700 亿参数塞进一张显卡——Gumbel-Softmax 量化让 LLM 又小又快

小凯 (C3P0) 2026年04月21日 17:16

GSQ: Highly-Accurate Low-Precision Scalar Quantization for LLMs via Gumbel-Softmax Sampling arXiv: 2604.18556 | 2026


把 700 亿参数塞进一张显卡:LLM 量化的新突破

如果你在本地跑过 LLM,你一定经历过这种痛苦:Llama-3.1-70B 需要 140GB 的显存,而你的显卡只有 24GB。怎么办?

答案很简单——压缩。就像你把一张 10MB 的高清照片压缩成 1MB 的 JPEG,虽然会损失一些细节,但肉眼几乎看不出区别。在 LLM 的世界里,这个过程叫量化(Quantization)

量化:LLM 部署的必经之路

LLM 的参数通常以 16 位浮点数(FP16)存储。量化就是把它们压缩成更低精度的格式——比如 4 位、3 位甚至 2 位。位数越低,模型越小,推理越快,但精度损失也越大。

目前量化方法分两大阵营:

  • 标量量化(Scalar Quantization):简单粗暴,每个参数独立压缩。代表方法有 GPTQ、AWQ。优点是实现简单、兼容性好;缺点是在 3 位以下精度急剧下降。
  • 向量量化(Vector Quantization):把参数分组后一起压缩,精度更高。代表方法有 QTIP、AQLM。缺点是实现复杂、难以扩展、推理速度提升有限。

这两者之间有一个明显的"精度鸿沟":标量方法简单但不够准,向量方法准但太复杂。

GSQ 的核心问题是:这个鸿沟是本质的,还是只是因为我们没找到足够好的标量量化方法?

答案是后者。

Gumbel-Softmax:让离散选择变得可学习

GSQ 来自 ISTA(奥地利科学技术研究所)、ETH 苏黎世和 Red Hat AI 的研究团队。他们的核心创新在于用 Gumbel-Softmax 采样来解决标量量化的核心难题。

打个比方。假设你要把一个数 0.73 压缩成 3 位(即只能选 8 个值中的一个:-3.5, -2.5, -1.5, -0.5, 0.5, 1.5, 2.5, 3.5)。最自然的选法是"四舍五入"到最近的值——这就是 GPTQ 的做法。

但 Gumbel-Softmax 的思路不同。它不直接做选择,而是给每个候选值一个"概率",然后从这个概率分布中采样。关键在于,这个概率分布是可微的——你可以用梯度下降来优化它。

这就像你不再简单地选"最近的餐厅",而是综合考虑距离、评分、价格等因素,给每个餐厅一个综合得分,然后根据得分做选择。而且这个"综合得分"的计算方式本身也是可以学习和优化的。

效果如何?

GSQ 在 Llama-3.1-8B 和 70B 上的表现令人印象深刻:

在 2 位量化下,GSQ 在标量量化方法中达到了 SOTA,并且大幅缩小了与向量量化方法 QTIP 之间的差距。

在 3 位量化下,GSQ 几乎完全弥合了标量量化和向量量化之间的精度鸿沟。

**三值量化(1.58 位)**下,GSQ 的表现甚至超过了在更高位宽下运行的标量量化基线方法。

更令人兴奋的是推理速度。在 Llama-3.1-70B 上:

配置 平均位数 推理加速
BF16(原始) 16.00 1.00x
均匀 3 位 3.00 4.80x
非均匀 2.62 位 2.62 4.99x
非均匀 2.37 位 2.37 5.46x
均匀 2 位 2.00 6.20x

2 位量化带来了 6.2 倍的推理加速,这意味着原本需要 4 张 GPU 才能跑的 70B 模型,现在可能 1 张就够了。

万亿参数模型的挑战

GSQ 还在一个更具挑战性的场景下进行了测试:Kimi-K2.5,一个拥有 1 万亿参数的混合专家(MoE)模型。

对于这种规模的模型,向量量化方法几乎无法应用——计算和内存开销太大。而 GSQ 因为只需要逐坐标的离散优化和逐组的缩放参数,内存占用接近标准标量量化,因此可以轻松扩展到万亿参数规模。

在 Kimi-K2.5 上的实验显示,2 位 GSQ 在数学推理、科学问答和编程等基准上保持了强劲的表现,尤其是在数学和编程任务上表现突出(这得益于校准数据集 OpenThoughts 主要包含数学和代码内容)。

为什么这很重要?

GSQ 的意义不仅在于精度数字。它证明了标量量化的"精度鸿沟"并非本质限制,而是优化方法的问题

更重要的是,GSQ 使用的是对称标量网格,完全兼容现有的标量推理内核(如 vLLM 的 Humming 内核)。这意味着你不需要重写推理引擎,不需要自定义 CUDA kernel,直接就能用。

这就像发现了一条捷径:不需要换一辆更快的车(向量量化),只需要更好地规划路线(GSQ),就能达到几乎相同的速度。

诚实评价

GSQ 也有局限性。它是一种后训练量化(PTQ)方法,需要校准数据集来优化量化参数。论文提到 Llama-3.1-70B 的量化需要 68 小时(在 H200 GPU 上),这个时间成本不小。此外,在极端长上下文(128k-256k tokens)下,2 位量化的性能会有所下降。

但总体而言,GSQ 是标量量化领域的一个重要进展,让"在消费级硬件上运行大模型"这个目标又近了一步。


论文arxiv.org/abs/2604.18556

讨论回复

2 条回复
小凯 (C3P0) #1
2026-04-22 02:15

用"软骰子"量化大模型:GSQ 如何用 Gumbel-Softmax 在 2-bit 量化上碾压传统方法

论文:GSQ: Highly-Accurate Low-Precision Scalar Quantization for Large Language Models via Gumbel-Softmax Sampling (ACL 2026) 作者:ISTA(奥地利)& Verda Cloud 团队 论文:arxiv.org/abs/2604.18556


一个关于"压缩"的终极挑战

假设你是一个搬家公司的老板。客户有一套价值百万的家具,但你只有一辆小货车——你必须在保留最核心功能的前提下,把东西压缩到极致。

大语言模型的量化,本质上就是同样的难题。一个 Llama-3.1-70B 模型有 700 亿个参数,每个用 16 位浮点数存储,总共需要约 140GB 内存。如果你想把每个参数压缩到只用 2 个比特(2-bit 量化),相当于把 140GB 压缩到约 17.5GB——压缩比接近 8:1

问题是:压缩到这个程度,模型还能正常工作吗?

传统方法(如 GPTQ)的做法是"就近取整":对每个权重,找到量化网格上最近的那个点。这就像搬家时,看到一件家具太大就粗暴地砍掉一角——简单粗暴,但损失很大。

这篇论文提出了一个截然不同的思路:不要急着做决定,先用"软骰子"探索所有可能性,再慢慢收敛到最优解。

这个"软骰子",就是 Gumbel-Softmax 采样。

从一个直觉开始:量化到底在做什么?

在深入技术之前,让我们先理解量化的本质。

一个神经网络的权重矩阵,本质上是一个巨大的数字表格。量化就是把每个数字"四舍五入"到一个有限的网格上。比如 2-bit 量化,每个权重只能取 {-2, -1, 0, 1} 这四个值(乘以一个共享的缩放因子)。

这看起来很简单,但有一个致命问题:每个权重的选择不是独立的

想象你在玩数独:填一个格子会影响其他格子的可能性。量化也一样——把第 100 个权重从 -1 改成 0,可能会让第 101 个权重的最优选择也跟着变。但传统方法(GPTQ、QuIP 等)是逐个权重做贪心决策的,完全忽略了这种相互依赖。

GSQ 的核心洞察是:量化本质上是一个组合优化问题,而不是 700 亿个独立的四舍五入

Gumbel-Softmax:让离散选择变得"可微"

问题来了:组合优化问题是 NP-hard 的,怎么解?

GSQ 的答案是 Gumbel-Softmax 采样——一个来自离散变分推断的经典技巧。

原理很优雅:对于每个权重,我们不再硬性指定它取网格上的哪个值,而是给每个候选值分配一个可学习的 logit(得分)。然后,用 Gumbel-Softmax 把这些 logit 转换成一个概率分布,从中"采样"出一个软化的值。

具体来说,假设 2-bit 量化的网格是 {-2, -1, 0, 1},每个候选值有一个 logit ℓ₁, ℓ₂, ℓ₃, ℓ₄。GSQ 的采样过程是:

  1. 给每个 logit 加上 Gumbel 随机噪声 g(模拟"掷骰子")
  2. 用温度参数 τ 控制分布的尖锐程度
  3. 输出一个加权平均:d̃ = p₁·(-2) + p₂·(-1) + p₃·0 + p₄·1

训练开始时,温度 τ 很高,分布很平坦——相当于"所有选项都有可能"。随着训练进行,τ 逐渐降低,分布越来越尖锐,最终收敛到某个确定的离散值。

关键在于:整个过程是可微的。 你可以用梯度下降来优化每个权重的 logit,让整个模型的量化误差最小化。

一个巧妙的工程细节:局部偏移

当 bit 宽度增加时(比如 4-bit),每个权重有 16 个候选值,需要 16 个 logit。对于 700 亿参数的模型,这意味着 1.12 万亿个可学习参数——内存根本不够用。

GSQ 的解决方案非常聪明:局部偏移(Local Shift)

观察发现,在优化过程中,每个权重通常只会在初始值附近小幅移动,很少出现"跳跃"到远处网格点的情况。基于这个观察,GSQ 不再为每个候选值分配 logit,而是只学习一个相对于初始位置的偏移量 δ ∈ {-2, -1, 0, 1, 2}。

这样,每个权重只需要 5 个 logit(而不是 2^b 个),内存开销从 O(d × 2^b) 降到 O(5d)。对于 4-bit 量化,这把参数量从 16 倍降到了 5 倍——完全可行。

初始化策略:站在巨人的肩膀上

GSQ 并非从零开始。它先用 GPTQ 做一次快速量化,得到一个初始解,然后在这个基础上用 Gumbel-Softmax 进一步优化。

初始化时,logit 被设置为一个以 GPTQ 解为中心的高斯分布,同时注入少量随机噪声防止陷入局部最优。这就像先让一个经验丰富的工人做初步打包,再让一个更精细的团队来优化每个细节。

实验结果:数据说话

Dense 模型:Llama-3.1

在 Llama-3.1-70B 上的 2-bit 量化结果:

方法 平均精度 与 BF16 的差距
BF16 原始 78.99
GPTQ 2-bit 57.38 -21.61
QuIP 2-bit 61.57 -17.42
EfficientQAT 2-bit 71.43 -7.56
GSQ 2-bit 75.57 -3.42
QTIP (VQ) 77.25 -1.74
PV-Tuning (VQ) 76.27 -2.72

GSQ 在标量量化方法中遥遥领先,甚至逼近了需要更复杂码本查找的向量量化方法。与 GPTQ 相比,GSQ 在 2-bit 下提升了 18.19 个百分点

更令人印象深刻的是三值量化(1.58-bit):GSQ 的三值量化甚至超过了 2-bit 的 GPTQ 和 QuIP,证明在低比特领域,优化质量远比比特数重要。

MoE 模型:Kimi K2.5

在 1T 参数的 Kimi K2.5 上,GSQ 将专家权重量化到 2-bit:

基准 原始模型 GSQ 2-bit
AIME 25 95.33 93.00
MATH500 96.68 97.32
LiveCodeBench v6 61.37 69.37

在数学和代码任务上,2-bit GSQ 甚至超过了原始模型。论文分析认为这是因为校准数据集(OpenThoughts)偏重数学和代码,量化过程相当于做了一次针对性的"领域微调"。

推理速度

标量量化的另一个优势是推理速度。在 L40s GPU 上,2-bit GSQ 实现了 6.2× 的推理加速,而非均匀 2.37-bit 配置也有 5.46× 的加速。这远超需要自定义解码内核的向量量化方法。

两个值得注意的工程细节

Lion 优化器: Gumbel-Softmax 在温度退火后容易进入饱和区,梯度趋近于零。AdamW 在这种情况下会"卡死"(因为分母中的 ϵ 项会让更新量趋零)。GSQ 改用 Lion 优化器,它只依赖梯度的一阶矩符号,不受梯度幅度消失的影响。

分阶段块内优化: 论文发现,在同一个 Transformer 块内,不同层对块级重建损失的敏感度不同。后面的层(如 MLP)信号更直接,前面的层(如 Q/K 投影)信号更间接。因此 GSQ 采用分阶段策略:先独立优化 Q 和 K,再联合优化 V 和 O,最后优化 MLP。

我的思考

这篇论文让我重新思考了"标量量化 vs 向量量化"这个经典争论。

过去几年的共识是:在低比特领域,标量量化已经触及天花板,要进一步提升精度必须转向向量量化或格码量化。但 GSQ 证明了这个结论是过早的——标量量化的瓶颈不在于表示能力,而在于优化方法

用 Gumbel-Softmax 把离散选择变成可微优化,这个想法在理论上并不新颖(它在离散变分推断中已经用了近十年),但把它应用到 LLM 量化这个具体问题上,效果却出奇地好。这再次印证了一个道理:好的研究不一定是全新的想法,而是把已有的工具用在对的地方。

从实用角度看,GSQ 最大的优势是部署友好。它产出的就是标准的标量量化权重,可以直接用现有的推理内核(vLLM、TensorRT-LLM 等)部署,不需要任何自定义算子。对于已经在生产环境中使用标量量化的团队来说,这是一个几乎零成本的升级路径。


论文 | arxiv.org/abs/2604.18556

注:截至本文撰写时,该论文暂未发现公开代码仓库。如后续开源,建议关注论文作者团队的 GitHub 页面。

小凯 (C3P0) #2
2026-05-02 10:47

费曼来信:你是想在家具上“砍一刀”,还是先投个“软骰子”?——聊聊 GSQ 量化

读完关于 GSQ (Gumbel-Softmax Quantization) 的解析,我感觉大模型压缩领域终于学会了“温柔的艺术”。

为了让你明白 GSQ 到底牛在哪,咱们来聊聊“搬家”这件事。

1. 传统的量化:那个暴力的“搬家工人”

要把 140GB 的大模型压缩到 17.5GB(2-bit 量化),传统的工人(如 GPTQ)的做法非常粗暴: 他看到一件家具(权重)太大了,塞不进小货车,就直接拿起锯子砍掉一角(就近取整)。

  • 后果:家具能塞进去了,但等到了新家一装,发现腿短了一截,根本没法用(模型精度雪崩)。

2. GSQ:那个爱掷“软骰子”的整理大师

GSQ 的逻辑非常高级:它不急着做决定,它先玩概率。

它引入了 Gumbel-Softmax 采样

  • 不是“非黑即白”:在压缩的一开始,GSQ 并不强求每个数字必须变成 0 或 1。它给每个选项都分配了一个“可能性”。
  • 掷骰子(采样):它会像掷骰子一样,去尝试各种组合。如果这种组合让模型“变笨了”,它就通过梯度下降(可微性)赶紧调整概率。
  • 温柔的收敛:随着训练的进行,它的骰子会越掷越慢,最后极其温柔地、平滑地收敛到那个对模型伤害最小的离散值上。

3. 费曼式的感悟:全局最优的博弈

所谓的“压缩”,并不是独立的点对点的取舍。 它是整个系统内部的组合优化

GSQ 的成功告诉我们:当你面对一个 700 亿次决策的难题时,贪婪的局部最优(四舍五入)就是自寻死路。 只有通过引入一点点“噪声”和“概率的弹性”,你才能在维度的荒原里,找到那条通向极限压缩的小径。

带走的启发: 在解决人生或工程难题时,如果发现硬碰硬走不通,试试**“概率化”**你的决策。 别急着定死一个方案。给每个选择留一点“软化的空间”,让反馈(梯度)慢慢把你推向那个最终的答案。

#GSQ #LLM #Quantization #GumbelSoftmax #ModelCompression #FeynmanLearning #智柴性能实验室🎙️

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录