深度学习如何挑选GPU?

深度学习是一个对计算有着大量需求的领域,从一定程度上来说,GPU的选择将从根本上决定深度学习的体验。因此,选择购买合适的GPU是一项非常重要的决策。那么2022年,如何选择合适的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 > FLOPs

2 如何选择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/

b7b964a503656060d8796050b047cd81.png

卷积网络(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内核要有价值得多。

2)来自Lambda的评测[2,3]

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/

ad811599377b2f3fbfefd6ffe6c056f3.png

GPU平均加速/系统总成本

9f82e7848fc5007223265518fbc774ce.png

GPU性能,以每秒处理的图像为单位

e1f74fcbf3e1485b957f86cf822f8a77.png

 以 Quadro RTX 8000 为基准的针对Quadro RTX 8000的图像模型训练吞吐量

3) 来自知乎@Aero的「在线」GPU评测[4]

https://www.zhihu.com/question/299434830/answer/1010987691

大家用的最多的可能是Google Colab,毕竟免费,甚至能选TPU

825f3bdaeaa0d86d3b4edca8b6824340.png

不过现在出会员了:

6fdd1d68da6ce6bb950c04918bc02b79.png

免费版主要是K80,有点弱,可以跑比较简单的模型,有概率分到T4,有欧皇能分到P100。

付费就能确保是T4或者P100,一个月10美元,说是仅限美国。

Colab毕竟是Google的,那么你首先要能连得上google,并且得网络稳定,要是掉线很可能要重新训练,综合来看国内使用体验不太好。

下一个是百度AI Studio

b1ebbc7b776fc7978246ce4f4254923f.png

免费送V100时长非常良心,以前很多人自己装tensorflow用,但是现在已经不允许了,实测tensorflow pytorch都不给装,必须得用paddlepaddle。那么习惯paddlepaddle的用户完全可以选这个,其他人不适合。

92211b73776cebe5719147c17e772d22.png

不过似乎GPU不太够,白天一直提醒高峰期,真到了22点后才有。

国外的还有vast.ai:

036b71e33ddcf4778a13704ac7175fdb.png

5 建议

1)来自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

2)来自Lambda的建议

截至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

觉得还不错就给我一个小小的鼓励吧!
### 如何在深度学习中配置 GPU #### 准备工作 为了成功配置用于深度学习GPU 环境,需确认硬件支持 CUDA 技术。CUDA 是 NVIDIA 提供的一种并行计算平台和编程模型[^1]。只有 NVIDIA 显卡能够支持 CUDA 运算,因此如果计划使用 GPU 加速深度学习训练,则必须配备 N 卡。 #### 安装驱动程序 安装最新版本的 NVIDIA 驱动程序是必要的前提条件之一。可以通过访问官方 NVIDIA 网站下载适合操作系统的驱动包,并按照提示完成安装过程[^3]。 #### 设置开发环境 推荐采用 Anaconda 来管理 Python 虚拟环境以及依赖库文件。它能简化复杂工具链之间的兼容性问题解决流程。创建一个新的 conda environment 并指定 python 的版本号: ```bash conda create -n pytorch_env python=3.8 ``` 激活新建好的虚拟环境: ```bash conda activate pytorch_env ``` #### 安装 PyTorch 和其他必要组件 基于目标设备架构选择合适的 PyTorch 版本进行安装。对于具备 CUDA 功能的支持型 GPU 用户来说,应该挑选带有 cuda 后缀标签的相关发行版来获取最佳性能表现效果。例如,在具有 CUDA 11.7 支持的情况下执行下面命令即可实现快速部署: ```bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117 ``` 此外还需要额外引入一些常用的辅助类库比如 NumPy 或者 Matplotlib 等提升整体工作效率[^2]: ```bash pip install numpy matplotlib scikit-learn pandas jupyterlab ``` #### 测试 GPU 是否正常运行 编写简单的测试脚本来验证当前系统能否正确调用到 GPU 设备资源参与运算活动之中去。这里给出一段基础样例代码作为参考依据: ```python import torch if __name__ == "__main__": device = 'cuda' if torch.cuda.is_available() else 'cpu' print(f"Using {device} device") x = torch.rand(5, 5).to(device) y = torch.rand(5, 5).to(device) z = x + y print(z) ``` 上述代码片段会尝试检测是否存在可用的 CUDA-enabled GPUs;如果有则利用它们来进行张量加法操作演示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值