要说当前做深度学习加速哪家强,Nvidia GPU 毫无疑问属于核弹级别的存在,今年发布的 RTX 2070 2080 2080Ti 系列 GPU 均采用了全新的图灵架构(Turing),峰值性能和每瓦性能都有进一步提升。与上一代 Pascal 显卡详细参数对比如下表所示:
如此强劲的显卡是否值得入手一块呢?
本文将分别在 Turing 2080 Ti 和 Pascal 1080 Ti 上用 TensorFlow 运行若干深度学习模型训练任务,对两种型号 GPU 性能进行评测。
硬件
-
Lambda Quad Basic
-
内存:64 GB DDR4 2400MHz
-
处理器:Intel Xeon E5-1650v4
-
主板:ASUS X99-E WS/USB 3.1
-
GPU:EVGA XC 2080 Ti 和 ASUS 1080 Ti
软件
-
Ubuntu 18.04(Bionic)
-
TensorFlow 1.11.0-rc1
-
CUDA 10.0.130
-
cuDNN 7.3
评测方法
-
对每个模型,运行 10 次训练任务并测量每秒处理图片数目,然后取平均值;
-
对特定模型,将两种 GPU 上得到的每秒处理图片数相除得到(2080 Ti 相比 1080 Ti 的)加速比;
-
2080 Ti 具备 Tensor Core 硬件,我们在评测时也考虑并使用了该硬件加速;
评测结果
对于单精度 ResNet-152 训练任务,2080 Ti 相比 1080 Ti 有 1.41 倍加速;
对于半精度 ResNet-152 训练任务,2080 Ti 相比 1080 Ti 有 1.65 倍加速;
对于单精度多个模型(ResNet-50/152, Inception V3/V4, VGG16, AlexNet, SSD)训练任务加速情况;具体两种 GPU 上能实现每秒多少张图见下表:
除了绝对性能,我们还关注单位价格加速比情况(土豪请忽略),见下表:
注意上表中第二三列单位为每秒每美元处理图片数(img/s/ 涨到 1199$,涨价幅度 71%,导致 RTX2080 Ti 性价比低于 1080 Ti。
结论
-
RTX 2080 Ti + TensorFlow 使用单精度(FP32)训练 CNN 速度比 1080 Ti 快 27% ~ 45%;
-
RTX 2080 Ti + TensorFlow 使用半精度(FP16)训练 CNN 速度比 1080 Ti 快 60% ~ 65%;
-
如果你使用 FP16 训练,RTX 2080 Ti 可能值得额外的投资;
-
如果你不使用 FP16,你需要考虑是否值得用 71% 额外投资获得平均 36% 的性能提升;
复现步骤
我们已将评测代码公开在 github 上,你可以在自己机器上复现这些结果(不限于本文使用的 GPU 型号),你可以将结果发送至 s@lambdalabs.com。
-
克隆源码库
git clone https://github.com/lambdal/lambda-tensorflow-benchmark.git --recursive
-
运行评测
cd lambda-tensorflow-benchmark
./benchmark.sh gpu_index num_iterations
将 gpu_index 替换为你机器上 GPU 编号(默认使用 0 号),将 num_iterations 替换为你希望的重复次数(默认为 10 次);运行成功后,会在当前目录生成类似“xxx-yyy.logs”的日志目录,下面包含各种网络评测的日志文件。
-
产生报告
./report.sh <cpu>-<gpu>.logs num_iterations
将 -.logs 替换为你实际目录,num_iterations 值要和第二步一致。
评测不同模型使用的 batch size 如下表:
下一步计划
-
RTX 2080 Ti 多卡并行训练评测;