如何在分布式训练场景中正确使用ShardedByS3Key



根据API参考,优化分布式训练数据接收的一种方法是使用ShardedByS3Key

是否有在分布式训练中使用ShardedByS3Key的代码示例?具体来说,需要对PT的DistributedSampler(是否应该使用它?(或TF的tf.data-管道进行哪些更改?

根据"Sharded Data Parallelism":

标准数据并行技术复制训练状态跨数据并行组中的GPU,并执行梯度基于AllReduce操作的聚合。

然后,只需在TrainingInput的分发参数中保留默认模式FullyReplicated,因为并行性不会在上游实例的数据划分级别发生,而是稍后在gpu上发生。

参见";如何将Sharded数据并行性应用于您的培训工作;或者完整的示例笔记本";使用SageMaker Model Parallelism Library中的Sharded Data Parallelis技术以近似线性缩放来训练GPT-2";。在最后一个示例中,它只显式地逐步设置参数。


例如,您必须在PyTorch(或TensorFlow(估计器上至少设置distributiondict参数,以启用SageMaker分布式数据并行性:

{ "smdistributed": { "dataparallel": { "enabled": True } } }

相关内容

  • 没有找到相关文章

最新更新