Nvidia 正计划在他们的 Titan 卡中添加对 int8 操作的硬件支持,并以深度学习为目标。我试图了解它的用途以及哪些类型的网络将从中受益。
我知道 FP16 而不是 FP32 应该对 DL 有用,但不确定 int8 能做什么。有一些研究表明您可以使用完整的 FP32 精度进行训练,然后将其四舍五入到一个字节 - 但这不会加速或减少训练的内存占用。
Nvidia 正计划在他们的 Titan 卡中添加对 int8 操作的硬件支持,并以深度学习为目标。我试图了解它的用途以及哪些类型的网络将从中受益。
我知道 FP16 而不是 FP32 应该对 DL 有用,但不确定 int8 能做什么。有一些研究表明您可以使用完整的 FP32 精度进行训练,然后将其四舍五入到一个字节 - 但这不会加速或减少训练的内存占用。
实际上,最近人们一直在尝试降低神经网络的精度:1-2-5 方案(1 位权重、2 位激活和 5 位梯度)似乎适用于简单的数据集(MNIST 和 CIFAR-10)。然而,在 ImageNet 上,结果明显低于全精度(16 位或 32 位)的结果。为了达到最先进的水平,卷积网络不需要超过 16 位进行训练,但当前的 RNN 可能需要更多。对于推理,在 ImageNet 上,4-5 位权重(从全精度随机四舍五入)就足够了。