首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不按预期工作的Sagemaker分布式数据并行( smdistributed.dataparallel.torch.distributed )

不按预期工作的Sagemaker分布式数据并行( smdistributed.dataparallel.torch.distributed )
EN

Stack Overflow用户
提问于 2021-11-11 07:02:33
回答 1查看 193关注 0票数 0

全,

我尝试了AWS sagemaker数据并行化方法,用于从smdistributed.dataparallel.torch.parallel.distributed导入DistributedDataParallel作为DDP导入smdistributed.dataparallel.torch.distributed作为dist的分布式培训(使用两个库),尽管数据被划分为所有GPUs("ml.p3.16xlarge“,8个Gpus),但是,无论是单实例还是双实例,培训时间都没有减少。

之前,我们尝试使用Sagemaker内置的algo Resnet101来获取相同的数据,100个时代的训练时间大约为2080秒(批处理大小- 64 ),这是我们希望通过分布式培训来改进的基准。

现在,当我们使用分布式数据并行方法在相同的实例中进行分布式训练时,我们训练的时间为20次-时间为1600秒(批处理大小- 64),训练时间为20次-时间为1300秒(批处理大小- 128),训练时间为20次-时间为1063秒(批处理大小-258次)。

即使有不同的批次大小,培训时间也没有多大改善。

训练数据- 6016图像。测试数据- 745图像。

EN

回答 1

Stack Overflow用户

发布于 2022-02-24 18:10:56

假设您正在增加批处理大小和实例数量,那么每个/gpu的批处理大小保持不变。从两倍的实例中获得的速度收益似乎并不多。可能有几个原因:

  1. 您的模型有一个I/O瓶颈网,如果您的数据在AWS FSX上,而fsx吞吐量太低,那么当尝试将培训数据提供给所有实例时,它可能会减缓培训。通过增加存储大小,可以增加FSX吞吐量。
  2. 您的模型有大量的CPU逻辑用于数据预处理,如果使用SM数据并行和饥饿的GPU来竞争CPU资源的话。您可以尝试批处理数据预处理/增强,或者使用大理Nvidia将其卸载到GPU。

如果您仍然面临问题,请创建一个支持案例,并需要服务团队的帮助。https://console.aws.amazon.com/support/home?#/

谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69924340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档