benchmark
benchmark copied to clipboard
v1.5发布的Benchmark里的单进程/多进程的含义
在最新发布的v1.5的Benchmark里,各模型(如BERT)的benchmark都分为单GPU, 8GPU(单进程),8GPU(多进程)。请问这里单进程和多进程的具体含义是什么?谢谢
另外一个问题:BERT benchmark里用的是steps/s, 那么一个step是多少个sample呢?从training脚本看,batch_size缺省是8192. 不知道benchmark里的batch_size是多少?
请问这里单进程和多进程的具体含义是什么?
多进程多卡是指,每个进程对应一张卡进行计算,卡之间的通信通过nccl完成,即多个进程上的GPU使用nccl进行通信。单进程多卡是指,一个进程使用多个GPU卡参与计算计算,卡之间的通信依然是使用nccl。
不知道benchmark里的batch_size是多少?
benchmark的执行脚本在这里:https://github.com/PaddlePaddle/benchmark/blob/master/NeuralMachineTranslation/BERT/fluid/train/run.sh#L42
收到。谢谢!
从公开的数据和脚本来看,这个BERT的测试主要是BERT Base的中文模型 pre-train,Max Seq Len = 128,单卡的batch size 是32。 性能是 3.114 个steps/s, 所以8 * V100 性能应该是 3.114 * 32 * 8 = 797 sequence/s 我的理解应该没错吧。但是我看到在脚本“https://github.com/PaddlePaddle/benchmark/blob/master/NeuralMachineTranslation/BERT/fluid/train/run.sh#L42” 之中max bs = 78。 不知道如果使用最大的bs的时候性能是多少呢? 我建议在公布数据的时候最好尽量把模型的配置细节都标注一下,不然所有的都要去脚本找,比较麻烦。 谢谢
@imluoxu 多谢您的建议。我们由于着急出结果,暂时缺乏详细描述每个模型的测试方法。我们会在下一个版本里面加强对这个方面的建设。
@Xreki 谢谢。另外这个BERT的测试没有用batch size 78是为啥?用78的话,应该性能可以跑的更高啊?
另外这个BERT的测试没有用batch size 78是为啥?用78的话,应该性能可以跑的更高啊?
我们这个测试,不是为了跑出最高的性能,而是测试实际训练的性能。实际使用batch_size=32
训练,所以我们就只测了batch_size=32
的情况。