我应该使用 GPU 还是 CPU 进行推理?

数据挖掘 深度学习 显卡
2021-10-12 23:42:34

我正在运行一个由 GPU 训练的深度学习神经网络。我现在想将其部署到多个主机进行推理。问题是决定我应该使用 GPU 还是 CPU 进行推理的条件是什么?


从下面的评论中添加更多详细信息。

我是新手,因此不胜感激。

  • 内存:GPU是K80

  • 框架:Cuda 和 cuDNN

  • 每个工作负载的数据大小:20G

  • 计算节点消耗:每个作业一个,虽然想考虑一个规模选项

  • 成本:如果理由合理,我可以负担得起 GPU 选项

  • 部署:在自己托管的裸机服务器上运行,而不是在云中。

现在我在 CPU 上运行只是因为应用程序运行正常。但除此之外,我不确定为什么还要考虑 GPU。

3个回答

确实,对于训练,GPU 可以利用很多并行化,从而加快训练速度。对于推理,这种平行化可能会小得多,但是 CNN 仍然会从中获得优势,从而加快推理速度。现在你只需要问自己:更快的推理重要吗?我想要这个额外的依赖项(一个好的 GPU,安装正确的文件等)吗?

如果速度不是问题,请选择 CPU。但是请注意,根据我的经验,GPU 可以使它更快一个数量级。

在 GPU 而不是 CPU 上运行推理将使您获得与训练时几乎相同的加速,而内存开销则更少。

但是,正如您所说,应用程序在 CPU 上运行良好。如果推理速度成为应用程序的瓶颈,升级到 GPU 将缓解该瓶颈。

您只会使用 GPU 进行训练,因为深度学习需要大量计算才能得出最佳解决方案。但是,您不需要 GPU 机器进行部署

让我们以苹果的新 iPhone X 为例。新款 iPhone X 具有用于面部检测的先进机器学习算法。Apple 员工必须拥有一组用于培训和验证的机器。但是你的 iPhone X 不需要 GPU 来运行模型。