JayYip / m3tl

BERT for Multitask Learning

Home Page:https://jayyip.github.io/m3tl/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于训练时间

Fengwills opened this issue · comments

commented

请问有比较过多卡和单卡的训练时间吗?
我按照这个方式实现了一下bert里的run_squad,发现2卡和单卡时间相当,甚至2卡比四卡时间还短一些.
使用的是tf 1.13 gpu是1080

commented

我可能没描述清楚,我在单卡和多卡训练100步的时间是相当的,差距在几秒,总的时间也是差不多,性能上也是差不多的,但在训练时,各个gpu占用率都是100%,所以多卡并没有加速训练,想问一下,你的多卡和单卡训练时间差距大吗?

是这样的, 增加GPU相当于增加batch_size, 比如单GPU的时候是32, 4个GPU就是128, 但是每一步消耗的时间是差不多的, 因此单GPU训练100步, 训练了10032个训练数据, 4个GPU训练100步, 训练了100128个训练数据.

commented

嗷嗷,这样的话,多卡的训练总步数是 单卡步数/gpu数对吧,单卡跑25000步,3卡跑8300步,性能差了2个点,还是挺多的,你实验的时候结果如何呢

我自己跑的性能没差那么多, 你有试过多GPU下加大学习率吗?

commented

没有哎,因为要比较多GPU和单GPU的训练时间和性能,需要控制学习率不变吧

可以参考下这篇文章: https://arxiv.org/pdf/1706.02677.pdf 的Section 2.1