PaddlePaddle Benchmark
我们对PaddlePaddle的最新版本v1.5.0 ,在训练性能和显存占用方面进行了基准测试。
目录
测试环境
PaddleCV
SE-ResNeXt50
SE-ResNeXt50模型单卡训练速度与PyTorch持平 ,八卡训练速度和显存占用都优于 PyTorch。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
PyTorch 1.1.0
Paddle 1.5.0
PyTorch 1.1.0
1 GPU
168.334
163.130
168.478
163.294
8 GPUs (单进程)
843.348
595.274
836.357
573.732
8 GPUs (多进程)
-
-
-
-
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
PyTorch 1.1.0
Paddle 1.5.0
PyTorch 1.1.0
单卡显存占用
5515 MiB
5677 MiB
5535 MiB
5695 MiB
单卡最大batch_size
112
112
112
112
Mask-RCNN
Mask-RCNN模型训练速度和显存占用都优于 PyTorch。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
PyTorch 1.1.0
Paddle 1.5.0
PyTorch 1.1.0
1 GPU
3.811
3.240
3.780
-
8 GPUs (单进程)
18.707
-
18.505
-
8 GPUs (多进程)
23.014
21.864
23.199
-
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
PyTorch 1.1.0
Paddle 1.5.0
PyTorch 1.1.0
单卡显存占用
3871 MiB
4548 MiB
3907 MiB
-
单卡最大batch_size
5
5
5
-
YOLOv3
YOLOv3模型训练速度和显存占用都优于 MXNet。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
MXNet
Paddle 1.5.0
MXNet
1 GPU
29.901
18.578
30.591
17.001
8 GPUs (单进程)
58.175
35.574
57.997
33.755
8 GPUs (多进程)
99.530
-
104.553
-
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
MXNet
Paddle 1.5.0
MXNet
单卡显存占用
10583 MiB
14304 MiB
10599 MiB
9842 MiB
单卡最大batch_size
14
14
14
14
DeepLab V3+
Deep Lab V3+模型训练速度和显存占用都优于 TensorFlow。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
1 GPU
13.695
6.4
14.261
6.309
8 GPUs (单进程)
59.721
16.508
58.024
16.427
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
单卡显存占用
5163 MiB
8934 MiB
5167 MiB
8927 MiB
单卡最大batch_size
9
7
9
7
Cycle-GAN
Cycle-GAN模型不支持多卡训练,其单卡训练速度和显存占用都优于 TensorFlow。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
1 GPU
7.513
6.452
7.591
6.823
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
单卡显存占用
2479 MiB
5094 MiB
2499 MiB
5089 MiB
PaddleNLP
PaddingRNN
TensorFlow的PaddingRNN开源模型多卡训练失败,故只测试单卡训练的情况。
PaddleRNN模型在static模式下,单卡训练速度和显存占用都差于 TensorFlow。
static模式 small模型
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
1 GPU
61.208
73.991
63.400
72.406
static模式 large模型
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
1 GPU
17.479
18.529
17.107
17.914
static模式 small模型
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
单卡显存占用
660 MiB
660 MiB
657 MiB
647 MiB
static模式 large模型
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
单卡显存占用
6089 MiB
5858 MiB
6083 MiB
8711 MiB
BERT
TensorFlow的BERT开源模型暂无多卡实现。
BERT模型单卡训练速度和显存占用都优于TensorFlow。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
1 GPU
4.044
3.420
4.003
-
8 GPUs (单进程)
1.803
-
1.817
-
8 GPUs (多进程)
3.114
-
3.089
-
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
单卡显存占用
6551 MiB
15430 MiB
6545 MiB
-
单卡最大batch_size
9984
9216
9984
-
Transformer
Transformer模型单卡训练速度与TensorFlow持平 ;多卡训练速度和显存占用优于 TensorFlow。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
1 GPU
4.865
4.750
4.883
4.721
8 GPUs (单进程)
4.227
2.302
4.355
2.520
8 GPUs (多进程)
4.445
-
4.460
-
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
单卡显存占用
7137 MiB
8948 MiB
7147 MiB
8711 MiB
单卡最大batch_size
12000
11144
12000
11144
PARL
DDPG
DDPG模型不支持多卡训练,其训练速度与竞品持平,显存占用优于 TensorFlow。
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
1 GPU
1.615
1.606
1.578
-
CUDA 9.0
CUDA 10.0
Paddle 1.5.0
TensorFlow 1.12.0
Paddle 1.5.0
TensorFlow 1.14.0
单卡显存占用
563 MiB
630 MiB
557 MiB
-