Tensorflow的图之间复制是数据并行的一个例子吗?

Ami*_*ila 7 python distributed tensorflow

我已阅读分布式tensorflow文档这个答案.

根据,在数据并行方法:

  • 该算法在各个核之间分配数据.
  • 每个核心独立地尝试估计相同的参数
  • 然后,核心彼此交换它们的估计值,以得出对该步骤的正确估计.

在模型并行方法中:

  • 该算法将相同的数据发送到所有核心.
  • 每个核心负责估计不同的参数
  • 然后,核心彼此交换它们的估计值,以得出所有参数的正确估计值.

这些方法如何做In-graph replicationBetween-graph replication有关?

这篇文章说:

例如,可以在不同的GPU上并行地训练网络中的不同层.此培训过程通常称为"模型并行性"(或TensorFlow文档中的"图中复制").

和:

在"数据并行"(或TensorFlow文档中的"图形间复制")中,您为每个设备使用相同的模型,但使用不同的训练样本在每个设备中训练模型.

那是准确的吗?

来自tensorflow文档页面中链接的Tensorflow DevSummit视频: 在此输入图像描述 看起来数据被拆分并分发给每个工作人员.那么不In-graph replication遵循数据并行方法吗?

Blu*_*Sun 4

图内复制和图间复制与数据并行性和模型并行性没有直接关系。数据并行性和模型并行性是将并行化算法分为两类的术语,如您链接的 quora 答案中所述。但图内复制和图间复制是在张量流中实现并行性的两种方法。例如,数据并行可以通过图内复制和图间复制来实现。

如视频中所示,图内复制是通过将单个图的不同部分分配给不同设备来实现的。在图间复制中,多个图并行运行,这是通过使用分布式张量流来实现的。