关注“FightingCV”公众号
回复“AI”即可获得超100G人工智能的教程
深度学习是一个对计算有着大量需求的领域,从一定程度上来说,GPU的选择将从根本上决定深度学习的体验。因此,选择购买合适的GPU是一项非常重要的决策。那么2020年,如何选择合适的GPU呢?这篇文章整合了网络上现有的GPU选择标准和评测信息,希望能作为你的购买决策的参考。
1 是什么使一个GPU比另一个GPU更快?
有一些可靠的性能指标可以作为人们的经验判断。以下是针对不同深度学习架构的一些优先准则:Convolutional networks and Transformers: Tensor Cores > FLOPs > Memory Bandwidth > 16-bit capability
Recurrent networks: Memory Bandwidth > 16-bit capability > Tensor Cores > FLOPs2 如何选择NVIDIA/AMD/Google
NVIDIA的标准库使在CUDA中建立第一个深度学习库变得非常容易。早期的优势加上NVIDIA强大的社区支持意味着如果使用NVIDIA GPU,则在出现问题时可以轻松得到支持。但是NVIDIA现在政策使得只有Tesla GPU能在数据中心使用CUDA,而GTX或RTX则不允许,而Tesla与GTX和RTX相比并没有真正的优势,价格却高达10倍。
AMD功能强大,但缺少足够的支持。AMD GPU具有16位计算能力,但是跟NVIDIA GPU的Tensor内核相比仍然有差距。Google TPU具备很高的成本效益。由于TPU具有复杂的并行基础结构,因此如果使用多个云TPU(相当于4个GPU),TPU将比GPU具有更大的速度优势。因此,就目前来看,TPU更适合用于训练卷积神经网络。3 多GPU并行加速
卷积网络和循环网络非常容易并行,尤其是在仅使用一台计算机或4个GPU的情况下。TensorFlow和PyTorch也都非常适合并行递归。但是,包括transformer在内的全连接网络通常在数据并行性方面性能较差,因此需要更高级的算法来加速。如果在多个GPU上运行,应该先尝试在1个GPU上运行,比较两者速度。由于单个GPU几乎可以完成所有任务,因此,在购买多个GPU时,更好的并行性(如PCIe通道数)的质量并不是那么重要。4 性能评测
1)来自Tim Dettmers的成本效益评测[1]https://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/卷积网络(CNN),递归网络(RNN)和transformer的归一化性能/成本数(越高越好)。RTX 2060的成本效率是Tesla V100的5倍以上。对于长度小于100的短序列,Word RNN表示biLSTM。使用PyTorch 1.0.1和CUDA 10进行基准测试。从这些数据可以看出,RTX 2060比RTX 2070,RTX 2080或RTX 2080 Ti具有更高的成本效益。原因是使用Tensor Cores进行16位计算的能力比仅仅拥有更多Tensor Cores内核要有价值得多。https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/ 以 Quadro RTX 8000 为基准的针对Quadro RTX 8000的图像模型训练吞吐量3) 来自知乎@Aero的「在线」GPU评测[4]https://www.zhihu.com/question/299434830/answer/1010987691大家用的最多的可能是Google Colab
,毕竟免费,甚至能选TPU免费版主要是K80,有点弱,可以跑比较简单的模型,有概率分到T4,有欧皇能分到P100。付费就能确保是T4或者P100,一个月10美元,说是仅限美国。Colab毕竟是Google的,那么你首先要能连得上google,并且得网络稳定,要是掉线很可能要重新训练,综合来看国内使用体验不太好。免费送V100时长非常良心,以前很多人自己装tensorflow用,但是现在已经不允许了,实测tensorflow pytorch都不给装,必须得用paddlepaddle。那么习惯paddlepaddle的用户完全可以选这个,其他人不适合。不过似乎GPU不太够,白天一直提醒高峰期,真到了22点后才有。
5 建议
总体最佳GPU:RTX 2070 GPU
避免使用 :任何Tesla;任何Quadro;任何Founders Edition;Titan RTX,Titan V,Titan XP
高效但价格昂贵:RTX 2070
高效且廉价:RTX 2060,GTX 1060(6GB)
价格实惠:GTX 1060(6GB)
价格低廉:GTX 1050 Ti(4GB)。或者:CPU(原型设计)+ AWS / TPU(培训);或Colab。
适合Kaggle比赛:RTX 2070
适合计算机视觉研究人员:GTX 2080 Ti,如果训练非常大的网络,建议使用RTX Titans
截至2020年2月,以下GPU可以训练所有SOTA语言和图像模型:RTX 8000:48 GB VRAM
RTX 6000:24 GB VRAM
Titan RTX:24 GB VRAM
RTX 2060(6 GB):适合业余时间探索深度学习。
RTX 2070或2080(8 GB):适合深度学习专业研究者,且预算为4-6k
RTX 2080 Ti(11 GB):适合深度学习专业研究者,而您的GPU预算约为8-9k。RTX 2080 Ti比RTX 2080快40%。
Titan RTX和Quadro RTX 6000(24 GB):适合广泛使用SOTA型号,但没有用于RTX 8000足够预算的研究者。
Quadro RTX 8000(48 GB):价格相对较高,但性能卓越,适合未来投资。
[1] https://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/[2] https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/[3] https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/[4] https://www.zhihu.com/question/299434830/answer/1010987691往期回顾
基础知识
【CV知识点汇总与解析】|损失函数篇
【CV知识点汇总与解析】|激活函数篇
【CV知识点汇总与解析】| optimizer和学习率篇
【CV知识点汇总与解析】| 正则化篇
【CV知识点汇总与解析】| 参数初始化篇
【CV知识点汇总与解析】| 卷积和池化篇 (超多图警告)
【CV知识点汇总与解析】| 技术发展篇 (超详细!!!)
最新论文解析
NeurIPS2022 Spotlight | TANGO:一种基于光照分解实现逼真稳健的文本驱动3D风格化
ECCV2022 Oral | 微软提出UNICORN,统一文本生成与边框预测任务
NeurIPS 2022 | VideoMAE:南大&腾讯联合提出第一个视频版MAE框架,遮盖率达到90%
NeurIPS 2022 | 清华大学提出OrdinalCLIP,基于序数提示学习的语言引导有序回归
SlowFast Network:用于计算机视觉视频理解的双模CNN
WACV2022 | 一张图片只值五句话吗?UAB提出图像-文本匹配语义的新视角!
CVPR2022 | Attention机制是为了找最相关的item?中科大团队反其道而行之!
ECCV2022 Oral | SeqTR:一个简单而通用的 Visual Grounding网络
如何训练用于图像检索的Vision Transformer?Facebook研究员解决了这个问题!
ICLR22 Workshop | 用两个模型解决一个任务,意大利学者提出维基百科上的高效检索模型
See Finer, See More!腾讯&上交提出IVT,越看越精细,进行精细全面的跨模态对比!
MM2022|兼具低级和高级表征,百度提出利用显式高级语义增强视频文本检索
MM2022 | 用StyleGAN进行数据增强,真的太好用了
MM2022 | 在特征空间中的多模态数据增强方法
ECCV2022|港中文MM Lab证明Frozen的CLIP 模型是高效视频学习者
ECCV2022|只能11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT
CVPR2022|比VinVL快一万倍!人大提出交互协同的双流视觉语言预训练模型COTS,又快又好!
CVPR2022 Oral|通过多尺度token聚合分流自注意力,代码已开源
CVPR Oral | 谷歌&斯坦福(李飞飞组)提出TIRG,用组合的文本和图像来进行图像检索