2.2 硬件平台
深度学习的网络训练通常需要大量的计算资源,尤其是处理图像、视频、语音等数据类型时,通常会涉及比较复杂的网络结构,如卷积神经网络通常涉及包含了大量的矩阵运算,相对于CPU而言,GPU更擅长矩阵并行运算,而且相对于TPU、FPGA、Intel Xeon Phi处理器等可用于深度学习的其他硬件设备,目前阶段开发最简单、使用最普遍仍是GPU,因此用户的硬件平台搭建或选用更应关注于GPU的性能。
2.2.1 个人电脑
由于目前主流的深度学习框架基本都是基于NVIDIA的CUDA计算库实现GPU加速,而CUDA计算库支持的显卡不包括AMD等其他厂商。因此,使用个人电脑进行深度学习的用户,首先应查看主机中是否安装有NVIDIA独立显卡,而且需要到NVIDIA官网(https://developer.nvidia.com/cuda-gpus)查看是否属于支持CUDA的显卡类型。如果是需要购置新显卡作为硬件基础,相信一些用户可能会和笔者刚刚入门深度学习一样,对NVIDIA现有的Tesla、Quadro、GeForce、TITAN等多种系列的显卡搞得晕头转向,不知如何下手,下面做一下简单介绍。
Tesla系列显卡定位于数据中心的多GPU并行计算,多采用被动散热方式布置在机架服务器上,具有性能优、功耗低、集群化等优势,但价格最为昂贵。按照NVIDIA公司2017年推出用户协议,在数据中心的CUDA只允许使用Tesla GPU而不是GTX或RTX卡。这意味着组织和大学往往出于规避法律问题被迫购买昂贵且低效的Tesla系列GPU。目前,阿里云、Amazon云的GPU服务器均采用Tesla系列显卡,高校、企业等单位私有的GPU服务器也基本都采用Tesla显卡。
Quadro系列显卡一般用于特定行业,比如设计、建筑等,作为图像处理专业显卡,价格相对Geforce系列来讲也较贵,并不适合于深度学习。
Geforce是面向大众的系列产品,因为需要和AMD的显卡竞争消费级市场,所以性价比最高,从单卡的计算性能上甚至不输Tesla系列,但稳定性、多卡并行和集群运算等其他方面不及Tesla。TITAN系列可以看作Geforce系列的升级版,能够提供更大的显存、更多的CUDA核心和更高的内存带宽,但价格较为昂贵,性价比较低。
如果是个人学习使用,推荐购买Geforce系列的显卡,但由于这种消费级的显卡更新换代快,基本每两到三年旗舰型号价格就会大幅下降,应该结合预算选择适合的显卡产品,如在2019年10000元可购买当时旗舰型号GeforceRTX2080Ti,其显存为11G。如果费用不够,可以购买8G显存的GeforceRTX2080,价格在5000元左右。甚至购置价格在1500元左右,显存为6G的GTX1060系列显卡,也能满足深度学习初学者的学习及实验需求。除价格因素以外,在配置个人深度学习主机时,还有三点需要考虑:
(1)在图像处理领域的深度学习平台,需优先考虑显存的容量,毕竟更大的显存支持分辨率更高的图像处理,而较小的显存在应对大数据集的处理时往往会遇到瓶颈。
(2)一个Geforce系列显卡的功率在250W左右,因此在购置新机器或更换主机电源时,应该根据配置显卡的数量选择合适的电源功率,并为以后扩展显卡留有余地。
(3)因为在深度学习网络训练过程中,显卡基本处于满负荷运行,为保证系统长时间稳定运行,应考虑水冷或风冷等方式,做好主机的温度控制。
2.2.2 租用云GPU服务器
除了个人购置电脑或利用单位部署在本地的GPU服务器外,用户还可以利用一些大型知名企业提供的云服务来满足深度学习的硬件需求。这类提供GPU计算服务的云包括美国的亚马逊EC2、微软的Azure、谷歌GCP,国内的阿里云、百度云、京东云、美团云、华为云等,这些云服务均按照流量或时间以及硬件性能进行收费,免费的云服务较少,最知名的当属谷歌Colab。云服务器基本都会提供已经安装好不同深度学习架构的各种镜像,免去了用户自己安装操作系统、深度学习框架以及各种计算库的工作,当然用户也可以选择基础镜像后自行配置安装软件。下面以腾讯云为例介绍云GPU服务器的使用方法。
进入网址https://cloud.tencent.com/product/gpu,点击立即选购按钮进入GPU服务器参数选择页面(图2-1)。
图2-1 腾讯GPU云服务选购页面
选择“按量计费”,可以列出不同地区不同硬件配置的价格选项(图2-2)。
图2-2 腾讯云服务价格选项
接下来在镜像市场搜索GPU,进一步选择GPU镜像(图2-3)。
图2-3 GPU镜像选择
进一步对主机进行密码等安全配置(图2-4)。购买成功后就可以使用云服务开发环境。
图2-4 设置安全规则和购买服务器