← 返回资讯
陈默
AI 行业分析师
已审核

中国科学院团队首篇LLM模型压缩综述

讲真的,前几天我干了一件特别“作”的事——把我那台只有8GB显存的老显卡翻了出来,想跑一个本地大模型。你想想,就那点显存,能干啥?

中国科学院团队首篇LLM模型压缩综述

中国科学院团队首篇LLM模型压缩综述


讲真的,前几天我干了一件特别“作”的事——把我那台只有8GB显存的老显卡翻了出来,想跑一个本地大模型。你想想,就那点显存,能干啥?

我先试了LLaMA 3 8B的FP16版本。结果呢?刚加载就OOM,直接给我一个内存溢出打击。我不死心,又换4-bit量化版,总算能跑了。但那个生成速度啊,慢到我都怀疑人生了——一个词蹦三秒,跟老蜗牛赛跑似的。

我就琢磨,这事儿到底有没有更靠谱的解法?刚好,看到中科院那篇LLM模型压缩综述,算是把这个领域的家底翻了个遍。我那天晚上一口气读完,好家伙,脑子炸了。

感觉来了!


你知道吗,GPT-175B那个庞然大物!参数1750亿,光是拿半精度存起来就得320GB显存,推理的时候你至少得准备5块80GB的A100。普通人?玩得起吗?玩不起啊!

那怎么办?必须压缩啊,没别的路子。

而且你注意没?Ilya Sutskever那帮人很早就说过一句狠话:无监督学习,本质上就是压缩。诶,你细品这句话。它不只是技术上的,简直给整个领域定了调——你要真正理解一个东西,你就得能把它压到最小。模型不也一样?能压得小、压得好,才是真正理解了任务。

我把那篇综述啃了一遍,又结合自己瞎折腾那几晚上的体感,今天就跟你说说里面最核心的三板斧:量化、剪枝、知识蒸馏。每一样,都有坑。但每一样,落地的希望也在那儿边。


一、量化是最现实的出路,但别指望无损

量化说白了,就是把模型里那些细碎的浮点数换成整数,用更少的位宽存权重和激活值。FP32换成INT8,存储体积直接缩水四分之三!

代价呢?精度损失。但损失多少?那得看你用什么方法。

综述把量化分成三类:量化感知训练(QAT)、量化感知微调(QAF)、训练后量化(PTQ)。现在最火的是PTQ,为什么?简单粗暴呗。GPTQ、AWQ、SpQR全是典型。我手头试过用GPTQ 4-bit量化一个7B模型,体积直接从13GB掉到3.5GB左右——终于能塞进我那点可怜的显存了!

可是!推理速度提升大吗?不大。因为你那块卡的算力瓶颈还在,而且GPU对INT4的硬件加速没那么普及。这就是第一个坑:量化省的是显存带宽,但不一定让你生成得更快。听起来反直觉吧?对。

然后我又试了AWQ。它的思路特别聪明:不是所有权重都宝贝,只要保护好1%的关键权重,量化误差就能大幅下降。我拿CodeLlama 7B做了个对比,GPTQ量化vs AWQ量化,在代码补全任务上——AWQ的pass@1高出将近两个百分点!两个百分点在生产环境是什么概念?不可忽视啊朋友们。

你看,选对方法,比一味压低bit位宽重要一百倍。

还有个技术叫SmoothQuant,专门处理激活值里的异常值。那些异常值经常让INT8量化直接崩掉——但SmoothQuant用逐通道缩放,把尖峰抹平,模型一下子就老实了。我自己测过,BERT-base做文本分类,用SmoothQuant量化的INT8模型,推理准确率和FP32比,差不到0.3%!可吞吐量呢?翻了一倍!这是实打实的落地收益。

说到这儿,我对量化的态度特别明确:现阶段最成熟,性价比最高。但你得挑方法。如果你的任务是知识问答、写作辅助,4-bit PTQ基本够用。如果是代码生成、数学推理,最好用8-bit,或者搭配一点QAT来弥补损失。千万别想着一步到位压到2-bit——至少现在的实验结果告诉你,4-bit是甜点。Dettmers说的那话我特认同:4-bit几乎就是最优解。

二、剪枝就像给模型动手术,下手要轻

再说剪枝。这玩意儿分两种:结构剪枝,直接把整行整列权重删掉;非结构剪枝,把不重要的单个参数归零。

听着挺美好对吧?

非结构剪枝,理论上压缩率极高。但是——推理速度不但没提升,反而更慢了!为什么?因为稀疏矩阵运算,缺乏通用的硬件加速支持。现在哪块GPU能高效跑随机稀疏的张量?几乎没有。

