大模型能不能部署,不只取决于参数量。显存容量、显存带宽、KV Cache、激活峰值、batch 调度和延迟目标都会成为瓶颈。压缩模型的目标不是把文件变小这么简单,而是在质量、速度、成本和可维护性之间重新平衡。
常见压缩路线有三类:量化、蒸馏、剪枝。量化改变数值表示,蒸馏改变训练目标,剪枝改变结构稀疏性。它们可以组合使用,但每一种都有代价。
本篇能让你学会三件事:
- 量化、蒸馏、剪枝分别压缩什么;
- 为什么 4-bit 权重不等于推理延迟直接变四分之一;
- 为什么压缩后的模型必须重新评估长上下文、对齐和安全行为。
一、量化:降低数值精度
量化把 FP16/BF16/FP32 数值表示成 INT8、INT4 或其他低精度格式。权重占用更小,显存带宽压力更低,某些硬件上计算也更快。
weight-only quantization 只量化权重,激活仍保持较高精度。它实现相对容易,常用于 LLM 推理。activation quantization 连激活也量化,潜在收益更大,但更容易损失质量。
量化的难点是误差。不同层、不同通道、不同权重分布对低精度敏感程度不同。简单线性压缩可能让少数 outlier 破坏整体质量。
二、GPTQ、AWQ、SmoothQuant
GPTQ 是一类后训练量化方法,利用近似二阶信息逐层量化权重,尽量减少量化误差对输出的影响。它强调在不重新训练完整模型的情况下获得较好低比特权重。
AWQ 关注 activation-aware weight quantization。它观察到少数重要通道对模型输出影响很大,因此保护这些通道能显著改善低比特质量。
SmoothQuant 则通过在权重和激活之间迁移尺度,平滑激活 outlier,让 weight-activation quantization 更可行。这些方法的共同点是:量化不是简单四舍五入,而是围绕误差分布做工程和数学处理。
三、蒸馏:把行为迁移到小模型
蒸馏使用大模型作为 teacher,小模型作为 student。student 不只学习硬标签,也学习 teacher 输出分布、解释风格、推理轨迹或偏好行为。
在 LLM 场景里,蒸馏常用于把强模型能力转移到更小模型,或者生成高质量指令数据。它的价值不只是压缩参数,也能改善小模型的任务格式和回答风格。
代价是 student 的上限受模型容量、数据覆盖和 teacher 错误影响。teacher 的幻觉、偏见和风格也可能被复制。
四、剪枝:移除不重要结构
剪枝试图删除不重要的权重、head、通道、层或 FFN 中间维度。非结构化剪枝可以产生很多零,但如果硬件和 kernel 不支持稀疏加速,实际推理未必变快。
结构化剪枝更工程友好,比如删 head、删层、缩小 hidden dimension。它能直接减少矩阵大小,但也更容易影响能力。
剪枝的难点是评估“重要性”。某些组件在单一任务上看似不重要,在长上下文、工具调用或安全场景中可能很关键。
五、压缩不只压参数
LLM 推理还受 KV Cache 影响。权重量化减少参数显存,但长上下文下 cache 仍然可能占大头。KV Cache 量化、GQA/MQA、滑动窗口和 cache eviction 都是围绕运行时状态的压缩。
激活峰值也重要。训练或高并发推理中,中间激活和临时 buffer 可能成为显存峰值来源。模型文件小,不代表服务成本低。
所以压缩要看完整系统:权重、激活、cache、带宽、batch、延迟和质量。
六、什么时候不该压缩
压缩会改变模型行为。即使 perplexity 变化很小,下游任务、格式遵循、数学推理、长上下文检索和安全拒答都可能受影响。
生产系统不能只看一个平均分。尤其是医疗、法律、金融、安全等场景,压缩后的错误模式可能比原模型更难发现。
压缩是工程手段,不是默认越多越好。目标应该是满足约束下的可靠性,而不是追求最低 bit 数。
七、关键概念回顾
- 量化:用低精度数值表示权重或激活。
- weight-only quantization:只量化权重。
- 蒸馏:用大模型指导小模型训练。
- 剪枝:移除不重要参数或结构。
- 结构化稀疏:删掉硬件更容易加速的整块结构。
- KV Cache 量化:压缩推理时保存的 K/V 状态。
八、常见误解
8.1 “4-bit 模型延迟就是原来的四分之一”
不一定。延迟还受解码串行性、KV Cache、kernel、带宽和 batch 影响。
8.2 “perplexity 不变说明压缩无损”
不够。下游任务、对齐、安全和长上下文都要重新评估。
8.3 “剪枝出很多零就一定快”
非结构化稀疏如果没有硬件和 kernel 支持,可能不带来实际加速。
九、下一步
压缩让模型更容易部署,但也让我们更需要理解模型行为。下一篇进入可解释性:attention weight 到底是不是解释?
十、参考文献
- Frantar, E. et al. “GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers.” ICLR 2023.
- Lin, J. et al. “AWQ: Activation-aware Weight Quantization for LLM Compression and Acceleration.” MLSys 2024.
- Xiao, G. et al. “SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models.” ICML 2023.
- Hinton, G. et al. “Distilling the Knowledge in a Neural Network.” NIPS Workshop 2015.
- Michel, P. et al. “Are Sixteen Heads Really Better than One?” NeurIPS 2019.
← 上一篇:50|Speculative Decoding | 下一篇:52|可解释性入门 →
同主题继续阅读
把当前热点继续串成多页阅读,而不是停在单篇消费。
【Transformer 与注意力机制】38|GPT 系列:从 GPT-1 到 GPT-4 的路线演进
GPT 路线的关键不是某个模型名字,而是 Decoder-only Transformer、next-token prediction、规模扩展、上下文学习、指令微调和人类反馈逐步合流。本文从 GPT-1 讲到 GPT-4,只使用公开可确认信息,解释为什么自回归语言模型最终成为大语言模型时代的主线。
【Transformer 与注意力机制】39|T5:把所有 NLP 任务统一成 Text-to-Text
T5 的核心不是又发明了一种 Transformer,而是把翻译、摘要、分类、问答都改写成“输入文本到输出文本”的统一格式。本文解释 T5 为什么选择 Encoder-Decoder 架构,span corruption 和 BERT/GPT 的目标有什么差异,C4 和系统化消融实验为什么让 T5 成为迁移学习路线的重要基准。
【Transformer 与注意力机制】40|三大路线之争:为什么大模型几乎都是 Decoder-only
Transformer 不是只有一种形态。Encoder-only、Encoder-Decoder、Decoder-only 分别对应理解、条件生成和自回归生成三类信息流。本文横向比较 BERT、T5、GPT 代表的三条路线,解释为什么通用大模型时代 Decoder-only 占主流,以及为什么这不意味着另外两条路线失去价值。
【Transformer 与注意力机制】41|位置编码演进:Sinusoidal → Learned → RoPE → ALiBi
Transformer 本身没有递归和卷积,如果不注入位置信息,它只会看到一袋 token。本文从原始正弦位置编码讲到 learned embedding、相对位置、RoPE 和 ALiBi,解释位置编码为什么从“给 token 加坐标”演进到“让 attention 感知相对距离”,以及长上下文为什么让位置外推变成核心问题。