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

模型量化基础知识 - PTQ - 训练后量化

文章目录一、PTQ 是什么二、PTQ 的标准流程五大步骤✅ Step 0准备 FP 模型Baseline✅ Step 1插入量化节点Quantization Simulation✅ Step 2校准Calibration✅ Step 3确定量化方案Policy✅ Step 4导出量化模型Encodings Graph✅ Step 5验证与部署三、用一句话总结 PTQ 全流程四、一个极简流程图工程版五、什么时候 PTQ 不够用✅ 最后一句工程总结课后题一、为什么说 PTQ 的“理论上限”就是逼近当前 FP 模型1️⃣ PTQ 在做什么抽象层面2️⃣ 为什么再多 trick 也只能“无限逼近”二、那 QAT → dequant 回 BF16为什么会“更量化友好”1️⃣ QAT 真正学到的是什么2️⃣ dequant 回 BF16 后发生了什么三、从“工程视角”把两条路线放在一起看四、一个判断标准决定“值不值得做 QAT-dequant”下面我们用工程视角把PTQPost‑Training Quantization训练后量化的基本流程完整梳理一遍。可以把它当成一条标准流水线无论是 TensorRT / PyTorch / QNN本质步骤都高度一致。一、PTQ 是什么PTQ 的核心特点是✅模型已经训练完成✅不再反向训练、不更新权重✅ 通过少量代表性数据计算量化参数encodingsPTQ 主要解决的是如何在不重新训练的前提下把 FP32/FP16 模型安全地变成 INT8 / INT16 / 混合精度模型。二、PTQ 的标准流程五大步骤✅ Step 0准备 FP 模型Baseline输入已训练好的 FP32 / FP16 模型通常先做图优化fold BN、常量折叠确认算子在目标硬件上可量化这是后续所有步骤的基础。✅ Step 1插入量化节点Quantization Simulation在模型图中插入“量化器Quantizer / Observer”权重前模拟weight quant激活后模拟activation quant此时计算仍然是 FP但数值会被“压到量化网格上”用来评估量化误差这一步通常叫Quantization SimulationFake QuantQuantSim✅ Step 2校准Calibration这是PTQ 最核心的一步。做什么用少量代表性数据跑模型 forward统计各层激活 / 权重的min / max或直方图 / percentile / KL目的计算每个量化器的 scale 和 zero_point也即之前提到的encodings⚠️ 权重的 encodings 通常可直接算⚠️激活的 encodings 必须依赖校准数据✅ Step 3确定量化方案Policy在校准完成后需要做策略选择对称 vs 非对称per‑tensor / per‑channel / per‑block哪些层INT8INT16FP16混合精度这一步往往结合量化敏感度分析精度 / 性能 trade‑off✅ Step 4导出量化模型Encodings Graph输出通常包括两部分量化后的模型结构权重已是 INT8 / INT16encodings 文件scalezero_pointbitwidth这些会被交给TensorRTQNNNPU 编译器用于生成真正的整数推理图。✅ Step 5验证与部署最后一定要做精度验证Top‑1 / BLEU / Rouge / ppl性能验证latency / throughput / power与 FP baseline 对齐如果精度不够回到 Step 3做 mixed precision 或范围调整三、用一句话总结 PTQ 全流程PTQ 插量化器 → 跑校准数据 → 算 encodings → 固化量化参数 → 导出整数模型四、一个极简流程图工程版FP 模型 ↓ 插入 Quantizer仿真 ↓ Calibration跑少量数据 ↓ 计算 scale / zero_point ↓ 选择量化策略INT8 / INT16 / 混合 ↓ 导出量化模型 encodings ↓ 部署到目标硬件五、什么时候 PTQ 不够用当出现精度下降明显LLM / Attention 特别敏感低 bit≤ INT4 就需要QATAWQ / GPTQ / SmoothQuant 等高级方案但仍然以 PTQ 思想为基础✅ 最后一句工程总结PTQ 是“用最小成本把训练好的模型推向可部署状态”的量化方案也是所有高级量化技术的起点。课后题PTQ只能无限逼近浮点模型的精度吗QAT做完再dequant回bf16的模型能让模型对量化更友好PTQ 本身的上限确实是“在给定量化格式下尽量逼近当前浮点模型的行为”它不会改变模型对量化误差的“内在敏感性”只能在既定 FP 权重分布下做最优近似。QAT → 再 dequant 回 BF16/FP16确实可以让模型“对量化更友好” 但这不是魔法它本质上是用量化噪声当正则重新塑造权重 / 激活分布使其更容易被低比特表示。换句话说✅QAT-dequant ≠ 提升 FP 模型“绝对精度”✅QAT-dequant 提升 FP 模型“可量化性quantizability”一、为什么说 PTQ 的“理论上限”就是逼近当前 FP 模型1️⃣ PTQ 在做什么抽象层面不管我们用的是min/max / percentileGPTQ / AdaRound / SpinQuantCLE / BN re-estimationPTQ 都遵循同一个约束✅不允许修改 FP 模型的“功能形式”✅ 只能在固定 FP 权重 固定前向结构下找一个量化表示形式化一点min ⁡ quant params ∥ f quant ( x ) − f fp ( x ) ∥ \min_{\text{quant params}} \; \| f_{\text{quant}}(x) - f_{\text{fp}}(x) \|quant paramsmin​∥fquant​(x)−ffp​(x)∥也就是说目标函数是 FP 模型FP 模型本身不动2️⃣ 为什么再多 trick 也只能“无限逼近”即便用二阶信息GPTQ残差补偿更复杂的 rounding search如果 FP 权重分布本身是有极端 outlierLN / exp 前激活分布重尾某些层对 scale 特别敏感 那 PTQ 能做的只是把误差挪一挪在不同 token / channel 之间平衡损失但它无法改变权重是否“天生适合 4bit / 8bit”激活分布是否“量化友好”所以我们看到的现象通常是PTQ接近 FP但总差一点而且 bitwidth 越低gap 越“刚性”二、那 QAT → dequant 回 BF16为什么会“更量化友好”这是一个非常容易被误解、但在工程上极其重要的点。1️⃣ QAT 真正学到的是什么QAT 的训练目标并不是“把 FP 精度训得更高”而是min ⁡ E x [ ∥ f fake-quant ( x ) − y ∥ ] \min \; \mathbb{E}_{x} \left[ \| f_{\text{fake-quant}}(x) - y \| \right]minEx​[∥ffake-quant​(x)−y∥]也就是说前向里长期暴露在量化噪声下梯度会逼着模型去“适应这个噪声模型”结果是模型会自发地压缩权重动态范围减少对单点 outlier 的依赖让重要信息集中在“量化 bins 的中心”让激活分布更接近对称 / 稳定 这些都是“对量化友好”的结构性变化2️⃣ dequant 回 BF16 后发生了什么这是关键点dequant 并不会把模型“变回原来的 FP 模型”我们得到的是一个新的 BF16 模型θ bf16 QAT-dequant ≠ θ bf16 orig \theta_{\text{bf16}}^{\text{QAT-dequant}} \neq \theta_{\text{bf16}}^{\text{orig}}θbf16QAT-dequant​θbf16orig​它具备两个特性功能上接近原模型参数分布是“为量化优化过的”所以我们会看到非常典型的工程现象原 FP → PTQW4A16 掉很多QAT → dequant → 再 PTQ同样 W4A16明显稳很多calibration 不那么敏感GPTQ / SpinQuant 更容易收敛三、从“工程视角”把两条路线放在一起看路线本质能解决什么解决不了什么PTQ only近似固定 FP快、无需训练FP 模型本身“不可量化”的问题QAT → dequant重塑模型分布提升可量化性需要训练成本QAT → PTQ最常见工业解稳定低 bit PTQ不是 0 成本PTQ GPTQ最优逼近推极限上限仍由 FP 决定一句非常工程化的总结PTQ 是“压缩器”QAT 是“为压缩而重新设计内容”四、一个判断标准决定“值不值得做 QAT-dequant”可以用这个经验判断✅W8A8 / W8A16 已经很稳→ QAT-dequant 意义不大✅W4A16 / W4A8 / KV quant 非常敏感→QAT-dequant 非常值得✅同一模型不同 PTQ notebook 结果差异巨大→ 模型本身量化脆弱QAT 很可能是“治本”

