Nach dem Spielen mit der aktuellen verteilte Trainingsimplementierung für eine Weile, ich denke, es sieht jede GPU als separate Arbeiter.Es ist jedoch üblich, jetzt 2 ~ 4 GPUs in einer Box zu haben . Ist es nicht besser, die Single-Box-Multi-GPU-Methodologie zu verwenden, um durchschnittliche Gradienten zuerst in einer einzelnen Box zu berechnen und dann über mehrere Knoten hinweg zu synchronisieren? Auf diese Weise wird der E/A-Verkehr erheblich erleichtert, was immer den Flaschenhals in der Datenparallelität darstellt.Tensorflow verteilte Ausbildung Hybrid mit Multi-GPU-Methodik
Mir wurde gesagt, dass es mit der aktuellen Implementierung möglich ist, alle GPUs in einer Box als Arbeiter zu haben, aber ich bin nicht in der Lage herauszufinden, wie die durchschnittlichen Gradienten mit SyncReplicasOptimizer verknüpft werden, da SyncReplicasOptimizer den Optimierer direkt als Eingabe verwendet.
Irgendwelche Ideen von irgendjemandem?