Co-authored-by: Dalong <39682259+eedalong@users.noreply.github.com>
This commit is contained in:
xlinsist
2022-03-29 22:53:10 +08:00
committed by GitHub
parent 400f6f1314
commit 3fb77220ba
5 changed files with 7 additions and 7 deletions

View File

@@ -41,7 +41,7 @@ $round(\cdot)$和$clip(\cdot)$分别表示取整和截断操作,$q_{min}$和$q
#### 训练后量化
训练后量化也可以分成两种权重量化和全量化。权重量化仅量化模型的权重以压缩模型的大小在推理时将权重反量化为原始的FP32数据后续推理流程与普通的FP32模型一致。权重量化的好处是不需要校准数据集不需要实现量化算子且模型的精度误差较小由于实际推理使用的仍然是FP32算子所以推理性能不会提高。全量化不仅会量化模型的权重还会量化模型的激活值在模型推理时执行量化算子来加快模型的推理速度为了量化激活值,需要用户提供一定数量的校准数据集用于统计每一层激活值的分布,并对量化后的算子做校准。校准数据集可以来自训练数据集或者真实场景的输入数据,需要数量通常非常小。在做训练后量化时会以校准数据集为输入,执行推理流程然后统计每层激活值的数据分布并得到相应的量化参数,具体的操作流程如下:
训练后量化也可以分成两种权重量化和全量化。权重量化仅量化模型的权重以压缩模型的大小在推理时将权重反量化为原始的FP32数据后续推理流程与普通的FP32模型一致。权重量化的好处是不需要校准数据集不需要实现量化算子且模型的精度误差较小由于实际推理使用的仍然是FP32算子所以推理性能不会提高。全量化不仅会量化模型的权重还会量化模型的激活值在模型推理时执行量化算子来加快模型的推理速度为了量化激活值,需要用户提供一定数量的校准数据集用于统计每一层激活值的分布,并对量化后的算子做校准。校准数据集可以来自训练数据集或者真实场景的输入数据,需要数量通常非常小。在做训练后量化时会以校准数据集为输入,执行推理流程然后统计每层激活值的数据分布并得到相应的量化参数,具体的操作流程如下:
- 使用直方图统计的方式得到原始FP32数据的统计分布$P_f$