NeuMF模型用于推荐系统,我在tensorflow的模型存储库中获得了该模型的tensorflow版本。我在1个GPU和4个GPU的单进程中使用PS和Mirror策略训练了模型,在不同机器上的2个进程中每个进程有4个GPU,结果是:
1.具有4个GPU的1个进程的性能比具有PS策略的1个GPU的性能慢得多。
2.具有4个GPU的1个进程的性能是具有Mirror策略的1个GPU的三倍。
3.具有8个GPU的2个进程的性能与具有Mirror策略的具有4个GPU的1个进程的性能几乎相同。
我对结果1和3感到非常困惑,我发现tf.nn.embedding导致使用PS策略的CPU和GPU之间有许多内存复制,而使用镜像策略的GPU和GPU之间导致了内存复制。 tf.nn.emdding会导致结果1和3混淆吗?