-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Distribute training KPI on CE #10944
Comments
上面这个表是闫老师在某个模型上训练出来的具体数据? 还是计划所有模型都按照这个kpi 指标走, 比如speed 在单机1个GPU下, 不小于120 sampels/sec算通过? |
speedup 的这个计算方法是业界标准嚒? 我以为speedup 是,模型在单机单卡的运行时间除以N机N卡 的时间, 是个大于1的数 https://baike.baidu.com/item/%E5%8A%A0%E9%80%9F%E6%AF%94/4661409?fr=aladdin |
这些应该都是示例不是真实的数据。加速比可以用时间相除或吞吐相除。比如32卡加速比是19卡 |
@putcn 这个aws benchmarking tool ready了吗?似乎可以集成进CE里,用teamcity调用这个tool,产生训练结果,持续监控。 |
@panyx0718 已经ready了, 目前需要一些ce端的改动, 比如paddle build的时候支持dist之类. 具体见pr |
FROM @guochaorong
列举的只是样例数据而非真实值 FROM @guochaorong @typhoonzero
参考Wikipedia上的对加速比的解释:https://en.wikipedia.org/wiki/Speedup, 分为延迟和吞吐两种定义,训练中更关心的吞吐的性能,可以按 @typhoonzero 的建议来计算加速比
|
恩恩, 那就是t3/t0 这样吧? 咱们是要把一个多机模型4种 GPU情况的 4个kpi 都弄出来吧, 挺全的, 建议优先把每个模型的加速比这个指标先固化下来~ |
ok, 我明天来把这些指标写在测试里 |
赞~ |
您好,此issue在近一个月内暂无更新,我们将于今天内关闭。若在关闭后您仍需跟进提问,可重新开启此问题,我们将在24小时内回复您。因关闭带来的不便我们深表歉意,请您谅解~感谢您对PaddlePaddle的支持! |
为了保证Fluid分布式训练的稳定性,我们需要在CE系统上添加一些评估指标 (KPI) 来检测每个合并到 develop 分支的代码 (merge request) 是否能够正常的跑多机训练,我们需要使用 aws benchmarking工具来向AWS提交任务并根据输入的日志来计算每个KPI的值:
参考 https://en.wikipedia.org/wiki/Speedup ,采用吞吐加速比的计算方法
可以得出以下样例结果:
准确率大于某一值(例如0.6)需要总的训练时间
trainer节点和pserver节点的显存占用
训练任务的总吞吐
验证精度是否对齐,例如验证单卡(batch_size=80), 32卡4节点(batch_size=20)同样训练5个pass后,
test acc
相差小于0.001
最终分布式训练在CE上的各项KPI如下:
注:以上指标值均为样例数据,以实际实验数据为准。
The text was updated successfully, but these errors were encountered: