机器推理在深度学习的影响下,准确性越来越高、速度越来越快。深度学习对人工智能行业发展的贡献巨大,这得益于现阶段硬件计算能力的提升、互联网海量训练数据的出现。本篇文章主要介绍深度学习过程中如何选择合适的GPU显卡,如果你是深度学习新手,希望这篇文章对你有帮助。

推理用到的硬件分两种,一种是专业AI硬件公司出的AI芯片,一种就是我们平时熟知的GPU显卡了,前者不太适合入门学习,而后者无论从入门难度还是性价比上讲,对于新手来说都是优先的选择。而GPU显卡主流厂商大概两家,一个Nvidia,一个AMD,前者出的卡我们一般称之为N卡,后者称之为A卡。目前不管是普通消费市场(比如玩游戏)还是做机器推理的,N卡都占主流,生态也更好一些,因此,如果没有特殊原因,建议新手优先选择N卡入手。我个人不太推荐使用非主流的产品、技术,因为他们大多数不太成熟,使用过程中困难重重,甚至最终官方夭折。本篇文章所有内容全部基于Nvidia显卡。

Nvidia显卡分类

Nvidia显卡主要分3大类:

1)Geforce系列

这个系列是销量最多、大众最为熟悉的显卡,一般用来打游戏。价格便宜,最新出来的旗舰卡RTX 2080Ti京东售价大概1w左右,根据不同的品牌,价格有所波动。低配置的便宜的一千就能买到。游戏发烧友花1w买这种显卡还是很常见的。这个系列显卡官方定位是消费级,就是让你用来打游戏的。但是它在深度学习上的表现也非常不错,很多人用来做推理、训练,单张卡的性能跟深度学习专业卡Tesla系列比起来其实差不太多,但是性价比却高很多。比如已经停产的GTX 1080显卡的参数基本和深度学习入门级显卡Tesla P4一样,用来做训练和推理的效果比Tesla P4还要好,可是GTX 1080一张卡才卖5000~6000左右,而Tesla P4要卖到1.4w。英伟达官方禁止使用GTX系列显卡用于深度学习等用途,一经使用,自动过保。那么,既然性能差不多,为什么价格差这么远呢?原因后面讲到。

2)Quadro系列

Quadro系列显卡一般用于特定行业,比如设计、建筑等,图像处理专业显卡,比如CAD、Maya等软件,一般人很少用到,价格相对来讲也稍微贵一些,这里不多说了。

3)Tesla系列

Tesla系列显卡定位并行计算,一般用于数据中心,具体点,比如用于深度学习,做训练、推理等。阿里云、Amazon云有非常多的GPU服务器,基本都采用Tesla系列显卡。这个系列显卡有个特别明显的特征,那就是贵。Tesla系列入门级显卡 Tesla P4,前面提到过,用来做深度学习的效果比GTX 1080还差,但是价格是后者的3倍多。像其他更高级别的Tesla V100、Tesla P100 价格高达8w、4w,这种价位的显卡虽然性能强劲,但是一般人是买不起的,只有企业数据中心才会部署这种显卡。那么前面提到过,既然对于搞深度学习而言,Tesla系列显卡相比GeForce而言性价比并不高,那为什么英伟达还会推出Tesla这个系列呢? 主要原因有以下4个:

(1)我们前面讨论的性能对比全部都是基于单块显卡而言的,而Tesla系列显卡针对GPU集群做了优化,像那种4卡、8卡、甚至16卡服务器,Tesla多块显卡合起来的性能不会受很大影响,但是Geforce这种游戏卡性能损失严重。这也是Tesla主推并行计算的优势之一。

(2)数据中心的GPU显卡都是大批量部署的,有多台服务器,每台服务器有多块GPU显卡,而Tesla系列显卡功耗优化非常明显,Tesla P4单块卡的最大功耗只有75W,而与它参数配置差不多的GTX 1080的功耗高达175W。可以想象,Tesla系列显卡更适合大规模部署,长远来看,成本小得多。功耗低其中的一个原因是,Tesla系列显卡基本都是被动散热,不提供风扇,这个更适合数据中心机房工作环境:服务器设备统一散热,机房恒温条件。这本身跟它的定位一致。

