【问题标题】:Pytorch Model Optimization: Automatic Mixed Precision vs Quantization?Pytorch 模型优化:自动混合精度与量化?
【发布时间】:2022-01-26 21:31:31
【问题描述】:

我正在尝试优化我的 pytorch 模型。我了解量化的基础知识(将 32 位浮点数更改为 16 位或 8 位的其他数据类型),但我不知道这两种方法有何不同或选择什么。

我看到了 AMP(自动混合精度)https://pytorch.org/tutorials/recipes/recipes/amp_recipe.html 和常规量化https://pytorch.org/tutorials/recipes/quantization.html

有人可以解释一下区别和应用吗? 谢谢。

【问题讨论】:

    标签: optimization pytorch


    【解决方案1】:

    自动混合精度 (AMP) 的主要目标是减少训练时间。另一方面,量化的目标是提高推理速度。

    AMP:并非所有层和操作都需要 fp32 的精度,因此最好使用较低的精度。 AMP 负责为什么操作使用什么精度。它最终有助于加快训练速度。

    混合精度尝试将每个操作与其适当的数据类型相匹配,这可以减少网络的运行时间和内存占用。

    另外,请注意,在启用了 Tensor Core 的 GPU 架构上观察到了最大的性能提升。

    量化将模型参数中的 32 位浮点数转换为 8 位整数。这将显着减小模型大小并提高推理速度。但是,它可能会严重影响模型的准确性。这就是您可以利用量化意识训练 (QAT) 等技术的原因。休息一下,您可以阅读您分享的教程。

    【讨论】:

      猜你喜欢
      • 2022-09-28
      • 2017-10-30
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-10
      • 2020-12-26
      • 2022-12-18
      相关资源
      最近更新 更多