我已阅读distributed tensorflow documentation和this answer。
根据this,采用数据并行性方法:
- 该算法在各个内核之间分配数据。
- 每个核心独立地尝试估计相同的参数
- 然后,核心之间互相交换其估算,以得出该步骤的正确估算。
在模型并行性方法中:
- 该算法将相同的数据发送到所有内核。
- 每个核心负责估计不同的参数
- 然后,核心之间相互交换其估计,以得出所有参数的正确估计。
In-graph replication
和Between-graph replication
与这些方法有何关系?
例如,可以并行训练网络中的不同层 在不同的GPU上。这种训练程序通常称为“模型 TensorFlow中的“并行性”(或“图形复制”) 文档)。
并且:
在“数据并行性”(或“图之间复制”)中, TensorFlow文档),您为每个设备使用相同的模型, 但要使用不同的训练样本在每个设备中训练模型。
那么准确吗?
从tensorflow文档页面中的Tensorflow DevSummit video链接中:
看起来数据已拆分并分发给每个工作人员。那么In-graph replication
是否遵循数据并行性方法?
答案 0 :(得分:2)
图形内复制和图形间复制与数据并行性和模型并行性没有直接关系。数据并行性和模型并行性是将并行化算法分为两类的术语,如链接的定额答案中所述。但是图内复制和图间复制是在张量流中实现并行性的两种方法。例如,数据并行性可以同时在图形内复制和图形间复制中实现。
就像视频中所示,通过将单个图形的不同部分分配给不同的设备来实现图形内复制。在图间复制中,有多个图并行运行,这是通过使用分布式张量流实现的。