4.2. 量化感知训练(QAT)¶
量化是指以低于浮点精度的比特宽度执行计算和存储张量的技术。量化模型使用整数而不是浮点值对张量执行部分或全部操作。与典型的FP32模型相比,horizon_plugin_pytorch支持INT8量化,从而使模型大小减少4倍,内存带宽需求减少4倍。对INT8计算的硬件支持通常比FP32计算快2到4倍。量化主要是一种加速推理的技术,量化运算只支持前向计算。
horizon_plugin_pytorch提供了适配BPU的量化操作,支持量化感知训练,该训练使用伪量化模块对前向计算和反向传播中的量化误差进行建模。请注意,量化训练的整个计算过程是使用浮点运算执行的。在量化感知训练结束时,horizon_plugin_pytorch提供转换函数,将训练后的模型转换为定点模型,在BPU上使用更紧凑的模型表示和高性能矢量化操作。
本章内容为您详细介绍地平线基于PyTorch开发的horizon_plugin_pytorch的量化训练工具。
- 4.2.1. Get Started
- 4.2.2. QUICK START
- 4.2.3. TUTORIAL
- 4.2.3.1. 浮点模型准备
- 4.2.3.2. 算子融合
- 4.2.3.3. 设置不同的 BPU 架构
- 4.2.3.4. 异构模型QAT
- 4.2.3.5. 基于 FX 的量化
- 4.2.3.6. 搭建量化友好的浮点模型
- 4.2.3.7. QAT经验总结
- 4.2.3.8. 模型精度DEBUG工具
- 4.2.3.9. 量化精度DEBUG思路
- 4.2.4. API REFERRENCE
- 4.2.5. NOTE