(3)再一个,类似Geforce这种消费级的显卡更新换代太快,GTX 1080显卡生命周期不到2年就停产了,类似手机这种电子设备,你产品都还没做出来,拟采购的GPU可能就买不到货了。

(4)消费级显卡毕竟用于个人用途,性能方面不可能无限提升,用于并行计算的Tesla显卡高配版在性能(参数配置)上可能比消费级显卡高配版要高得多。

注意国内能买到的显卡一般由第三方代理商销售,比如七彩虹、华硕、丽台等等显卡厂商,这些厂商会在Nvidia的核心显卡芯片之上做一些改造,比如散热模式、外观或者其他修改,因此同一型号的同一款卡的价格可能会因不同厂家而不同。

GPU几个比较重要的参数

GPU有非常多的参数,在做深度学习挑选显卡的时候,主要看以下几个:

GPU架构:不同款的GPU可能采用不同设计架构,比如Geforce 10系列的 GTX 1080/1080Ti采用的是Pascal架构,而Geforce 20系列的 RTX 2080/2080Ti采用的是Turing架构。不同架构的GPU,即使其他参数差不多,性能差别可能非常大。

CUDA核心数量:这是一个非常重要的参数,一般你在搜索显卡参数时,这个参数一般写在前面。CUDA核心数量越大越好,前面提到的消费级显卡Geforce GTX 1080和Tesla入门级显卡 P4的CUDA核心数量一样,都是2560个。而Geforce RTX 2080Ti的CUDA核心数高达4352个。

显存位宽:代表GPU芯片每个时钟周期内能从GPU显存中读取的数据大小,这个值越大代表GPU芯片和显存之间数据交换的速度越快,性能越好。Geforce GTX 1080的显存位宽为256bit,Geforce RTX 2080Ti显存位宽为352bit。

GPU工作频率:这个很好理解,代表GPU每秒钟工作次数,单位为MHz,跟CPU的频率类似。该值越大代表性能越好。

显存带宽:代表GPU芯片每秒与显存交换的数据大小,这个值等于 显存位宽*工作频率,单位为GB/秒,该值越大,代表GPU性能越好。Geforce GTX 1080的显存带宽为320GB/秒,而它的升级版Geforce RTX 2080的带宽为448GB/秒。

显存容量:这个东西跟内存一样,不是越大越好,够用就行。Geforce GTX 1080的显存为8GB,而该系列的旗舰版Geforce GTX 1080Ti的显存为11GB。Tesla系列显卡由于特殊的应用场景,有些型号的卡显存高达16G/24G不等。

功耗:GPU能耗,像Geforce这种消费级的显卡一般功耗非常高,Geforce GTX 1080的最大功耗为175W,Tesla P4的最大功耗为75W。像那种数据中心大规模级别的GPU部署,低功耗的显卡一年电费能省很多。

注意上面提到的显卡名称后面加Ti和不加Ti完全是两款不同的卡,加Ti的性能比不加Ti的参数配置高很多。比如 Geforce GTX 1080Ti 比 Geforce GTX 1080性能更强劲。

如何选择合适你的显卡?

如果是个人学习使用,推荐购买Geforce系列的显卡,然后根据个人预算,如果在1W左右,可以选择最新出来的Geforce RTX 2080Ti,如果费用不够,可以购买Geforce RTX 2080/2070,价格在5000/3000左右。千万不要买入门级的Tesla P4,价格在1.4W左右。RTX 2080Ti经过实际测试,YoloV3目标检测模型能跑20路1080P高清实时流。

