Post-Training Quantization, PTQ

Post-Training Quantization(PTQ)模型训练完成后,对其参数(权重 & 激活值)进行量化 的方法,目的是 减少存储占用 & 提高推理速度,同时尽可能保持模型精度

相比于 量化感知训练(Quantization-Aware Training, QAT),PTQ 不需要重新训练模型,而是 直接对训练好的模型进行量化转换,适用于 推理优化

为什么要用 PTQ?

现代深度学习模型(如 Transformer、CNN)通常采用 FP32(32-bit 浮点数) 存储权重和计算数据,这会带来以下问题:

  1. 存储占用大 💾 → 如 LLaMA 7B(FP32 模型)占用约 28GB 显存,难以在消费级 GPU 上运行。
  2. 计算速度慢 🐢 → 浮点计算(FP32)较慢,使用整数运算(INT8、INT4)可以加速推理。
  3. 硬件受限 ⚡ → 移动设备(手机、树莓派)或嵌入式系统无法运行 FP32 模型。

✨ PTQ 通过将 FP32 转换为 INT8、INT4 等低精度格式,能有效 减少模型大小 & 提高推理速度,适用于 部署阶段

PTQ 量化流程

PTQ 主要包括以下步骤:

1️⃣ 训练完成(Pretrained Model)

  • 先用 FP32 训练出模型,得到高精度模型

2️⃣ 统计激活分布(Calibration)

  • 选择 一部分校准数据(Calibration Data)来分析 激活值的分布情况
  • 例如,计算 ReLU、GELU 等激活函数输出的 最大值 & 最小值

3️⃣ 量化权重(Weight Quantization)

  • 线性量化(Linear Quantization)
    • 计算 缩放因子(scale)零点(zero-point)
    • 量化公式:

4️⃣ 量化激活值(Activation Quantization)

  • 使用 动态或静态量化 方法,将 FP32 激活值转换为 INT8 或更低精度。

5️⃣ 推理(Inference with Quantized Model)

  • 用量化后的权重 & 激活值 替换原 FP32 模型,在 CPU/GPU/TPU 上进行高效推理

PTQ 量化类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值