oneflow-documentation icon indicating copy to clipboard operation
oneflow-documentation copied to clipboard

Update 05_ddp.md

Open XuHu0529 opened this issue 2 years ago • 5 comments
trafficstars

sbp示例代码中,DistributedSampler封装使dataloader进行分布式数据划分

XuHu0529 avatar Mar 01 '23 07:03 XuHu0529

代码没问题后。记得英文版(en 目录下)的对应文章中的代码也要更新下。

doombeaker avatar Mar 01 '23 08:03 doombeaker

  • 当前问题:根据文档描述,由单机单卡改为并行训练时,只需设置placement,模型集群广播以及split切分即可。但在运行示例代码与单机单卡进行比对时发现,如果只做以上三处改动,会导致模型训练结果变差。
  • 猜测:测试发现,目测单机双卡batchsize为64时的训练效果与单机单卡batchsize为128时类似。 ~~可以观察到双卡训练时两张卡的输出完全相同,是否意味着数据输入有问题?~~
  • 实验数据: 以下分别为单机双卡batchsize=64 双卡 单机单卡batchsize=128 单卡128 单机单卡batchsize=64 单卡64

brandonliu2 avatar Apr 11 '23 13:04 brandonliu2

我发现原文档中已经提示过 sampler 的问题

https://docs.oneflow.org/master/parallelism/05_ddp.html#distributedsampler

image

所以最开始的例子还是保持不变吧,在 05_ddp.html#distributedsampler 那节做修改,添加一个有 distributedsampler,所以单机单卡和分布式训练效果会一致的例子。

doombeaker avatar Apr 12 '23 02:04 doombeaker

我发现原文档中已经提示过 sampler 的问题

https://docs.oneflow.org/master/parallelism/05_ddp.html#distributedsampler

image

所以最开始的例子还是保持不变吧,在 05_ddp.html#distributedsampler 那节做修改,添加一个有 distributedsampler,所以单机单卡和分布式训练效果会一致的例子。

这一条要求好像还没有更新

doombeaker avatar Apr 14 '23 09:04 doombeaker

我发现原文档中已经提示过 sampler 的问题 https://docs.oneflow.org/master/parallelism/05_ddp.html#distributedsampler image 所以最开始的例子还是保持不变吧,在 05_ddp.html#distributedsampler 那节做修改,添加一个有 distributedsampler,所以单机单卡和分布式训练效果会一致的例子。

这一条要求好像还没有更新

我的理解是,上面的那个sbp例子是有问题的,因为没有加distributedsampler,导致训练时两张卡拿到了一样的数据,global_tensor就没起效果,客户跑了之后就产生了疑问。

brandonliu2 avatar Apr 16 '23 13:04 brandonliu2