深度学习500问——Chapter15:异构计算,GPU和框架选型(2)

文章目录


15.5 GPU硬件环境配置推荐

15.5.1 GPU主要性能指标

GPU的性能主要由以下三个参数构成:

  1. 计算能力。通常我们关心的是32位浮点计算能力。16位浮点训练也开始流行,如果我们只做预测的话也可以用8位整数。
  2. 内存大小。当模型越大,或者训练时的批量越大时,所需要的GPU内存就越多。
  3. 内存带宽。只有当内存带宽足够时才能充分发挥计算能力。

对于大部分用户来说,只要考虑计算能力就可以了。GPU内存尽量小于4GB。但如果GPU要同时显示图形界面,那么推荐的内存大小至少为6GB。内存带宽通常相对固定,选择空间较小。

下图描绘了GTX 900和1000系列里各个型号的32位浮点计算能力和价格的对比。其中价格为Wikipedia的建议价格。

我们可以从图中读出两点信息:

  1. 在同一个系列里面,价格和性能大体上成正比。但后发布的型号性价比更高,例如980Ti 和 1080 Ti。
  2. GTX 1000系列比 900系列在性价比上高出2倍左右。

如果大家继续比较GTX较早的系列,也可以发现类似的规律。据此,我们推荐大家在能力范围内尽可能买较新的GPU。

对于RTX系列,新增了Tensor Cores单元以及支持FP16,使得显卡的可选择范围更加多元。

15.5.2 购买建议

首先给出一些总体的建议:

性价比高但较贵:RTX 2070,GTX 1080 Ti

性价比高又便宜:RTX 2060,GTX 1060(6GB)

当使用数据集 > 250GB:GTX Titan X(Maxwell),NVIDIA Titan X Pascal 或 NVIDIA Titan Xp

没有足够的💰:GTX 1060(6GB)

几乎没有💰,入门级:GTX 1050 Ti(4GB)

做Kaggle比赛:RTX 2070、GTX 1060(6GB)适用于任何“正常”比赛,GTX 1080 Ti(预算足够可以选择RTX 2080 Ti)用于“深度学习竞赛”。

计算机视觉研究员:RTX 2080 Ti(涡轮散热或水冷散热较好,方便后期增加新的显卡)如果网络很深可以选择 Titan RTX。

一名NLP研究人员:RTX 2080 Ti,并使用FP16来训练

搭建一个GPU集群:这个有点复杂,另作探讨。

刚开始进行深度学习研究:从RTX 2060 或GTX 1060(6GB)开始,根据i下一步兴趣(入门,Kaggel比赛,研究,应用深度学习)等等,再进行选择。目前,RTX 2060 和GTX 1060都比较适合入门的选择。

想尝试下深度学习,但没有过多要求:GTX 1050 Ti(4或2GB)

目前独立GPU主要有AMD和Nvidia两家厂商。其中Nvidia在深度学习布局较早,对深度学习框架支持更好。因此,目前大家主要会选择Nvidia的GPU。

Nvidia有面向个人用户(例如GTX系列)和企业用户(例如Tesla系列)对两类GPU。这两类GPU的计算能力相当。然而,面向企业用户的GPU通常使用被动散热并增加了内存校验,从而更适合数据中心,并通常要比面向个人用户的GPU贵上10倍。

如果你是拥有100台机器以上的大公司用户,通常可以考虑针对企业用户的Nvidia Tesla系列。如果你是拥有10到100台机器的实验室和中小公司用户,预算充足的情况下可以考虑Nvidia DGX系列,否则可以考虑购买如 Supermicro之类的性价比比较高的服务器,然后再购买安装GTX系列的GPU。

Nvidia一般每一两年发布一次新版本的GPU,例如2017年发布的是GTX 1000系列,每个系列中会有数个不同的型号,分别对应不同的性能。

15.6 软件环境搭建

深度学习其实就是指基于一套完整的软件系统来构建算法,训练模型。如何搭建一套完整的软件系统,比如操作系统的选择,安装环境中遇到的问题等等,本节做一个简单的总结。

15.6.1 操作系统选择

针对硬件厂商来说,比如NVIDIA,对各个操作系统的支持都是比较好的,比如WIndows系列,Linux系列,但是由于Linux系统对专业技术人员比较友好,所以目前几乎所有的深度学习系统构建都是基于Linux的,比较常用的系统如Ubuntu系列,CentOS系列等等。在构建系统的时候,如何选择合适的操作系统是一个刚刚入门深度学习的工作者面临的问题,在这里给出几点建议:

(1)刚刚入门,熟悉Windows系统,但是对Linux和深度学习都不太熟,这个时候可以基于windows系列系统来做入门学习。

(2)简单了解Linux的使用,不太懂深度学习相关知识,可以直接基于Linux系统来搭建框架,跑一些开源的项目,慢慢深入研究学习。

(3)熟悉Linux,不熟悉深度学习理论,毫无疑问,强烈推荐使用Linux系统,安装软件简单,工作效率高,总之一句话,如果不熟悉Linux,就先慢慢熟悉,最终还是要回归到Linux系统来构建深度学习系统。

15.6.2 常用基础软件安装

目前有众多深度学习框架可供大家使用,但是所有框架基本都有一个共同的特点,目前几乎都是基于Nvidia的GPU来训练模型,要想更好的使用Nvidia的GPU,cuda和cudnn就是必备的软件安装。

  1. 安装cuda
    上文中有关于cuda的介绍,这里只是简单介绍基于Linux系统安装cuda的具体步骤,可以根据自己的需要安装cuda8.0或者cuda9.0,这两种版本的安装步骤基本一致,这里以最常用的ubuntu 16.04 lts版本为例:

    1. 官网下载,地址
      cuda8.0https://developer.nvidia.com/cuda-80-ga2-download-archive
      cuda9.0https://developer.nvidia.com/cuda-90-download-archive
      进入网址之后选择对应的系统版本即可,如下图所示:

      cuda8.0

    cuda9.0

    1. 命令行中进入到cuda所在的位置,授予运行权限:
      cuda8.0: sudo chmod +x cuda_8.0.61_375.26_linux.run
      cuda9.0:sudo chmod +x cuda_9.0.176_384.81_linux.run

    2. 执行命令安装cuda:
      cuda8.0:sudo sh cuda_8.0.61_375.26_linux.run
      cuda9.0:sudo sh cuda_9.0.176_384.81_linux.run
      之后命令之后下面就是安装步骤,cuda8.0和cuda9.0几乎一致:

    • 首先出现cuda软件的版权说明,可以直接按q键跳过阅读

    • Do you accept the previously read EULA?​accept/decline/quit: accept

    • Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?​(y)es/(n)o/(q)uit:no

    • Install the CUDA 9.0 Toolkit?​(y)es/(n)o/(q)uit:yes

    • Enter Toolkit Location​ [ default is /usr/local/cuda-9.0 ]:直接按enter键即可

    • Do you want to install a symbolic link at /usr/local/cuda?​(y)es/(n)o/(q)uit:yes

    • Install the CUDA 9.0 Samples?​ (y)es/(n)o/(q)uit:yes

    以上步骤基本就是cuda的安装步骤。

  2. 安装cudnn
    cudnn是Nvidia的专门针对深度学习的加速库。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JOYCE_Leo16

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值