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。
在 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。