我在努力优化我的火把模型。我理解量化的基本原理(将32位浮点数更改为16位或8位中的其他数据类型),但我不知道这两种方法有何不同或选择了什么。
我看到AMP (自动混合精度) recipe.html和规则量化https://pytorch.org/tutorials/recipes/quantization.html。
有谁能解释一下不同之处和申请吗?谢谢。
发布于 2021-12-29 10:10:47
自动混合精度(AMP)的主要目标是减少训练时间,而量化的目标是提高推理速度。
答:并不是所有的层和操作都要求fp32的精度,所以最好使用较低的精度。安培负责为什么操作使用何种精度。它最终有助于加速训练。
混合精度尝试将每个op与其适当的数据类型匹配,这可以减少网络的运行时和内存占用。
另外,请注意,在支持张量核心的GPU体系结构上,可以观察到最大性能增益.
量化将模型参数中的32位浮点数转换为8位整数.这将大大减小模型大小,提高推理速度。然而,它会严重影响模型的准确性。这就是为什么你可以使用像量化感知训练(QAT)这样的技术。Rest您可以在您共享的教程上阅读。
https://stackoverflow.com/questions/70503585
复制相似问题