当前位置: 首页 > news >正文

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 量化类型

相关文章:

  • 深入探索JVM字节码增强技术与调优实践
  • 基于Python+Django的二手房信息管理系统
  • 用于DiffTraj的行人轨迹数据预处理
  • 程序员学商务英语之Making Business Calls
  • 每日一题--内存池
  • 嵌入式软件开发--面试总结
  • VLLM专题(三十九)—自动前缀缓存(二)
  • 【资源损坏类故障】:详细了解坏块
  • Redis解决缓存击穿问题——两种方法
  • 【踩坑实录】-The function STRING takes only primitive types
  • Netty源码—1.服务端启动流程二
  • extern和static的作用(有例子)
  • 【AI绘图模型介绍】Checkpoint / LoRA / VAE / Embeddings 模型是什么?
  • Java:Apache HttpClient中HttpRoute用法的介绍
  • 如何让节卡机器人精准对点?
  • 基于基于eFish-SBC-RK3576工控板的智慧城市边缘网关
  • 3.3 二分查找专题: LeetCode 35. 搜索插入位置
  • 事务隔离级别是?
  • 04 泛型编程
  • AMBA-CHI协议详解(二十四)
  • 亚马逊拟为商品标注“关税成本”,特朗普致电贝索斯讨说法
  • 陕西省通报6起违反八项规定典型问题,省卫健委原主任刘宝琴违规收受礼品礼金
  • 澎湃回声丨23岁小伙“被精神病”8年续:今日将被移出“重精”管理系统
  • 孙磊已任中国常驻联合国副代表、特命全权大使
  • 启程回家!神十九轨道舱与返回舱成功分离
  • 总有黑眼圈是因为“虚”吗?怎么睡才能改善?