30系列显卡抢不到,为了训练大型CNN,我该不该入手2080 Ti?

2020 年 11 月 12 日 AI科技评论


作者 | 青暮

截至2020年11月,NVidia RTX 3090和3080显卡仍然非常短缺。而读者们肯定也很好奇,30系列GPU与20系列相比,在训练AI模型上的表现如何。由于新系列显卡稀缺,很少有人可以做基准测试。  
近日,reddit上的一位博主u/xxx-symbol近期晒出了自己做的基准测试结果,Ta以TensorFlow Docker容器作为主要变量,对比了2080 Ti、3090和3080显卡在ResNet上的训练表现,对挑选好用的炼丹神器而言,是个不错的参考。而Ta仅选用TensorFlow作为框架,是因为目前PyTorch还不支持3080和3090显卡。
博主总共对3到7个不同的TensorFlow容器进行了基准测试,并在TensorFlow 1.x和TensorFlow 2.x NGC容器中测试了4种不同的ResNet变体。这四种变体分别标记为Resnet50、resnet50、resnext101-32x4d、se-resnext101-32x4d,具体的GitHub地址和模型配置见参考资料。测试设计的变量有4个,显卡型号、TF容器、批量大小和XLA优化。
测试数据如下图所示,例如,图中标记的740表示:使用2080 Ti显卡、TensorFlow v1 20.10容器、批量160、XLA优化时,训练速度为740img/s(每秒740张图像),记为(2080 Ti,20.10 TF v1,160,XLA),使用的网络架构是Resnet50(右上角)。“mem lim”表示内存过载(批量太大),“fail”表示训练失败。完整数据表格见文末。
此外,在resnet50、resnext101-32x4d、se-resnext101-32x4d上,博主还测试了A100和V100的性能,不过测试数据只有一个。


1

参数

所有测试均采用了自动混合精度训练,也称为FP16训练。如今,按照测试数据来看,至少在Volta系列显卡上训练已经没有比较意义。

显卡

在Resnet50和resnet50上,三款显卡的测试结果为2080 Ti<3080<3090;在resnext101-32x4d、se-resnext101-32x4d上,三款显卡的测试结果为3080<2080 Ti<3090。

TensorFlow Docker容器

从结果来看,使用不同的TensorFlow容器,显卡的性能差异很大。对于3080和3090显卡,TensorFlow官方仅支持20.10以上版本的 NGC容器。但实际上在20.08的容器上,通常能获得比20.09容器更好的性能,有时甚至能超越20.10容器。
总体而言,在ResNet50上,20.10容器好于20.08容器;在resnext101-32x4d和se-resnext101-32x4d上,20.08容器好于20.10容器。

批量大小

训练速度和批量大小有一定关系。通常随着批量增加,训练速度一开始会随着增加,但增加幅度很小,并且会在某个批量下达到峰值,随后增加批量训练速度会降低。如果批量太大,会导致内存过载。
不过最重要的,还是探索3090相对于3080的2.4倍内存带来的优势,这也是3090如此香的原因。
30系列显卡和2080 Ti的参数表
在相近的批量大小下,3090的训练速度有时不会比3080快多少。但是3090的批量大小可以超过3080的2.4倍,因为批量大小和激活值占用的空间相关,而模型和梯度大小具有固定的内存消耗,这让3090能取得比3080大得多的训练速度。比如,在Resnet50上,(3080,XLA优化,20.10容器,TF v1)的最高训练速度是1052img/s(批量160),(3090,XLA优化,20.10容器,TF v1)的最高训练速度是1355img/s(批量448)。

XLA优化

博主还探索了XLA优化对训练性能的影响。不知什么原因,在NGC 20.09 TF v1容器上,RTX 3080/3090在XLA优化情况下的性能较差。比如,在Resnet50上,(3090,XLA优化,20.09容器,TF v1,448)的训练速度为765img/s,(3090,无XLA优化,20.09容器,TF v1,448)的训练速度为895img/s。博主表示,Ta会提醒TensorFlow开发人员这一点。

A100/V100

在resnet50、resnext101-32x4d、se-resnext101-32x4d三个架构上,V100都取得了和3090相似的性能,而A100的表现基本都达到V100的两倍。另一位博主Tim Dettmers的测试数据与上述结论不谋而合。
相对于RTX 2080 Ti的归一化GPU深度学习性能。

