gpt4 book ai didi

numpy - 卷积神经网络的 float16 与 float32

转载 作者:行者123 更新时间:2023-12-04 00:51:37 29 4
gpt4 key购买 nike

标准是 float32,但我想知道在什么条件下可以使用 float16?

我比较了使用两种数据类型运行相同的 covnet 并且没有发现任何问题。对于大型数据集,我更喜欢 float16,因为我可以少担心内存问题。

最佳答案

令人惊讶的是,使用 16 位完全可以,甚至不仅仅是为了好玩,在生产中也是如此。例如,在 this video Jeff Dean 谈 16 位 在谷歌计算,大约 52:00。幻灯片中的引用:

Neural net training very tolerant of reduced precision



由于 GPU 内存是 ML 计算的主要瓶颈,因此有很多关于精度降低的研究。例如。
  • Gupta at al paper “数值精度有限的深度学习” 关于 固定 (非 float ) 16 位 训练,但随机舍入。
  • Courbariaux at al “用低精度乘法训练深度神经网络”关于 10 位 激活和 12 位 参数更新。
  • 而这还不是极限。 Courbariaux et al ,“BinaryNet:训练权重和激活限制为 +1 或 -1 的深度神经网络”。他们在这里讨论 1 位 激活和权重(尽管梯度的精度更高),这使得前向传递速度非常快。

  • 当然,我可以想象某些网络可能需要高精度进行训练,但我建议至少尝试使用 16 位来训练大型网络,如果证明效果更差,则切换到 32 位。

    关于numpy - 卷积神经网络的 float16 与 float32,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46613748/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com