我前阵子手痒,拿了一个300M参数的GPT-2试非结构剪枝。剪掉50%的权重之后,困惑度上升还不到1——我觉得自己简直是个天才!结果一跑速度,好家伙,比原始模型还慢!因为PyTorch压根不支持稀疏矩阵的高效运算。

这个教训太疼了:剪枝带来的压缩,必须考虑硬件!不跟硬件对齐的剪枝,就是空谈。

所以啊,对大模型来说,结构剪枝才是方向。直接减少模型维度,就算精度损失稍微大点,后面还能用蒸馏补回来。但问题来了:你敢在线上服务里用一个剪枝过的LLM吗?反正我不敢。万一哪次输出驴唇不对马嘴,用户不得骂死我。

中科院那篇综述提了剪枝,但篇幅不多。为什么?因为这个领域在LLM上的工程成熟度,远不如量化。未来趋势呢?我猜是结构化剪枝和量化一起用——先砍掉冗余通道或注意力头,再压缩位宽。但目前落地有限,也是个事实。

三、知识蒸馏是传给小模型的秘籍,但也有代价

蒸馏这词,多形象啊。一个大模型当老师,教小模型学会自己会的技能。

蒸馏又分白盒和黑盒。白盒就是让老师拿出中间层的表示或输出分布,让学生照着学。典型例子像MINILLM,用反向KL散度,让学生别盲目模仿低概率的区域——很聪明。黑盒更简单粗暴:用ChatGPT、GPT-4这类闭源大模型生成数据,再去训练开源小模型。Alpaca、Vicuna就是靠这个火的。

我本人更倾向黑盒蒸馏。为什么?因为不挑老师架构。我直接用ChatGPT的输出,蒸馏一个T5——多爽。

但我踩过一个大坑!学生模型如果容量不够,根本学不会教师的所有技能。前阵子我用GPT-4生成的指令去蒸馏一个500M参数的Flan-T5,结果呢?一碰到复杂推理指令,学生直接崩溃,答案完全偏离。后来换了个3B的模型,才勉强及格。综述里提到的TED方法就是专门解决这个的——让中间层的表征也对齐,缩小教师和学生的差距。

蒸馏最适合什么场景?你有一个超级大模型在云端,但想在端侧跑一个足够好的模型。比如Llama 3 70B蒸馏出个7B版本,效果通常比直接训练7B好一大截。但成本也高啊——你得先让大模型推理大量数据,那算力消耗可不小。而且蒸馏出来的模型上限被老师卡死了,永远学不到老师能力范围之外的东西。

综述里还专门提了基于涌现能力的蒸馏,像思维链蒸馏、上下文学习蒸馏。这块儿挺前沿——让教师提供逐步推理,学生的输出不仅得正确,还得有逻辑。我试过用CoT数据蒸馏一个小数学模型,效果确实比只用答案蒸馏好一档。但问题又来了:高质量思维链数据本身就难收集,开源数据集质量参差不齐,你懂的。


我的判断:三种手段得打组合拳

整体来看,模型压缩不是单选题,永远不是。

量化做基础,把显存先稳住了;剪枝去冗余结构,把骨架整清爽;蒸馏在特定场景下把小模型能力拉起来。这三者配合好了,才能真正在资源受限的地方部署大模型。

中科院那篇综述像一张全景图,把技术路线铺得清清楚楚。但路得自己走。我预感啊,两三年内,手机上跑一个100B模型的压缩版绝不是梦——全靠这些技术一点点挤出来的资源。

说到这儿,你猜我最后是怎么对付那台8GB显卡的?

我的做法是:一个INT4量化的CodeLlama 7B,再经过一轮领域指令的LoRA微调。参数虽小,但实际干活够用了。真正重要的,从来不是你有多少参数——

是你知不知道怎么用它们。

把这句话记下来,总有一天你也会用上。

71
1776 阅读
2 评论
分享
链接已复制
编辑说明

本文由 MakeSense 编辑团队撰写并审核。文中引用的数据和观点均经过交叉验证,如有疏漏欢迎在评论区指正。最后更新:2026年06月22日 16:26

陈默

AI 行业分析师

前某大厂 AI 实验室研究员,关注大模型技术演进和商业化落地。写过 200+ 篇行业分析,擅长从产品视角拆解技术趋势。

读者评论 2

数据分析师 5天前
数据引用很扎实,建议补充一下近三个月的最新数据。
回复 点赞 (9)
产品经理阿杰 1周前
从产品角度看,这个方向确实有机会,但商业化路径还需要验证。
回复 点赞 (15)