GPU 在用于数据并行训练的参数服务器上是否高效?

Is GPU efficient on parameter server for data parallel training?

data parallel training,我猜 GPU 实例对于参数服务器来说不一定有效,因为参数服务器只保留值而不 运行 任何计算,例如矩阵乘法。

因此,我认为下面 Cloud ML Engine 的示例配置(参数服务器使用 CPU,其他服务器使用 GPU)具有良好的性价比:

trainingInput:
  scaleTier: CUSTOM
  masterType: standard_gpu
  workerType: standard_gpu
  parameterServerType: standard_cpu
  workerCount: 3
  parameterServerCount: 4

对吗?

您的假设是一个合理的经验法则。也就是说,Parag 指出了一篇描述可以在参数服务器中利用 GPU 的模型的论文,因此参数服务器并不总是无法利用 GPU 的情况。

一般来说,您可能想短时间尝试这两种方法,看看吞吐量是否有所提高。

如果您对实际分配给参数服务器的操作有任何疑问,可以log the device placement。如果看起来 ops 在可以从 GPU 受益的参数服务器上(并且假设它们真的应该在那里),那么您可以继续在参数服务器中尝试 GPU。