![]()
2024年,一个70B参数的模型塞进手机,推理延迟从3秒压到300毫秒。背后不是算力暴涨,而是一门叫「量化」的老手艺——把模型权重从32位浮点数砍到4位整数,内存占用直接打1折。
这门手艺的代价也明显:精度丢了,模型变「傻」了。但从业者发现,用户其实分不清GPT-4和量化版70B写的邮件哪个更好。精度损失在感知层面被高估了,成本下降却是实打实的。
从32位到4位:一场精度的「断舍离」
量化(Quantization)的本质很简单:用更少的比特表示同一个数。原始模型权重通常是32位浮点数(FP32),存储一个数需要4字节。量化后变成8位整数(INT8)甚至4位整数(INT4),同样一个数只占0.5字节。
内存节省是线性的。一个7B参数的模型,FP32需要28GB显存,INT4只要3.5GB。这直接决定了你能不能在当地杂货店的收银机上跑Llama。
但精度怎么保?关键在缩放因子(Scaling Factor)。量化不是粗暴截断,而是先找一组数的最大最小值,算出一个缩放比例,把浮点数映射到整数区间。公式写成:s = (max(x) - min(x)) / (2^n - 1)。还原时再用这个因子乘回去。
误差不可避免。原始值x和量化后的x̂之间总有缝隙,这叫量化误差。误差累积到深层网络,可能让模型输出胡言乱语。早期量化方案因此不敢碰注意力层,只敢在FFN层动手脚——相当于给跑车换轮胎,但不敢动发动机。
LLM量化的三座大山
大语言模型让量化难度指数级上升。第一层是规模:GPT-3有175B参数,每层激活值的分布差异巨大,统一缩放会顾此失彼。第二层是结构:Transformer的注意力机制对数值精度极度敏感,Q/K/V矩阵稍微歪一点,softmax输出就崩盘。第三层是动态范围:激活值里常有离群点(Outlier),几个极端大数能把整个张量的缩放因子拉偏,小数被压成零,信息直接蒸发。
![]()
2022年的LLM.int8()方案首次系统性解决离群点问题。核心发现是:1%的权重贡献了99%的数值幅度。把这些「刺头」单独用FP16存,剩下99%正常量化,精度损失控制在1%以内,速度提升2倍。
但这还不够。INT8对移动端还是太重。2023年GPTQ、AWQ、GGUF等4位方案接连出炉,把权重量化推向极限。GPTQ用二阶信息逐层校准,AWQ则发现1%的「显著权重」对精度影响 disproportionately 大,给它们开小灶保护起来。
量化方案的「军备竞赛」
现在落地的主流方案分三派。训练后量化(PTQ)最省事,模型训完直接压,适合赶工期。量化感知训练(QAT)在训练时模拟量化误差,精度最高但成本翻倍,大厂预训练阶段才用得起。最后一派是「投机量化」——推理时动态选择精度,简单token用INT4,复杂推理切回FP16,像自动挡换挡。
实际部署时还有隐藏关卡。矩阵乘法在INT4上未必更快,因为GPU的Tensor Core对8位优化最好,4位需要额外打包解包。某些方案「内存省了、速度没涨」,尴尬得像买了省油车却堵在高架。
苹果在A17 Pro上做的MLX框架值得细品。没有盲目追4位,而是在INT8和FP16之间做「混合精度」,配合统一内存架构,让7B模型在iPhone上跑到15 token/秒。这个速度刚好够用,体验不翻车。
量化误差的「薛定谔」困境
从业者常问:4位模型到底比8位差多少?答案取决于你测什么。 perplexity(困惑度)差距可能只有5%,但数学推理任务差距能到20%。更麻烦的是「能力断崖」——量化到某个阈值以下,模型突然不会某项任务了,不是线性衰减,是垂直坠落。
这种不可预测性让量化像拆炸弹。Reddit上有开发者分享:同一个4位Llama-2-70B,写代码能力完好,但逻辑推理题正确率从78%掉到41%。问题出在注意力头的某些权重被过度压缩,特定模式识别失效。
![]()
缓解方案包括「分组量化」——每128或64个权重单独算缩放因子,粒度更细,开销稍大;以及「激活感知」——不光看权重分布,还要看实际输入数据的激活值范围,动态调整。
边缘AI的「量化红利」
量化真正的战场在端侧。云端推理成本按token计费,量化省的钱是云厂商的利润;端侧推理成本是电池和散热,量化省的是用户体验。高通骁龙8 Gen 3的NPU专门优化了INT4矩阵乘,跑Stable Diffusion出图速度比上一代快3倍,功耗反而降了。
更隐蔽的收益是「模型民主化」。未经量化的Llama-2-70B需要两张A100,个人开发者玩不起。GGUF格式量化版只要一张RTX 4090的24GB显存,草根研究者也能微调自己的助手。Hugging Face上量化模型的下载量已经是原始精度的7倍。
但量化也在制造新的碎片化。同一模型有GPTQ版、AWQ版、GGUF版、MLX版,格式互不兼容。用户下载前得先查清自己的硬件吃哪一套,像买充电器前得确认是Type-C还是Lightning。Meta试图用TorchAO统一生态,但社区惯性已经形成。
下一步:量化会「消失」吗?
一个反直觉的趋势:量化技术越成熟,用户越感知不到它的存在。未来的理想状态是编译器自动选择最优精度,开发者写FP32代码,底层自动压成INT4或INT8。苹果MLX、谷歌JAX都在往这个方向走。
硬件也在配合。下一代AI芯片开始原生支持更低精度,比如4位浮点(FP4)和自定义格式(如NVIDIA的FP8 E4M3)。软件量化的压力会减轻,但「如何用更少比特表达更多信息」的数学问题不会消失——它只是从工程师的KPI转移到了芯片架构师的图纸上。
2024年6月,Mistral AI发布了Mixtral 8x22B的4位量化版,在MMLU基准上达到原版92%的分数,推理成本降到1/6。CEO Arthur Mensch在推特上写:「我们测试了127种量化配置,最终这个版本在数学和代码任务上没有可测量的退化。」
这句话的潜台词是:量化已经从「不得已的妥协」变成「可工程化的选择」。当精度损失可以被明确定义、测量、 trade-off,它就变成了产品参数表上的一行数字,而不是技术博客里的黑魔法。
你手机里的下一个AI助手,可能正跑在4位权重上。问题是:当它帮你写邮件、订餐厅、回消息的时候,你真的需要知道这件事吗?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.