在本文中,讨论了RTX 2080 Ti与其他GPU相比的深度学习性能。我们使用RTX 2080 Ti来训练ResNet-50,ResNet-152,Inception v3,Inception v4,VGG-16,AlexNet和SSD300。我们在训练每个网络时测量每秒处理的图像数。
注意事项:
- 我们使用TensorFlow 1.12 / CUDA 10.0.130 / cuDNN 7.4.1
- Tensor Core已被所有具有GPU的GPU所利用
RTX 2080 Ti-FP32 TensorFlow性能(1 GPU)
对于神经网络的FP32训练,RTX 2080 Ti是...
- 比RTX 2080快37%
- 比GTX 1080 Ti快35%
- 比Titan XP快22%
- 速度是Titan V的96%
- 相当于Titan RTX的87%
- 与Tesla V100(32 GB)一样快73%
由训练期间每秒处理的#张图像来衡量。
RTX 2080 Ti-FP16 TensorFlow性能(1 GPU)
RTX 2080 Ti用于神经网络的FP16训练。
- 比GTX 1080 Ti快72%
- 比Titan XP快59%
- 比RTX 2080快32%
- 速度是Titan V的81%
- 速度是Titan RTX的71%
- 速度是Tesla V100(32 GB)的55%
由训练期间每秒处理的#张图像来衡量。
FP32多GPU扩展性能(1、2、4、8个GPU)
对于每种GPU类型(RTX 2080 Ti,RTX 2080等),我们在训练每个神经网络上的1、2、4和8个GPU时的性能,然后取平均结果。下图提供了有关在FP32中对神经网络进行多GPU训练期间每个GPU如何缩放的指南。RTX 2080 Ti的缩放比例如下:
- 2个RTX 2080 Ti GPU的训练速度将比1个RTX 2080 Ti快1.8倍
- 4个RTX 2080 Ti GPU的训练速度将比1个RTX 2080 Ti快约3.3倍
- 8个RTX 2080 Ti GPU的训练速度将比1个RTX 2080 Ti快约5.1倍
RTX 2080 Ti-FP16和FP32
使用FP16可以减少训练时间并支持更大的批次大小/模型,而不会显着影响训练模型的准确性。与FP32相比,RTX 2080 Ti上的FP16训练是...
- 在ResNet-50上快59%
- 在ResNet-152上快52%
- Inception v3快47%
- Inception v4快34%
- 在VGG-16上快50%
- 在AlexNet上快38%
- SSD300快31%
通过训练期间每秒处理的图像数来衡量。这样可以平均提高+ 44.6%。
警告:如果您是机器学习的新手,或者只是测试代码,我们建议使用FP32。将精度降低到FP16可能会干扰收敛。
GPU价格
- RTX 2080 Ti:1,199.00美元
- RTX 2080:799.00美元
- 泰坦RTX:2,499.00美元
- 泰坦五世:$ 2,999.00
- Tesla V100(32 GB):〜$ 8,200.00
- GTX 1080 Ti:699.00美元
- Titan Xp:1,200.00美元
方法
- 对于每个模型,我们进行了10次训练实验,并测量了每秒处理的图像数量;然后,我们将10个实验的结果取平均值。
- 对于每个GPU /神经网络组合,我们使用了适合内存的最大批处理大小。例如,在ResNet-50上,V100的批处理大小为192;RTX 2080 Ti使用的批处理大小为64。
- 我们使用合成数据而非真实数据来最大程度地减少与GPU不相关的瓶颈
- 使用模型级并行性进行了多GPU训练
硬件
- 单GPU培训:Lambda四重深度学习工作站。CPU:i9-7920X / RAM:64 GB DDR4 2400 MHz
- 多GPU培训:Lambda Blade-深度学习服务器。CPU:至强E5-2650 v4 / RAM:128 GB DDR4 2400 MHz ECC
- V100基准:Lambda Hyperplane-V100服务器。CPU:至强金牌6148 / RAM:256 GB DDR4 2400 MHz ECC
软件
- Ubuntu 18.04(仿生)
- TensorFlow 1.12
- CUDA 10.0.130
- cuDNN 7.4.1
在您自己的机器上运行基准测试
步骤1:克隆基准存储库
git clone https://github.com/lambdal/lambda-tensorflow-benchmark.git --recursive
步骤2:运行基准测试
- 输入适当的gpu_index(默认值为0)和num_iterations(默认值为10)
cd lambda-tensorflow-benchmark ./benchmark.sh gpu_index num_iterations
步骤3:报告结果
- 检查repo目录中的文件夹<cpu>-<gpu> .logs(由Benchmark.sh生成)
- 在基准测试和报告中使用相同的num_iterations。
./report.sh <cpu>-<gpu>.logs num_iterations
原始基准数据
FP32: # Images Processed Per Sec During TensorFlow Training (1 GPU)
Model / GPU | RTX 2080 Ti | RTX 2080 | Titan RTX | Titan V | V100 | Titan Xp | 1080 Ti |
ResNet-50 | 294 | 213 | 330 | 300 | 405 | 236 | 209 |
ResNet-152 | 110 | 83 | 129 | 107 | 155 | 90 | 81 |
Inception v3 | 194 | 142 | 221 | 208 | 259 | 151 | 136 |
Inception v4 | 79 | 56 | 96 | 77 | 112 | 63 | 58 |
VGG16 | 170 | 122 | 195 | 195 | 240 | 154 | 134 |
AlexNet | 3627 | 2650 | 4046 | 3796 | 4782 | 3004 | 2762 |
SSD300 | 149 | 111 | 169 | 156 | 200 | 123 | 108 |
FP16: # Images Processed Per Sec During TensorFlow Training (1 GPU)
Model / GPU | RTX 2080 Ti | RTX 2080 | Titan RTX | Titan V | V100 | Titan Xp | 1080 Ti |
ResNet-50 | 466 | 329 | 612 | 539 | 811 | 289 | 263 |
ResNet-152 | 167 | 124 | 234 | 181 | 305 | 104 | 96 |
Inception v3 | 286 | 203 | 381 | 353 | 494 | 169 | 156 |
Inception v4 | 106 | 74 | 154 | 116 | 193 | 67 | 62 |
VGG16 | 255 | 178 | 383 | 383 | 511 | 166 | 149 |
AlexNet | 4988 | 3458 | 6627 | 6746 | 8922 | 3104 | 2891 |
SSD300 | 195 | 153 | 292 | 245 | 350 | 136 | 123 |
给大家介绍一下租用GPU做实验的方法,我们是在智星云租用的GPU,使用体验很好。具体大家可以参考:智星云官网: http://www.ai-galaxy.cn/,淘宝店:https://shop36573300.taobao.com/公众号: 智星AI,
参考文献:
https://lambdalabs.com/blog/2080-ti-deep-learning-benchmarks/