如何挑选深度学习 GPU?

深度学习是一个对计算有着大量需求的领域,从一定程度上来说,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 > 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/

卷积网络(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/

GPU平均加速/系统总成本

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

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

来自知乎@Aero的「在线」GPU评测

[4]https://www.zhihu.com/question/299434830/answer/1010987691

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

不过现在出会员了:

免费版主要是K80,有点弱,可以跑比较简单的模型,有概率分到T4,有欧皇能分到P100。
付费就能确保是T4或者P100,一个月10美元,说是仅限美国。
Colab毕竟是Google的,那么你首先要能连得上google,并且得网络稳定,要是掉线很可能要重新训练,综合来看国内使用体验不太好。

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

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

国外的还有vast.ai:

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):价格相对较高,但性能卓越,适合未来投资。

如何挑选深度学习 GPU?相关推荐

  1. 教你如何挑选深度学习GPU

    教你如何挑选深度学习GPU 即将进入 2018 年,随着硬件的更新换代,越来越多的机器学习从业者又开始面临选择 GPU 的难题.正如我们所知,机器学习的成功与否很大程度上取决于硬件的承载能力.在今年 ...

  2. CUDA和cuDNN到底是啥关系?(cuDNN是基于CUDA的深度学习GPU加速库)

    1.什么是CUDA CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台. CUDA是一种由NVIDIA推出的通用并行计算架构,该架构 ...

  3. fpga深度学习gpu加速_TornadoVM:使用GPU和FPGA加速Java

    fpga深度学习gpu加速 重要要点 TornadoVM是一个编程和执行框架,用于在异构硬件(多核CPU,GPU和FPGA)上卸载和运行JVM应用程序 TornadoVM通过OpenCL的新后端扩展了 ...

  4. windows7系统,NVIDIA GeForce GTX 750 Ti 2G显卡搭建caffe、TensorFlow、Keras深度学习GPU环境

    windows7系统,NVIDIA GeForce GTX 750 Ti 2G显卡搭建caffe.TensorFlow.Keras深度学习GPU环境 事情的由来 第一步,你得先有个windows7操作 ...

  5. Ubuntu18.04深度学习GPU环境配置

    Ubuntu18.04深度学习GPU环境配置 Ubuntu 18.04.cuda 9.0.cuDnn v7.TensorFlow/Keras 与anaconda 1.背景 为了加速神经网络的训练,使用 ...

  6. 深度学习GPU服务器配置

    深度学习GPU服务器配置(TITAN RTX) 配置清单 名称 品牌 规格型号 技术参数 显卡 英伟达 TITAN RTX TAITAN RTX 24G 主板 华硕 x299 EXTREME ASUS ...

  7. 深度学习GPU环境搭建

    深度学习GPU环境搭建: 安装步骤: 1.安装GPU驱动:官网有(可以理解为告诉电脑这个东西怎么使用) 不同厂家的不一样,用于深度学习的一般是NVIDIA.AMD家. 本人是NVIDIA家,驱动长这样 ...

  8. 卷成这样,非逼我用RTX 3090?(深度学习GPU平台种草

    我是一枚做AI算法的,已经在这片红海里,卷了好些年,身边总有一些想转AI的盆友,对此,本人的拷问也从不缺席,数学能行吗,coding厉害吗,最重要的是,有GPU资源吗? 曾几何时,实验室有限的资源,让 ...

  9. 深度学习 GPU环境 Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.

    本节详细说明一下深度学习环境配置,Ubuntu 16.04 + Nvidia GTX 1080 + Python 3.6 + CUDA 9.0 + cuDNN 7.1 + TensorFlow 1.6 ...

最新文章

  1. 2021年大数据Flink(十):流处理相关概念
  2. linux怎么修改vdo的名字,linux中VDO的使用
  3. js正则--验证6-12位至少包含数字、小写字母和大些字母中至少两种字符,
  4. iOS 设置状态栏样式
  5. java正则表达式替换指定字符串_笔记_正则表达式替换字符串中特定范围内的字符。...
  6. tcc读写文本txt文件
  7. ACL 2019开源论文 | 基于Attention的知识图谱关系预测
  8. Serverless:云函数 + 小马BI,将报表极速搬上云
  9. 你知道304吗?图解强缓存和协商缓存
  10. java8 streams_Java 8 Streams API作为友好的ForkJoinPool外观
  11. ue4显示变量_UE4:快速入门蓝图(Blueprint)的方法之一
  12. 带UpdatePanel页面返回js问题
  13. java固定资产管理系统_基于jsp的固定资产管理系统-JavaEE实现固定资产管理系统 - java项目源码...
  14. 有关ArrayList增加Map引发的一个BUG
  15. js复杂对象和简单对象的简单转化
  16. LINUX SHELL中while循环和遍历参数
  17. BRVAH的基本使用
  18. 怎样在html中插入ppt,PPT怎么插入网页中的视频
  19. CSS编写格式边框与渐变内容补充
  20. U盘插入电脑提示请将磁盘插入“可移动磁盘”解决办法

热门文章

  1. 阿里云K8S容器服务的使用
  2. OpenCV 笔记(04)— OpenCV2 升级到 OpenCV3/CV4 的改动(去掉 CV_前缀、使用新的前缀替换、使用新的命名空间宏)
  3. 基类的析构函数为什么要设置成virtual
  4. 创 keras_contrib 安装
  5. kafka+zookeeper搭建步骤kafka问题
  6. CVPR2020论文介绍: 3D 目标检测高效算法
  7. CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)
  8. 解决:Plugin ‘maven-compiler-plugin:3.1‘ not found
  9. [JS] [C] [编程题] 用户喜好
  10. HarmonyOS shape 的使用