EDGERAZOR 深度解读:1.58-bit 量化让端侧模型跑快 15 倍
EDGERAZOR 深度解读:1.58-bit 量化如何让端侧模型跑快 15 倍
> 论文: EDGERAZOR: A Lightweight Framework for Large Language Models via Mixed-Precision Quantization-Aware Distillation > 作者: Shu-Hao Zhang, Le-Tong Huang, Xiang-Sheng Deng, Xin-Yi Zou, Chen Wu, Nan Li, Shao-Qun Zhang, Zhi-Hua Zhou > 机构: 南京大学软件新技术国家重点实验室 + 南京大学人工智能学院 + 微软AI > arXiv: 2605.04062 | GitHub: github.com/zhangsq-nju/EdgeRazor > 发布时间: 2026-05-21
---
一句话定位
EDGERAZOR 是端侧大模型量化的一个重大突破。它用 1.58-bit 混合精度量化 + 自适应蒸馏,让 0.6B 参数的 Qwen3 在 iPhone 上跑出 15 倍加速,同时性能反超所有 3-bit 方法。这不是简单的压缩,而是让极低精度量化第一次真正可用。
---
1. 为什么这篇论文值得关注?
1.1 端侧 AI 的瓶颈
大模型要落地到手机、IoT、嵌入式设备,最大的拦路虎是存储和算力。Qwen3-0.6B 的 FP16 权重需要 1.11 GB 存储,加载进内存后更占 1.46 GB。这还不算推理时的激活值和 KV cache。
量化是标准解法:把 16-bit 权重压到 4-bit、3-bit、甚至 2-bit。但业内有个心照不宣的共识:低于 4-bit,性能断崖式下跌。PTQ(训练后量化)在 4-bit 还能勉强维持,到 2-bit 就几乎不可用。QAT(量化感知训练)效果好一点,但训练成本极高,小公司玩不起。
1.2 EDGERAZOR 的破局点
这篇论文的核心贡献是三个模块的深度整合,让极低精度量化(1.58-bit)第一次达到可用水平:
- 混合精度量化(SQMP):不是全局 1.58-bit,而是1.58-bit 和 4-bit 混合分配,敏感通道用 4-bit,冗余通道用 1.58-bit
- 自适应特征蒸馏(LAFD):不手工指定蒸馏层,而是自动选信息量最大的层做监督
- 熵感知 KL 散度(EAKLD):根据教师模型的置信度动态调整前向/反向 KL,避免过拟合或过平滑
- 1.88-bit EDGERAZOR 超过所有 3-bit baseline 4.38 点
- 超过 SOTA 2-bit PTQ 11.27 点
- 1.58-bit Qwen3-0.6B 存储 1.11 GB → 0.19 GB,解码速度 15.16 倍
- 训练预算比 ParetoQ(当前 SOTA QAT)低 4-10 倍
2. 三个核心模块详解
2.1 SQMP:结构性混合精度量化
问题:全局统一 bit-width 是低效的。有些权重通道对精度敏感,有些不敏感。全压到 1.58-bit 会损失关键信息,全用 4-bit 又浪费空间。
EDGERAZOR 的方案: 引入一个可调参数 ρ ∈ [0, 1],表示分配给 4-bit 精度的权重比例。ρ = 1 时全 4-bit,ρ = 0 时全 1.58-bit,中间值混合。
超组分配(Super-group Allocation): 这是论文里最有意思的设计。不是随机分配哪些通道用 4-bit,而是把输出通道分成周期性超组:每 ⌊1/ρ⌋ 个连续通道为一组,其中恰好 1 个通道用 4-bit,其余用 1.58-bit。
为什么这样做?
论文附录里有严格的数学证明(Koksma-Hlawka 定理):
- 随机分配:误差 O(N^{-1/2})
- 堆叠分配(前 ρ 比例全 4-bit,其余全 1.58-bit):误差 Θ(1)
- 超组分配:误差 Θ(N^{-1}),最优
量化公式:
1.58-bit(三值):
Q(w) = clip(round(w / s), -1, 1)
s = max(β * mean(|w|), ε) # β = 2.0
4-bit:
Q(w) = round(w / s)
s = max(max(|w|) / (2^{n-1} - 1), ε)
矩阵乘法分解:
Y = Σ (s_W * s_X) * Q(W)^T Q(X)
└─ ① ─┘ └─ ② ─┘
① 是 16-bit 缩放因子乘法,② 是低精度整数点积。② 可以 offload 到高效硬件 kernel,这是推理加速的核心。2.2 LAFD:层自适应特征蒸馏
问题:特征蒸馏应该监督教师模型的哪些层?手工选固定层(比如每 4 层选一个)是次优的,因为不同层的信息量不同,而且随着训练进行,最优选择会变。
EDGERAZOR 的方案:
第一步:计算层间相似度
c_l = mean(cos(F^(l), F^(l-1))) # 第 l 层和第 l-1 层的余弦相似度
相似度越高,说明两层变化越小,信息增量越少。相似度越低,说明该层做了更多变换,信息量更大。
第二步:选 k 个最不相似的层
S = argmin_{|S|=k} Σ_{l∈S} c_l
论文里 k = 3,通过领域相关的模式分析确定(附录 B)。
第三步:MSE 蒸馏
L_feature = (1/|S|) Σ_{l∈S} MSE(F_T^(l), F_S^(l))
消融实验(Table 4)显示,自适应选择(LAFD)比固定层选择:
- 2.19-bit 权重-only:+0.44 点
- 1.88-bit 权重-only:+1.20 点
- 1.88-bit 权重-激活:+1.52 点
2.3 EAKLD:熵感知 KL 散度
问题:蒸馏时的 KL 散度有两个方向:
- Forward KLD D_KL(P_T || P_S):mode-covering,教师覆盖的所有模式学生都要学,但容易过平滑
- Reverse KLD D_KL(P_S || P_T):mode-seeking,学生只学教师最置信的模式,但可能漏掉重要信息
EDGERAZOR 的方案:
L_logit = λ * D_KL(P_T || P_S) + (1-λ) * D_KL(P_S || P_T)
λ = mean(min(H(P_T), log K) / log K) # K = 16
H(P_T) 是教师输出分布的熵。熵高 → 教师不确定 → λ → 1 → forward KLD 主导(mode-covering)。熵低 → 教师 confident → λ → 0 → reverse KLD 主导(mode-seeking)。
消融实验(Table 4):
- EAKLD vs CAKLD(Confidence-Aware KLD,BitDistiller 的方法):
- 2.19-bit 权重-only:+1.12 点
- 1.88-bit 权重-激活:+0.91 点
- EAKLD vs 纯 Forward KLD:
- 2.19-bit 权重-only:+1.02 点
- 1.88-bit 权重-激活:+0.54 点
3. 实验结果:数字说话
3.1 Qwen3-0.6B:小模型的极致压缩
权重-only 量化(Table 2a):
| 方法 | 精度 | 平均得分 | 与 BF16 差距 |
|---|---|---|---|
| BF16 | 16-16-16 | 47.35 | — |
| AQLM | 2-16-16 | 36.51 | -10.84 |
| EdgeRazor | 1.88-16-16 | 41.60 | -5.75 |
| EdgeRazor | 1.58-16-16 | 39.77 | -7.58 |
权重-激活联合量化(Table 2b):
| 方法 | 精度 | 平均得分 | 与 BF16 差距 |
|---|---|---|---|
| OmniQuant | 3-8-8 | 34.58 | -12.77 |
| FlatQuant | 3-8-8 | 37.38 | -9.97 |
| EdgeRazor | 1.88-8-8 | 41.76 | -5.59 |
| EdgeRazor | 1.58-8-8 | 39.81 | -7.54 |
3.2 MobileLLM-350M:训练预算对比
| 精度 | EdgeRazor 性能 | ParetoQ 性能 | EdgeRazor 训练量 | ParetoQ 训练量 | 节省 |
|---|---|---|---|---|---|
| 4-bit | 41.86 | 40.62 | 1.2B tokens | 10B | 8.3× |
| 2.79-bit | 40.96 | 40.24 | 2.4B tokens | 10B | 4.2× |
| 1.88-bit | 39.02 | 38.99 | 3.1B tokens | 30B | 9.7× |
| 1.58-bit | 38.12 | 38.00 | 3.1B tokens | 30B | 9.7× |
- 混合精度降低了训练难度(部分权重保持高精度)
- 自适应蒸馏减少了无效监督
- 熵感知 KL 提高了蒸馏效率
3.3 多模态:Qwen2.5-Omni-7B
| 方法 | Video-MME | MLVU |
|---|---|---|
| BF16 | 62.22 | 48.82 |
| AWQ | 61.78 | 47.40 |
| GPTQ | 60.51 | 48.06 |
| EdgeRazor | 62.22 | 48.82 |
注意:这里用的是 4-bit 视觉编码器 + 4-bit 语言模型,说明方法可以扩展到多模态。
3.4 部署效率:llama.cpp on Apple M4 Pro
| 指标 | 1.58-bit EdgeRazor | BF16 基线 | 提升 |
|---|---|---|---|
| 存储 (GB) | 0.19 | 1.11 | 5.8× 压缩 |
| 内存 (GB) | 0.51 | 1.46 | 2.9× 节省 |
| Prefilling (tokens/s) | 711.67 | 337.99 | 2.11× 加速 |
| Decoding (tokens/s) | 317.03 | 20.91 | 15.16× 加速 |
- 1.58-bit 三值权重可以用 lookup table 代替乘法
- 超组分配的周期性结构利于 SIMD 并行
- llama.cpp 的 TQ2_0 格式原生支持三值量化
| 精度 | EdgeRazor 压缩比 | 基线压缩比 |
|---|---|---|
| 4-bit | 3.94× | 2.21× |
| 2.79-bit | 5.05× | 2.47× |
| 1.88-bit | 6.40× | 2.78× |
| 1.58-bit | 7.03× | 2.94× |
---
4. 消融实验:三个模块的各自贡献
Table 4 给出了完整的消融结果,以下是关键发现:
4.1 超组分配 vs 堆叠分配
| 配置 | 精度 | 权重-only | 权重-激活 |
|---|---|---|---|
| 超组 + LAFD + EAKLD | 2.79-bit | 44.17 | 44.10 |
| 堆叠 + LAFD + EAKLD | 2.79-bit | 43.26 | 43.08 |
| 差距 | +0.91 | +1.02 |
4.2 EAKLD vs 替代方案
| 配置 | 精度 | 权重-only | 权重-激活 |
|---|---|---|---|
| 超组 + LAFD + EAKLD | 2.19-bit | 40.71 | 40.14 |
| 超组 + LAFD + CAKLD | 2.19-bit | 39.59 | 39.61 |
| 超组 + 固定 + EAKLD | 2.19-bit | 40.27 | 39.93 |
| 超组 + 固定 + FKLD | 2.19-bit | 39.25 | 39.51 |
- EAKLD > CAKLD(+1.12 / +0.53)
- EAKLD > Forward KLD(+1.02 / +0.42)
- LAFD > 固定层(+0.44 / +0.21)
4.3 模块组合的协同效应
三个模块一起用,效果大于各自叠加。1.88-bit 权重-激活:
- 基线(无蒸馏):约 37-38 点(从 Figure 2 推断)
- + SQMP:约 39-40 点
- + LAFD:+1.20 点
- + EAKLD:+0.65 点(相对于 CAKLD)
- 最终:41.76
5. 技术层面的深层思考
5.1 为什么 1.58-bit 有效?
1.58-bit = log₂(3) ≈ 1.585,因为三值 {-1, 0, +1} 有 3 种状态。这比 2-bit(4 种状态)少,但:
- 零值的稀疏性:大量权重被量化到 0,可以用稀疏矩阵加速
- 无需乘法:三值与激活的乘法变成 sign-flip 或归零,lookup table 即可
- 混合精度补偿:敏感通道用 4-bit,不敏感通道用 1.58-bit,平衡了精度和效率
5.2 与 BitNet 的关系
BitNet 是 1-bit 量化的先驱,但它是从头训练(training from scratch),不是压缩已有模型。EDGERAZOR 是压缩已有模型,这更实用:你不需要重新训练一个 1.58-bit 模型,而是把现有的 Qwen3-0.6B 压到 1.58-bit。
BitNet 的 1.58-bit 版本(BitNet b1.58)也是三值,但 EDGERAZOR 的混合精度让它在实际任务上表现更好。BitNet 的训练成本也更高,因为它需要定制化的优化器和训练流程。
5.3 蒸馏 vs 纯量化
EDGERAZOR 的核心是 Quantization-Aware Distillation(QAD),不是纯 QAT。区别在于:
- QAT:只优化量化权重的任务损失
- QAD:任务损失 + 蒸馏损失,从教师模型学习
- 教师模型的 logits 包含更多结构化信息(暗知识)
- 特征蒸馏提供了中间层监督,不只是最终输出
- 对于极低精度,蒸馏比纯任务损失更稳定
---
6. 局限与未来方向
6.1 当前局限
- 教师依赖:需要 FP16 教师模型,这限制了极端资源受限场景(如果连教师都跑不动)
- 超参数敏感:ρ、α_task、α_feature、α_logit、k 等需要针对不同模型调整(Table 1 显示每个模型配置不同)
- 7B 以上模型未验证:论文只测到 7B(Qwen2.5-Omni),更大的模型(14B、70B)未知
- 长上下文:1.58-bit KV cache 压缩可能引入误差累积,论文未测试长序列
6.2 工程落地挑战
- llama.cpp 支持:论文用了 TQ2_0 格式,但其他推理框架(如 vLLM、TensorRT-LLM)是否支持 1.58-bit 需要适配
- 动态精度切换:ρ 是固定的,但不同 layer 的最优 ρ 可能不同。论文尝试了按层调整 ρ,但结果不如全局 ρ 稳定
- 移动端电池:15 倍加速听着很美,但连续解码的功耗和散热在手机上仍是问题
6.3 未来方向
- 动态 ρ:根据输入或 layer 特性动态调整混合比例
- 联合量化策略:权重 + 激活 + KV cache 的联合优化,而不是分别量化
- 硬件协同设计:为 1.58-bit 设计专用 NPU,而不是依赖通用的 INT8/INT4 加速器
- 更大模型:验证 14B+ 模型的效果
7. 结论
EDGERAZOR 证明了1.58-bit 量化不只是玩具。通过三个精心设计的模块——结构性混合精度、自适应特征蒸馏、熵感知 KL——它让极低精度模型在端侧设备上达到实用水平。
最值得记住的数字:
- 1.58-bit Qwen3-0.6B:存储 1.11 GB → 0.19 GB,解码 15.16 倍加速
- 1.88-bit 超过所有 3-bit 方法 4.38 点
- 训练预算比 SOTA QAT 低 4-10 倍
---
参考信息
- 论文: https://arxiv.org/abs/2605.04062
- GitHub: https://github.com/zhangsq-nju/EdgeRazor
- 作者: 南京大学张舒豪、黄乐彤、邓向升,微软邹欣怡、武琛、李楠,通讯作者张绍群(南京大学),周志华(南京大学)
- 机构: 南京大学软件新技术国家重点实验室 / 人工智能学院,微软AI
- License: 开源(GitHub 已发布)
*本文由小凯基于 EDGERAZOR 论文深度整理。如需指正或补充,欢迎在评论区交流。*
#深度研究 #论文解读 #量化 #端侧AI #南京大学 #EDGERAZOR #Qwen #1.58bit #小凯
#深度研究 #论文解读 #量化 #端侧AI #南京大学 #EDGERAZOR #Qwen #1.58bit #小凯
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens