我用GPU (1080 ti)训练了一个神经网络。GPU上的训练速度要比使用CPU好得多。
目前,我想使用TensorFlow服务来服务这个模型。我只想知道在服务过程中使用GPU是否对性能有相同的影响?
由于培训适用于批处理,但是推断(服务)使用异步请求,您是否建议在使用TensorFlow服务为模型服务时使用GPU?
发布于 2017-05-23 22:05:53
你仍然需要在图上做很多张量运算来预测一些东西。因此,GPU仍然为推理提供了性能改进。看看这个nvidia纸,他们还没有在TF上测试他们的东西,但是它仍然是相关的:
我们的结果表明,GPU提供了最先进的推理性能和能源效率,使其成为任何想要在该领域部署经过训练的神经网络的人选择的平台。特别是,泰坦X提供了5.3至6.7倍的性能比16核心Xeon E5 CPU,同时实现了3.6至4.4倍的能源效率。
发布于 2017-05-23 19:23:56
简单地说,是的,您将得到大致相同的加速运行GPU后,培训。有几个小资格。
您正在运行2次在培训中传递数据,所有这些都发生在GPU上,在前馈推断期间,您所做的工作较少,因此相对于培训,将数据传输到GPU内存的时间将比在培训中花费的时间更多。不过,这可能是一个微小的不同。如果存在问题,现在可以异步加载GPU (https://github.com/tensorflow/tensorflow/issues/7679)。
您是否实际需要GPU进行推断取决于您的工作负载。如果您的工作负载并不太高,那么无论如何您都可以不用使用CPU了,毕竟,每个示例的计算工作量还不到一半,所以考虑一下每秒需要服务的请求数量,并测试您是否超载了CPU才能达到这一目的。如果你这么做了,是时候把GPU拿出来了!
https://stackoverflow.com/questions/44142733
复制相似问题