[AI开发]深度学习如何选择GPU?的更多相关文章

  1. 问题集录--新手入门深度学习,选择TensorFlow 好吗?

    新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合O ...

  2. TVM:一个端到端的用于开发深度学习负载以适应多种硬件平台的IR栈

    TVM:一个端到端的用于开发深度学习负载以适应多种硬件平台的IR栈  本文对TVM的论文进行了翻译整理 深度学习如今无处不在且必不可少.这次创新部分得益于可扩展的深度学习系统,比如 TensorFlo ...

  3. 深度学习框架:GPU

    深度学习框架:GPU Deep Learning Frameworks 深度学习框架通过高级编程接口为设计.训练和验证深度神经网络提供了构建块.广泛使用的深度学习框架如MXNet.PyTorch.Te ...

  4. 用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别

    用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别 http://phunter.farbox.com/post/mxnet-tutorial1 用MXnet实战深度学 ...

  5. 想要学深度学习但是没有GPU?我帮你找了一些不错的平台

    本文始发于个人公众号:TechFlow,原创不易,求个关注 上次给大家推荐了免费的spark集群之后,就有很多小伙伴来问我有没有好的云GPU平台推荐.我一直没给大家推荐,主要原因是我常年使用Mac,对 ...

  6. windows10配置tensorflow深度学习环境(GPU版)各种坑

    我们配置一个tensorflow-gpu版的深度学习环境 windows10 64 python3.5 vs2017(需要C++部分) cuda9.0 cudnn7.1 GeForce GTX1060 ...

  7. AI:深度学习用于文本处理

    同本文一起发布的另外一篇文章中,提到了 BlueDot 公司,这个公司致力于利用人工智能保护全球人民免受传染病的侵害,在本次疫情还没有引起强烈关注时,就提前一周发出预警,一周的时间,多么宝贵! 他们的 ...

  8. AI炼丹 - 深度学习必备库 numpy

    目录 深度学习必备库 - Numpy 1. 基础数据结构ndarray数组 1.1 为什么引入ndarray数组 1.2 如何创建ndarray数组 1.3 ndarray 数组的基本运算 1.4 n ...

  9. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

随机推荐

  1. java 的多态(2013-10-11-163 写的日志迁移

    java 的多态性:(所谓多态--就是指一个引用(类型)在不同情况下的多种状态)   1.方法的多态:    重载(overload)   重写(覆盖 override)   2.对象的多态性:(本人 ...

  2. python 中 * 与**的使用

    1.参数中使用如果是函数定义中参数前的*表示的是将调用时的多个参数放入元组中,**则表示将调用函数时的关键字参数放入一个字典中 如定义以下函数 def func(*args): print(args) ...

  3. redis--py链接redis【转】

    请给原作者点赞--> 原文链接 一.redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链 ...

  4. Monkeyrunner脚本的录制与回放

    继上一篇monkeyrunner环境搭建:http://www.cnblogs.com/zh-ya-jing/p/4351245.html 之后,我们可以进一步学习monkeyrunner了. 我也是 ...

  5. Linux IP怎么设置

    最常用的给网卡配置ip的命令为#ifconfig eth0 192.168.0.1 但是,这样重启后又打回原形.要想永久保存,需要 vim /etc/sysconfig/network-scripts ...

  6. zuul session 不一致的问题

    配置文件: #不加这句话导致session不一致zuul.routes.intelligentsia-authority.sensitiveHeaders = Authorization 过滤器里面 ...

  7. day04_06 短路原则

    True和False不能写成ture和false,不然会报错 not not True or False and not True 按照not>and>or来进行括号 (not (not ...

  8. Python学习笔记——jupyter notebook 入门和中文pdf输出方案

    简单粗暴的安装 对于懒人而言,我还是喜欢直接安装python的集成开发环境 anaconda 多个内核控制 jupyter官网 1). 同时支持python2 和python 3 conda crea ...

  9. Django中间件、Auth认证

    中间件 一:什么是中间件 是介于request与response处理之间的一道处理过程 二:中间件的作用 如果你想修改请求,例如被传送到view中的HttpRequest对象. 或者你想修改view返 ...

  10. Spring事务支持:利用继承简化配置

    因为事务代理的实现类是 TransactionProxyFactoryBean . 事务代理Bean必须注入事务管理器. 大部分情况下,每个事务代理的事务属性大同小异,对于这种情况,Spring提供了 ...