相关文章:

模型量化基础知识 - PTQ - 训练后量化

文章目录一、PTQ 是什么二、PTQ 的标准流程(五大步骤)✅ Step 0:准备 FP 模型(Baseline)✅ Step 1:插入量化节点(Quantization Simulation)✅ Step 2:校准(Ca…...

X键位8芯M12插座的传输速率最高能到多少?

在工业以太网高速传输场景中,X键位(X-coded)M12插座是专为万兆级速率设计的圆形连接器接口。其最高传输速率可达10Gbps(万兆以太网),符合IEEE 802.3an 10GBASE-T标准,并可向下兼容1000BASE-T&am…...

AI Agent 系统设计方法导论

从"调用模型"到"系统工程"在当前 AI 领域,单纯的 Prompt Engineering 已无法满足日益复杂的业务逻辑。作为后端 AI 工程师,我们必须建立一个核心共识:"模型能力的上限决定了产品的下限,而架构设计的优劣…...

Linux下用tar.gz压缩含软连接的目录,为什么比zip更靠谱?

Linux下处理含软连接目录:为什么tar.gz比zip更可靠? 在Linux系统管理中,文件打包和压缩是日常操作中不可或缺的一部分。当目录结构中含有软连接(symbolic link)时,选择合适的压缩格式就显得尤为重要。许多管…...

NVIDIA Profile Inspector深度解析:解锁显卡隐藏性能与高级配置实战指南

NVIDIA Profile Inspector深度解析:解锁显卡隐藏性能与高级配置实战指南 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款面向技术爱好者和开发者的专业显卡配…...

【数据结构与算法】二叉树从建立开始

为什么你学了二叉树却还是不会做题?从“建树”到“解题”的完整思维体系在学习数据结构的过程中,二叉树几乎是每个人都会接触的内容。但一个很现实的问题是:很多人会写遍历,却不会做题。表面上看是代码能力的问题,实际…...

【数据结构与算法】树,森林,二叉树之间的转换

树的定义(递归定义)树是满足以下条件的结构:有且仅有一个根节点(没有父节点的节点)其他节点分成 m 个互不相交的子树每个子树本身也是一棵树树的基本术语术语解释例子根节点最顶层的节点,没有父节点文件夹系…...

百考通:AI精准驱动数据分析,让数据价值高效落地

在数字化浪潮席卷各行各业的今天,数据已成为核心生产要素,但如何从海量数据中挖掘价值、辅助决策,始终是企业与个人面临的核心难题。传统数据分析流程繁琐、技术门槛高、周期漫长,让许多非专业人士望而却步。百考通(ht…...

百考通:AI精准赋能实践报告,让实习总结高效又专业

对于每一位在校学生和职场新人而言,实践报告都是记录成长、沉淀经验的关键载体,却也常常成为令人头疼的难题:要么不知如何梳理工作脉络,要么难以精准提炼收获与反思,要么在格式规范和字数要求上反复纠结。百考通&#…...

百川2-13B-4bits量化版API优化:降低OpenClaw任务Token消耗20%

百川2-13B-4bits量化版API优化:降低OpenClaw任务Token消耗20% 1. 问题背景与优化动机 上周在调试OpenClaw自动化流程时,我发现一个奇怪现象:同样的文件整理任务,在不同时段运行时消耗的Token数量差异能达到30%。作为个人开发者&…...

为什么2026年还有企业在用Excel算工资?新工具提升HR工作效率

HR工资系统软件是帮助企业实现薪酬自动化核算、个税申报、社保公积金管理的数字化工具。现代工资系统通常集成考勤、绩效、人事等模块,支持复杂薪酬规则配置,将HR从每月耗时数天的手工算薪中解放出来,准确率提升至99.9%以上。 为什么2026年还…...

标普油气ETF富国(513350.SH)逆势走强、半导体承压:地缘扰动与产业逻辑共振下的ETF分化走势

4月2日,市场全天震荡调整,创业板指、科创50指数均跌超2%。板块方面,医药板块逆势走强,油气股表现活跃,光纤概念反复走强;算力租赁概念集体调整。ETF方面,标普油气ETF富国(513350.SH&…...

2026 年4月深圳高精度 TOF 传感器,这些推荐值得关注!

随着科技的飞速发展,高精度TOF(Time of Flight)传感器在众多领域的应用越来越广泛。从智能家居到自动驾驶,从工业自动化到医疗成像,TOF传感器的市场需求呈现出爆发式增长。今天,我们就来聊聊2026年值得关注…...

RK Android14 开机自启APP分析与使用

文章目录 前言 一、功能补丁 二、如何使用 1. 应用补丁 2. 设置自启动应用 3. 获取应用包名和Activity 4. 验证 总结 前言 根据客户需要,有时需要设置第三方的apk进行开机自启动。 一、功能补丁 功能分析: 系统启动完成后,自动启动系统属性 persist.sys.start.app 中配置的…...

医疗AI推理可视化卡顿难题(实时渲染延迟>120ms?)——三甲医院PACS系统C++底层优化全链路拆解

第一章:医疗AI推理可视化卡顿难题的临床影响与性能基线定义在放射科、病理科及急诊超声等实时决策场景中,AI模型输出热力图、分割掩码或病灶定位框后,若前端渲染延迟超过300ms,将直接干扰医师对动态影像序列(如心脏搏动…...

OpenClaw日志分析实战:Phi-3-vision-128k-instruct多维度错误模式识别

OpenClaw日志分析实战:Phi-3-vision-128k-instruct多维度错误模式识别 1. 为什么需要智能日志分析 凌晨三点,我被手机警报惊醒——服务器又崩了。揉着惺忪睡眼打开终端,面对满屏的日志文件,那种熟悉的无力感再次袭来。这已经是本…...

复古计算机复兴:OpenClaw+Qwen3-14B驱动命令行工作流

复古计算机复兴:OpenClawQwen3-14B驱动命令行工作流 1. 当AI遇见Unix哲学 我的书桌上至今保留着一台1984年的IBM PC/AT,那厚重的机械键盘和闪烁的绿色光标总能唤起某种仪式感。最近在调试OpenClaw对接Qwen3-14B时,突然意识到:我…...

MS5611高精度气压温度传感器Arduino驱动库

1. 项目概述MS5611-Mike-Refactored 是一款面向嵌入式平台(特别是 Arduino 兼容生态)的 MS5611 高精度气压/温度传感器驱动库。该库并非简单封装,而是对 Korneliusz Jarzebski 原始实现的一次系统性重构与工程化增强。其核心目标是将一个基础…...

mbedBug:面向mbed OS的轻量级嵌入式调试纳米框架

1. mbedBug:面向mbed OS的轻量级嵌入式调试纳米框架1.1 设计定位与工程价值mbedBug并非通用型调试器或完整测试框架,而是一个专为资源受限嵌入式环境裁剪的调试纳米框架(Debug Nanoframework)。其核心设计哲学是“最小侵入、最大可…...

有了这个Python备忘录,代码拿来即用

这段时间代码写的少了,周末用python写一个小爬虫,却发现连线程的一些方法都不记得了,还得百度查教程。工作越忙,记性越差,发现我疏远了代码,代码也疏远了我。 PS:对于小白来说自学也不是件容易…...

OpenClaw跨平台控制:Kimi-VL-A3B-Thinking远程执行多模态任务方案

OpenClaw跨平台控制:Kimi-VL-A3B-Thinking远程执行多模态任务方案 1. 为什么需要跨平台远程控制? 上周五晚上11点,我正躺在沙发上刷手机,突然想起有个紧急的竞品分析报告需要处理。电脑在书房,实在懒得起身。这时我意…...

东华OJ-基础题-33-数字之和(C++)

问题描述 输入一个正整数,求这个正整数的各位数字之和。输入说明 你的程序需要从标准输入设备(通常为键盘)中读入多组测试数据。每组测试数据为正整数,每行一个N,N小于20000输出说明 对每组测试数据,你的程…...

TimesFM时间序列预测模型实战:从基础模型到高效部署的完整路径

TimesFM时间序列预测模型实战:从基础模型到高效部署的完整路径 【免费下载链接】timesfm TimesFM (Time Series Foundation Model) is a pretrained time-series foundation model developed by Google Research for time-series forecasting. 项目地址: https://…...

快捷键失灵?让Hotkey Detective揪出幕后“键盘小偷“——专业级Windows热键冲突解决方案

快捷键失灵?让Hotkey Detective揪出幕后"键盘小偷"——专业级Windows热键冲突解决方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_m…...

2025_NIPS_RT V-Bench: Benchmarking MLLM Continuous Perception, Understanding and Reasoning through R

文章主要内容与创新点总结 一、主要内容 本文针对现有基准测试无法充分评估多模态大语言模型(MLLMs)在动态真实环境中持续感知、理解和推理能力的问题,提出了实时视频分析基准测试集RT V-Bench。该基准包含552个多样化视频(总时长167.2小时)和4631个高质量问答对,涵盖智…...

3 个高级思路,让你的 AI 绘画 / 视频从此充满想象力

前言 如今 AI 视频与绘画工具的画质越来越卷,清晰度、光影、细节几乎都已触达天花板。但真正能让人记住、能脱颖而出的作品,靠的从来不是画质,而是想象力。 当所有人都在追求 “大片感” 时,你只需要换一种思路 ——用创意打破平…...

Spring IoC 与 DI 核心详解 —— 基于 XML 配置:Bean 创建、依赖注入与生命周期全解析(Spring系列1)

在 Java 企业级开发中,Spring 框架凭借其强大的 IoC(控制反转) 与 DI(依赖注入) 能力,成为了事实上的标准。本文将带你从最原始的 XML 配置开始,逐步过渡到纯注解开发,并深入剖析 Io…...

ReactNative项目OpenHarmony三方库集成实战:react-native-render-html

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net 项目基于 RN 0.72.90 开发 📋 前言 在移动应用开发中,HTML 内容渲染是一项常见需求,特别是在新闻资讯、富文本编辑、邮件展示等场景中。React Native 原…...

状态机中的人物状态

一,人物惯性移动using System.Collections; using System.Collections.Generic; using UnityEngine;public class CharMove3 : MonoBehaviour {public Transform charTrans; //角色坐标public Vector3 currentVelocity; //当前速度public float maxSpeed; //最大速率…...

Diablo Edit2实战解决方案:从存档修复到角色定制的完整指南

Diablo Edit2实战解决方案:从存档修复到角色定制的完整指南 【免费下载链接】diablo_edit Diablo II Character editor. 项目地址: https://gitcode.com/gh_mirrors/di/diablo_edit 在暗黑破坏神II的冒险旅程中,每位玩家都可能遭遇存档损坏、属性…...