表8:单GPU与多GPU间的比对结果(每个mini-batch的运算时间,单位:秒)。注:FCN-R,AlexNet-R和ResNet-56的mini-batch大小分别为4096,1024和128。 4.1. CPU评测结果 具体参见表7及原文。 4.2. 单GPU卡评测结果 在单GPU的比较上,该评测还展示了不同mini-batch大小的结果,以展示mini-batch大小对性能的影响。(译者注:原论文结论中详细描述了不同mini-batch大小下各学习工具的性能,具体见图表) 4.2.1. 合成数据(Synthetic Data)
FCN-S:Caffe最佳,其次是CNTK和Torch,最后是TensorFlow及MXNet。
AlexNet-S:MXNet性能最佳,其次是Torch。
ResNet-50:MXNet性能远远高于其他工具,尤其是mini-batch大小比较大的时候。其次是CNTK和TensorFlow,Caffe相对较差。 4.2.2. 真实数据(Real Data)
FCN-R:Torch最佳,Caffe、CNTK及MXNet三个工具次之,TensorFlow最差。
AlexNet-R:K80 平台上CNTK表现最佳,Caffe和Torch次之,然后是MXNet。TensorFlow处理时间最长。
ResNet-56:MXNet最优,其次是Caffe、CNTK 和Torch,这三个接近。最后是TensorFlow。
LSTM:CNTK全面超越其他工具。 4.3.多GPU卡评测结果
FCN-R:单GPU的情况下,Caffe、CNTK及MXNet接近,TensorFlow和Torch稍差。GPU数量翻番时,CNTK和MXNet的可扩展性最佳,均实现了约35%的提速,caffe实现了大约28%的提速,而Torch和TensorFlow只有约10%。GPU数量变为4个时,TensorFlow和Torch没有实现进一步的提速。 而收敛速度往往随着GPU数量的增加而增快。单个GPU时,Torch的训练融合速度最快,其次是Caffe、CNTK和MXNet,TensorFlow最慢。当GPU的数量增加到4时,CNTK和MXNet的收敛速度率接近Torch,而Caffe和TensorFlow收敛相对较慢。
AlexNet-R:单个GPU时,CNTK,MXNet和Torch性能接近,且比Caffe和TensorFlow快得多。随着GPU数量的增长,全部工具均实现高达40%的提速,而TensorFlow只有30%。 至于收敛速度,MXNet和Torch最快,CNTK稍慢,但也比Caffe和TensorFlow快得多。
ResNet-56:单GPU时,Torch用时最少。多个GPU时,MXNet往往更高效。 至于收敛速度,整体来说MXNet和Torch比其他三个工具更好,而Caffe最慢。 5. 讨论 对于CPU并行,建议线程数不大于物理CPU内核数。因为在计算过程中需要额外的CPU资源来进行线程调度,如果CPU资源全部用于计算则难以实现高性能。然而,借助于Eigen的BLAS库(BLAS library),因其为了SIMD指令优化过,因此随着CPU内核数的增长,TensorFlow的性能能更好。 在FCN神经网络上,如果只用一个GPU卡,那么Caffe、CNTK和Torch的性能要比MXNet和TensorFlow略好。 (责任编辑:本港台直播) |