评价此页

协议#

TorchFT 维护一个由 **DDP**(分布式数据并行)副本组成的复制状态机,称为 **state_dict**。 **state_dict** 包含副本已执行的最大步数信息。每次跨所有副本的参数在集体操作(例如 **allreduce**)后更新时,都会递增此计数。当新节点加入或掉队时,我们首先让它从执行了最多步数(**max_step**)的节点恢复,即它是最新的。此机制保证所有副本的模型参数状态一致——因为由于只有在多数节点同意的情况下才能增加步数,所以总会至少有一个多数节点具有最大的步数。

因此,**state_dict** 在所有副本之间保持一致至关重要,即具有相同 **max_step** 的副本具有相同的模型参数,以便正在恢复的副本可以从任何具有一致 **max_step** 的节点恢复其参数。