2

结论

如果打算训练大型卷积神经网络,3090比V100更好,并且在性价比上肯定更具优势。而且因为有了更大的内存,在3090上可以运行更大的网络,而且训练批量更大,训练速度也更快。
如果只需要训练小型网络,并且数据量也不大,那么3080将更具成本效益。
有趣的是,在i7-4960X还是i9-7980X CPU上训练是没有区别的。如果硬要说有的话,大多数基准测试在i7-4960X上都略胜一筹。因此,不必为升级CPU操心。


3

完整测试数据 

Resnet50

resnet50

               
             
resnext101-32x4d
               
             
se-resnext101-32x4d
               
               

参考资料:
  1. https://www.reddit.com/r/MachineLearning/comments/jrj6ry/r_extensive_rtx_3080_and_3090_benchmarks_on/

  2. https://fsymbols.com/3080-3090-benchmarks/

  3. https://timdettmers.com/2020/09/07/which-gpu-for-deep-learning/#How_do_I_cool_4x_RTX_3090_or_4x_RTX_3080



点击阅读原文,直达ICLR小组~

登录查看更多
0

相关内容

专知会员服务
47+阅读 · 2021年2月2日
专知会员服务
114+阅读 · 2020年8月22日
【Contextual Embedding】什么时候上下文嵌入值得使用?
专知会员服务
15+阅读 · 2020年8月2日
最新《多任务学习》综述,39页pdf
专知会员服务
263+阅读 · 2020年7月10日
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
专知会员服务
31+阅读 · 2020年4月24日
专知会员服务
44+阅读 · 2020年3月6日
Colab 免费提供 Tesla T4 GPU,是时候薅羊毛了
机器之心
10+阅读 · 2019年4月25日
如何训练你的ResNet(三):正则化
论智
5+阅读 · 2018年11月13日
从零开始深度学习第8讲:利用Tensorflow搭建神经网络
keras系列︱深度学习五款常用的已训练模型
数据挖掘入门与实战
10+阅读 · 2018年3月27日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
12+阅读 · 2018年2月4日
PyTorch vs. TensorFlow之一个月用户体验
深度学习世界
3+阅读 · 2017年10月21日
Arxiv
3+阅读 · 2020年4月29日
Self-Attention Graph Pooling
Arxiv
5+阅读 · 2019年4月17日
Knowledge Flow: Improve Upon Your Teachers
Arxiv
5+阅读 · 2019年4月11日
Arxiv
6+阅读 · 2019年3月19日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Arxiv
4+阅读 · 2018年7月4日
VIP会员
相关VIP内容
专知会员服务
47+阅读 · 2021年2月2日
专知会员服务
114+阅读 · 2020年8月22日
【Contextual Embedding】什么时候上下文嵌入值得使用?
专知会员服务
15+阅读 · 2020年8月2日
最新《多任务学习》综述,39页pdf
专知会员服务
263+阅读 · 2020年7月10日
【CVPR 2020-商汤】8比特数值也能训练卷积神经网络模型
专知会员服务
25+阅读 · 2020年5月7日
专知会员服务
31+阅读 · 2020年4月24日
专知会员服务
44+阅读 · 2020年3月6日
相关资讯
Colab 免费提供 Tesla T4 GPU,是时候薅羊毛了
机器之心
10+阅读 · 2019年4月25日
如何训练你的ResNet(三):正则化
论智
5+阅读 · 2018年11月13日
从零开始深度学习第8讲:利用Tensorflow搭建神经网络
keras系列︱深度学习五款常用的已训练模型
数据挖掘入门与实战
10+阅读 · 2018年3月27日
深度学习 | 免费使用Google Colab的GPU云计算平台
沈浩老师
12+阅读 · 2018年2月4日
PyTorch vs. TensorFlow之一个月用户体验
深度学习世界
3+阅读 · 2017年10月21日
相关论文
Arxiv
3+阅读 · 2020年4月29日
Self-Attention Graph Pooling
Arxiv
5+阅读 · 2019年4月17日
Knowledge Flow: Improve Upon Your Teachers
Arxiv
5+阅读 · 2019年4月11日
Arxiv
6+阅读 · 2019年3月19日
Universal Transformers
Arxiv
5+阅读 · 2019年3月5日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Arxiv
4+阅读 · 2018年7月4日
Top
微信扫码咨询专知VIP会员