一句话定义:模型压缩(Model Compression)是一类让训练好的模型变得更小、更快、更省资源的技术总称,最常说的三件套是量化(AI 词典:Quantization">Quantization)、剪枝(Pruning)和知识蒸馏(Knowledge Distillation)。
打个比方:训练好的大模型像一支人数庞大、人人都有话说的专家团。它回答问题时水平很高,但每次开口都要把所有专家请到现场,场地(显存)、出场费(算力成本)和等待时间(延迟)都不便宜。模型压缩要做的,就是想办法在不明显拉低水平的前提下,让这支队伍变精干。
量化:降低参数的“精度”。权重原本多用 32 位浮点数存储,如果换成 8 位整数,文件体积理论上只剩四分之一,矩阵乘法也能跑得更快。这有点像把高清照片存成压缩格式,多数场景下肉眼分不太出来。还有更激进的 4 位、二值化做法,代价是精度损失更明显,通常需要一小批数据做校准。
剪枝:把“不太重要”的连接删掉。就像给树修枝,树还是那棵树,只是枝杈少了。难点在于“重要”怎么判断,以及剪完稀疏的矩阵,硬件和推理框架未必真能跑得更快。结构化剪枝(整通道、整层地删)更容易吃到实际加速,非结构化剪枝(把单个权重置零)压缩率高但常需要专门支持。
知识蒸馏:让小模型学大模型。学生不只学标准答案,还学老师给出的“软标签”——也就是老师对各个选项的把握程度,这里面藏着类别之间的相似性信息。相当于老教授带学生,学生不必重读所有原始资料,直接学老师的判断方式。蒸馏通常要重新训练,成本比前两者高,但往往能换来更小的模型尺寸。
| 手段 | 改什么 | 是否需要再训练 | 主要收益 |
|---|---|---|---|
| 量化 | 参数的数值精度 | 通常只需校准 | 体积小、带宽省、推理快 |
| 剪枝 | 参数/结构的数量 | 一般需要微调恢复 | 参数量与计算量下降 |
| 蒸馏 | 用大模型教小模型 | 需要完整训练 | 换架构、换尺寸,效果稳 |
和相邻概念的区别:模型压缩改的是模型本身,属于“静态瘦身”;推理优化还包括 KV 缓存、算子融合、批处理等运行时手段,属于“动态提速”,两者常一起用。另外,微调(Fine-tuning)改的是模型的能力和方向,压缩改的是它的体积和速度,目的完全不同。
实际意义:对从业者,压缩决定了模型能不能塞进手机、车机、边缘盒子,也直接影响单次调用的成本和响应速度;云上服务同样受益,显存占用降下来,同样一张卡就能并发更多请求。对普通职场人,你用的语音输入、相册搜索、离线翻译能本地跑起来,背后多半有压缩的功劳。真要动手时,先弄清瓶颈是显存、算力还是延迟,再决定用哪把刀——量化最省事,蒸馏最费事但最灵活,剪枝则要先确认部署框架真的支持稀疏。另外,压缩不是免费的午餐,掉点往往要靠校准或补偿训练找回来,具体工具支持的精度与算子范围,以官方文档为准。
