作者:Mr.Jk.Zhang
转自:AIZOO
本文来自:https://blog.csdn.net/mrjkzhangma/article/details/105054680 已获得授权转载 ,笔者略微更改。
在深度学习时代,如果没有一卡在手,就像习武之人没有武器。如果你准备进入深度学习领域,什么样的GPU才是最合适的呢?下面列出了一些适合进行深度学习模型训练的GPU,并将它们进行了横向性能比较,一起来看看吧!
深度学习模型越来越强大的同时,也占用了更多的显存空间,但是许多GPU却并没有足够的显存来训练它们。本文,我们将介绍哪些GPU可以安全的训练当前SOTA的模型而不至于翻车(显存不足),同时,我们也评估了每款GPU的训练性能。
那么如果你准备进入深度学习领域,什么样的GPU才是最合适的呢?下面列出了一些适合进行深度学习模型训练的GPU,并将它们进行了横向比较,一起来看看吧!
太长不看版
截至2020年2月,以下GPU可以训练所有当今语言和图像模型:
- RTX 8000:
48GB VRAM,约5500美元
- RTX 6000:
24GB VRAM,约4000美元
- Titan RTX:
24GB VRAM,约2500美元
以下GPU可以训练大多数(但不是全部)模型:
- RTX 2080 Ti:11GB VRAM,约1150美元
- GTX 1080 Ti:11GB VRAM,返厂翻新机约800美元
- RTX 2080:8GB VRAM,约720美元
- RTX 2070:8GB VRAM,约500美元
以下GPU不适合用于训练现在模型:
RTX 2060:6GB VRAM,约359美元。
在这款GPU(RTX2060)上进行训练需要相对较小的batch size,模型的拟合性能会受到影响,从而模型精度可能会较低。
图像模型
下图为图像模型(CV领域)显存爆表之前的最大批处理(batch size)大小:
*表示GPU没有足够的显存来运行模型。
各显卡CV模型的处理性能(以每秒处理的图像为单位,即FPS)。
*表示GPU没有足够的显存来运行模型。
语言模型
下图为语言模型(NLP领域)显存爆表之前的最大Batch size大小。
*表示GPU没有足够的显存来运行模型。
各个显卡在语言模型的处理速度如下图所示:
*表示GPU没有足够的内存来运行模型。
归一化比较
以Quadro RTX 8000显卡的性能为基准,各个显卡的性能对比如下面两幅图所示。
1. 图像模型(CV)
2. 语言模型
结论
相比图像模型,语言模型则更受益于大GPU显存。注意右图的曲线比左图更陡。这表明语言模型受显存大小限制更大,而图像模型受计算力限制更大。
具有较大显存的GPU具有更好的性能,因为使用较大的批处理大小有助于使CUDA内核饱和。
具有更高显存的GPU可按比例实现更大的批处理大小。只懂小学数学的人都知道这很合理:拥有24 GB 显存的GPU可以比具有8 GB 显存的GPU容纳3倍大的批次。
比起其他模型来说,长序列语言模型不成比例地占用大量的内存,因为注意力(attention)是序列长度的二次项。
GPU购买建议
RTX 2060(6 GB):你想在业余时间探索深度学习。
RTX 2070或2080(8 GB):你在认真研究深度学习,但GPU预算只有600-800美元。8 GB的显存适用于大多数模型。
RTX 2080 Ti(11 GB):你在认真研究深度学习并且您的GPU预算约为1,200美元。RTX 2080 Ti比RTX 2080快大约40%。
Titan RTX和Quadro RTX 6000(24 GB):你正在广泛使用现代模型,但却没有足够买下RTX 8000的预算。
Quadro RTX 8000(48 GB):你要么是想投资未来,要么是在研究2020年最新最酷炫的模型。
测试用的图像模型:
测试用的语言模型:
来自Tim Dettmers的成本效益评测
https://timdettmers.com/2019/...
在这篇文章中,Tim评估了各个显卡的性能和性价比排行。
下图为性能排行版:
下图为性价比排行榜:
归一化性能榜单(越高越好)。使用PyTorch 1.0.1和CUDA 10进行基准测试。
从这些数据可以看出,RTX 2060比RTX 2070,RTX 2080或RTX 2080 Ti具有更高的成本效益。RTX 2060的成本效率是Tesla V100的5倍以上。原因是使用Tensor Cores进行16位计算的能力比仅仅拥有更多Tensor Cores内核要有价值得多。
来自Tim的购买建议
来自Tim Dettmers的建议:
总体最佳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
参考链接:
https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/
https://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/
https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/
推荐阅读
关于作者
我是元峰,互联网+AI领域的创业者,欢迎在微信搜索“AIZOO”关注我们的公众号AIZOO。
如果您是有算法需求,例如目标检测、人脸识别、缺陷检测、行人检测的算法需求,欢迎添加我们的微信号AIZOOTech与我们交流,我们团队是一群算法工程师的创业团队,会以高效、稳定、高性价比的产品满足您的需求。
如果您是算法或者开发工程师,也可以添加我们的微信号AIXZOOTech,请备注学校or公司名称-研究方向-昵称,例如“西电-图像算法-元峰”,元峰会拉您进我们的算法交流群,一起交流算法和开发的知识,以及对接项目。
关注元峰微信号“AIZOOTech”
更多算法模型相关请关注AIZOO专栏