
本文选自 Horizon 2026年9月2日技术简报。
摘要
一个 700 亿参数模型若用 FP16 保存,仅权重就约 140GB,尚未计算 KV Cache、激活和运行时缓冲。消费级显卡通常只有 24GB 或 48GB 显存,模型压缩因此成为本地推理和边缘部署的基础技术。量化减少每个数值的位宽,剪枝移除不重要的连接或结构,知识蒸馏则训练一个较小模型模仿教师。三者可以组合,却优化不同问题:文件更小不一定运行更快,零权重不一定节省计算,学生模型相似也不代表保留全部推理能力。
先分清模型占用了什么
部署大模型时,显存主要由权重、KV Cache、临时激活和推理框架工作区构成。权重占用大致等于参数量乘以每个参数的字节数;KV Cache 随层数、并发批量和上下文长度增长;长对话和高并发可能让缓存成为主要瓶颈。
因此,把 FP16 权重量化到 4 bit,理论上可把权重存储缩小到四分之一左右,但不会自动按相同比例减少全部显存。量化比例还要加上分组缩放因子、零点、元数据和未量化层。若上下文很长,KV Cache 仍可能占据大量空间,需要单独做 FP8、INT8 等缓存量化。
评价压缩方案应同时看模型文件、峰值显存、首 token 延迟、生成速度、吞吐、能耗和任务质量。只展示“压缩倍数”常会掩盖运行时解量化和硬件支持问题。
量化:让每个权重用更少的位表示
量化把连续浮点数映射到有限离散等级。常见做法是按通道或小组统计数值范围,保存低位整数和缩放因子,在矩阵计算时直接使用低精度指令,或临时恢复为较高精度。INT8 通常较稳健,INT4 能显著降低内存带宽,2 bit 或更低则更容易伤害能力。
权重并非均匀分布,少量离群值会扩大整个分组范围,导致多数值的量化步长过粗。GPTQ、AWQ 等方法利用校准数据和误差敏感度选择量化方式,尽量保护关键通道。量化感知训练则在训练阶段模拟低精度误差,效果通常更好,但需要重新训练成本。
速度收益取决于硬件和内核。某种 4 bit 格式若没有对应矩阵指令,推理引擎要频繁解包和转换,可能只省显存而没有明显加速。桌面 GPU、数据中心 GPU、CPU 和移动 NPU 的最佳格式并不相同。
能力损失也不是平均发生的。常规问答可能几乎不变,长上下文、数学、多步推理、代码和小概率知识更容易受影响。企业应使用真实任务集做逐层评估,而不是只看困惑度或通用榜单。
剪枝:删除连接,但硬件未必知道它被删了
非结构化剪枝把影响较小的单个权重置零。理论上网络更稀疏,实际 GPU 仍可能对密集矩阵中的零执行乘法。只有稀疏率足够高、分布符合硬件格式并有高效稀疏内核,才会转化为速度优势。
结构化剪枝会删除整个通道、注意力头、层或中间维度,矩阵尺寸真实变小,更容易获得端到端加速,但损伤也更集中。一个平均权重不大的注意力头可能专门处理罕见语法或长距离关系,直接删除后,常规测试看不出问题,特定任务却会明显退化。
判断“重要性”不能只看权重绝对值。更稳健的方法会用校准样本观察权重与输入激活共同造成的影响,并在剪枝后做微调恢复。剪枝适合模型本身存在明显冗余、目标硬件支持相应结构的场景。
蒸馏:重新训练一个更小的学生
知识蒸馏不是修改教师模型,而是让学生模型学习教师输出。相比只使用正确标签,教师的概率分布包含答案间的相对关系。例如一个分类样本的正确类别概率最高,几个相近类别仍获得小概率,这些“软信息”可以帮助学生更快理解决策边界。
对生成模型,蒸馏可使用教师生成的指令数据、推理轨迹、偏好比较或 logits。学生模型推理时尺寸天然更小,通常比在大模型上做稀疏化更容易获得稳定加速。但学生的容量有限,可能很好地模仿训练分布,却在全新组合问题和长尾知识上暴露差距。
蒸馏还会复制教师的偏见和错误。若只保留教师最常给出的答案,学生输出会更单一;若使用未经验证的推理轨迹,学生可能学习表面格式而非可靠过程。高质量蒸馏需要真实数据、教师数据与人工验证数据混合,并保留独立测试集。
三种方法如何组合
常见路线是先训练或蒸馏出合适规模的学生,再做结构化裁剪和量化。蒸馏决定模型的能力边界,剪枝消除剩余冗余,量化适配目标硬件。顺序并非固定,量化感知蒸馏也可以同时优化低精度学生。
本地知识问答若主要受显存限制,可优先使用成熟的 4 bit 权重量化;高并发服务更应关注 KV Cache、连续批处理和前缀缓存;固定边缘任务适合蒸馏成小模型,再针对 NPU 量化;对安全敏感的工业智能体,应优先保留工具调用、参数解析和拒答稳定性,不能只追求 token/s。
压缩还可能改变模型的校准程度。模型看似更自信,错误率却上升。部署侧应设置置信度检查、规则校验和大模型回退,让小模型处理多数普通任务,复杂任务交给更强模型。
结语
压缩没有统一最优解。量化主要减少数值表示成本,剪枝尝试删除网络冗余,蒸馏用训练换取更小的原生模型。选型应从业务约束出发:显存不够、延迟过高、功耗受限,还是硬件没有相应指令。真正成功的压缩不是把模型文件做得最小,而是在目标设备和真实任务上,以可接受的能力损失获得稳定、可复现的成本下降。
参考资料
- ByteByteGo, How to Shrink a Language Model Without Making It Too Dumb
- Frantar et al., GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers
- Lin et al., AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration
- Han et al., Deep Compression
- Hinton et al., Distilling the Knowledge in a Neural Network