游乐游手机版
首页/AI热点日报/热点详情

大模型量化方法详解 实际落地最常用技术

类型:热点整理2026-06-12
说到大模型量化,先讲几个关键点。 大家都知道,现在大模型参数规模轻松突破万亿级别,但各行各业的落地需求却越来越迫切。最近连手机端都开始卷轻量级大模型了,这股势头确实够猛。 所以大模型压缩技术成了研究热点,核心目标就两个:降低部署成本,提升推理性能。 目前大模型压缩主要分这几类: 剪枝(Pruning

说到大模型量化,先讲几个关键点。

大家都知道,现在大模型参数规模轻松突破万亿级别,但各行各业的落地需求却越来越迫切。最近连手机端都开始卷轻量级大模型了,这股势头确实够猛。

所以大模型压缩技术成了研究热点,核心目标就两个:降低部署成本,提升推理性能。

目前大模型压缩主要分这几类:

  • 剪枝(Pruning)

  • 知识蒸馏(Knowledge Distillation)

  • 量化(Quantization)

  • 低秩分解(Low-Rank Factorization)

实际商业落地时,这些技术往往需要组合使用,没有一招鲜的办法。本文重点聊聊其中最重要的模型量化——从基本概念到当前主流做法都会覆盖到。

下面是快速浏览目录:

  1. 量化的目标
  2. 量化是什么
  3. 量化对象包括哪些
  4. 量化形式
  5. 量化分类
  6. 详细介绍一下QAT

一、量化的目标

先还原一个真实场景:老板扔来一句话——在XX环境下,运存不能超过200M,效果差距不能超过X%。这时候,算法同学就得开始琢磨量化方案了。

这里说的“运存”,其实包含两部分:模型本身参数的大小,以及模型稳定运行后占用的运算资源。参数大小很好算,比如float32占4个字节,那么所占内存就是:参数规模×4/1024/1024/1024。下面这个表格很直观:

dtype每10亿参数所需内存
float324G
fp16/bf162G
int81G
int40.5G

至于模型稳定运行后的运算资源占用,那就得实测了。

二、量化是什么

模型量化,简单说就是用较低的推理精度损失,把连续取值的浮点型权重(比如float32)近似成有限多个离散值(比如int8)

通过用更少的位数来表示浮点数据,模型尺寸变小了,推理时的内存消耗也降低了。在一些低精度运算较快的处理器上,还能顺便提升推理速度。具体来看,[-T, T]是量化前的数据范围,[-127, 127]是量化后的数据范围——相当于把一个大范围的数据硬塞进一个更小的框里。

量化示意图

三、量化对象

量化的对象就是模型的参数,主要看模型运算中间出现的几种常见类型:

  • embedding:词嵌入向量的量化

  • 权重(weight):最常规也最常见的量化对象,量化weight能直接减少模型大小和内存占用

  • 输入(input)

  • 输出(output)

四、量化形式

这里主要分线性量化和非线性量化,区别在于量化后的数据能否均匀覆盖原始数据范围。实际工程中,线性量化是主流选择。原理如下:假设r是量化前的浮点数,量化后的整数q可以表示为:

量化公式

公式中的round()和clip()分别表示取整和截断操作,qmin和qmax是量化后的最小最大值。s是量化间隔(也叫标量),z是数据偏移的偏置。z为0时叫对称量化,不为0时叫非对称量化。多数情况下z等于0。

五、量化分类

根据应用量化的阶段不同,模型量化分为三类:

1. 量化感知训练(Quantization Aware Training, QAT)

在训练过程中加入伪量化算子,通过统计输入输出的数据范围来提升量化后模型的精度。适合对精度要求高的场景。量化目标无缝集成到训练流程中,让模型在训练阶段就适应低精度表示,从而增强它对量化精度损失的容忍能力。

2. 量化感知微调(Quantization-Aware Fine-tuning, QAF)

微调过程中对LLM进行量化,核心目标是保证微调后的模型在量化到低位宽后依然保持性能。通过把量化感知融入微调过程,在模型压缩和性能保持之间找平衡。

3. 训练后量化(Post Training Quantization, PTQ)

在LLM训练完成后对其参数进行量化,只需要少量校准数据,适合追求快速落地、缺乏训练资源的场景。主要目标是降低存储和计算复杂度,不需要修改模型架构或重新训练。优势在于简单高效,但有一定精度损失。

六、详细介绍一下QAT

QAT在实际落地中是最常用的方法。它的思路是在训练过程中模拟量化,利用伪量化算子把量化带来的精度损失计入训练误差。这样一来,优化器在训练过程中就会主动减少量化误差,最终得到精度更高的模型。

具体流程如下:

  • 初始化:设定权重和激活值的范围qmin和qmax的初始值;

  • 构建模拟量化网络:在需要量化的权重和激活值后面插入伪量化算子;

  • 量化训练:重复执行直到网络收敛,计算量化网络层的权重和激活值范围,把量化损失带入前向推理和后向参数更新中;

  • 导出量化网络:获取qmin和qmax,计算量化参数s和z,将量化参数代入公式,把网络中的权重转换为量化整数值;

  • 删除伪量化算子:在量化网络层前后分别插入量化和反量化算子。

最后推荐大家读一下《Training with Quantization Noise for Extreme Model Compression》这篇论文,还有fairseq框架中的实现。如果想自己动手落地,把这些内容吃透,基本就能搞定了。

大模型轻量化在实际应用中,还会加入adaptive softmax来缩小词表运算、使用STE等优化算法。关于大模型量化的具体方案和实践代码,后面会继续深入展开。

来源:https://www.53ai.com/news/qianyanjishu/1072.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。