深度学习训练模型的硬件条件(点评)

比较系统性的文章,包括本地硬件搭建、云端训练环境介绍。

原文地址:https://blog.csdn.net/u010327061/article/details/80775135

——————————————————————————————————————————————

之前热衷于学习理论知识,目前想跑代码了发现不知道从何下手,自己电脑上搭建的平台基本就是个摆设,因为跑不起来呀。今天我们就来看看想做深度学习应该怎么下手。

首先了解下基础知识:

1、深度学习用cpu训练和用gpu训练的区别

(1)CPU主要用于串行运算;而GPU则是大规模并行运算。由于深度学习中样本量巨大,参数量也很大,所以GPU的作用就是加速网络运算。
(2)CPU算神经网络也是可以的,算出来的神经网络放到实际应用中效果也很好,只不过速度会很慢罢了。而目前GPU运算主要集中在矩阵乘法和卷积上,其他的逻辑运算速度并没有CPU快。

目前来讲有三种训练模型的方式:

1. 自己配置一个“本地服务器”,俗称高配的电脑。

这个选择一般是台式机,因为笔记本的“高配”实在是太昂贵了,同一个价格可以买到比笔记本好很多的配置。如果是长期使用,需要长期从事深度学习领域的研究,这个选择还是比较好的,比较自由。

① 预算一万以内的机器学习台式机/主机配置推荐:
https://blog.csdn.net/ShadowN1ght/article/details/78046287

【点评】预算5000左右屌丝套装:配置较差,已经不适合20年的使用环境;

【点评】预算7000-8000中产套装:可以考虑购买20年的组装机,加显示器和键盘约4000以内,适合家用;

【点评】预算一万的豪华套装:较高端点的家用配置,要预算宽松,可以考虑;

② 从李飞飞的课程里,可以看到她的电脑配置,这个配置是机器学习的基本配置,我们可以参考一下:https://blog.csdn.net/caimouse/article/details/77942582

【点评】讲了下大致配置和一张图片,对于20年来说,参考意义不大;和一些深度学习的链接文章;

③ 配置主机需要了解的参数(在上一篇博客中已经详细介绍了各个参数的含义):

GPU:一个好的GPU可以将你的训练时间从几周缩减成几天,所以选GPU一定要非常慎重。可以参看GPU天梯榜,都是一些比较新的型号具有很强的性能。

【点评】贴大神的比较文章和对比图,从家用角度看,选GTX1060的性价比比较高,但是搭建公司的服务器,还是选择GTX1080Ti  以上级别比较好https://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/

Figure 2: Normalized performance data of GPUs and TPU. Higher is better. RTX cards assume 16-bit computation. The word RNN numbers refer to biLSTM performance for short sequences of length <100. Benchmarking was done using PyTorch 1.0.1 and CUDA 10.

在英伟达产品系列中,有消费领域的GeForce系列,有专业绘图领域的Quadro系列,有高性能计算领域的Tesla系列,如何选择?有论文研究,太高的精度对于深度学习的错误率是没有提升的,而且大部分的环境框架都只支持单精度,所以双精度浮点计算是不必要,Tesla系列都去掉了。从显卡效能的指标看,CUDA核心数要多,GPU频率要快,显存要大,带宽要高。这样,最新Titan X算是价格便宜量又足的选择。

CPU:总的来说,你需要选择一个好的GPU,一个较好的CPU。作为一个高速的串行处理器,常用来作为“控制器”使用,用来发送和接收指令,解析指令等。由于GPU内部结构的限制,使得它比较适合进行高速的并行运算,而并不适合进行快速的指令控制,而且许多的数据需要在GPU和CPU之间进行存取,这就需要用到CPU,因为这是它的强项。

在深度学习任务中,CPU并不负责主要任务,单显卡计算时只有一个核心达到100%负荷,所以CPU的核心数量和显卡数量一致即可,太多没有必要,但是处理PCIE的带宽要到40。

内存条:主要进行CPU和外设之间的数据交换,它的存取速度要比硬盘快好几倍,但是价格比较昂贵,通常会和容量成正比。内存大小最起码最起码最起码要大于你所选择的GPU的内存的大小(最好达到显存的二倍,当然有钱的话越大越好)。在深度学习中,会涉及到大量的数据交换操作(例如按batch读取数据)。当然你也可以选择将数据存储在硬盘上,每次读取很小的batch块,这样你的训练周期就会非常长。常用的方案是“选择一个较大的内存,每次从硬盘中读取几个batch的数据存放在内存中,然后进行数据处理”,这样可以保证数据不间断的传输,从而高效的完成数据处理的任务。

电源问题:一个显卡的功率接近300W,四显卡建议电源在1500W以上,为了以后扩展,可选择更大的电源。

固态硬盘:作为一个“本地存储器”,主要用于存储各种数据。由于其速度较慢,价格自然也比较便宜。建议你选择一个较大容量的硬盘,通常会选择1T/2T。一个好的方法是:“你可以利用上一些旧的硬盘,因为硬盘的扩展十分简单,这样可以节省一部分资金。”

散热:散热可以保证各种电子元件工作正常。还可以保证主机的效率,延长主机的使用寿命。 
常用的散热措施主要有4种: 
1)通过设置BIOS选项,具体的细节在网上搜索。 
2)添加散热片。它通常由铝或铜制成,通常安装在CPU或者GPU等原件的周围或者上面。铜制品通常会有更好的散热效果。 
3)添加散热风扇。
4)添加水冷。它通常用在高配的游戏主机上面,不仅具有很好的散热效果,同时基本上没有什么噪声。但是它的价格会比较高。如果你的主机配置了多个GPU,强烈建议你配置水冷,这可以持续的保持你的设备处于高速的运转中。

【点评】家用选择风冷为宜,一般就是小规模的数据验证,不会长时间开着(不然电费也是挺恐怖的)。公司选择水冷为宜,性能和寿命是第一要务。

主板:是一个用来组装电路的PCB板。你需要将很多个元器件组装在它上面,然后通过焊锡来连接它。如果你后期可能会扩展你的设备,那你就需要考虑主板的可拓展性。如果你不需要进行后期的拓展,那么你可以买一个相对便宜的主板,只需要满足你当前的需求即可。为什么要强调PCIE,作为一个高速的传输接口,它常常用来设备之间的通信,例如CPU和GPU或者GPU与GPU。如果你后期可能会拓展你的GPU个数,那么建议你选择带有PCIE3.0 x8和x16接口的主板。常用的主板有“超星微的X10SRA、C602、C612”等,总之,选择主板时需要在满足你的最低要求的同时考虑到拓展性。

需要支持X99架构,支持PCIe3.0,还要支持4通道DDR4内存架构。如果要搞四显卡并行,PCIE带宽支持要达到40,并且支持4-WayNVIDA SLI技术。


机箱:机箱上面会有各种卡槽和接口,包括硬盘、主板、电源等。它的选择比较简单,只需要考虑硬盘和主板的尺寸即可。即要能将硬盘安装进去。

【点评】家用,选择够用的别人组装好的主机比较方便,把以上的配置和品牌弄清楚比较关键,不要碰到翻新的。公司还是自己组装会比较好,保证可拓展性很重要。

原文推荐的三篇文章。
如何配置一台深度学习主机?https://blog.csdn.net/WZZ18191171661/article/details/70099795

【点评】本文抄这篇参考的比较多。有些高端服务器的组装照片。

如何搭建一台深度学习服务器?https://blog.csdn.net/yubaolouisliu/article/details/79684936

【点评】介绍了硬件环境,也介绍了软件环境。

如何配置一台适用于深度学习的工作站?https://yq.aliyun.com/articles/229020

【点评】介绍了其服务器组装的配件,可以考虑照着买,稍微修改一下。

2.配置一台自己的云服务主机

当前云服务器的计费方式主要有两种:按时计费、按月计费和按年计费。国内有的公司提供了相应的GPU服务器和FPGA服务器平台。价格比较贵,但是可以根据项目需要选择合适的配置。(专区云服务器前,还是在本地完成小规模训练为好)

【点评】机器学习深度学习云GPU资源与对比,做了比较详细的比较,结论是美团云比较好用。https://blog.csdn.net/cccat6/article/details/79057746

下面我将会给出一些有用的云服务器连接,感兴趣的同学可以自己探索。

百度AI云服务器,支持PaddelPaddel和Tensorflow,https://cloud.baidu.com/product/bcc.html
腾讯云服务器,支持GPU云服务器和FPGA云服务器,后者处于内测阶段,https://cloud.tencent.com/
阿里云服务器,支持GPU云服务器和FPGA云服务器,后者处于内测阶段,https://www.aliyun.com/?utm_medium=text&utm_source=360&utm_campaign=ppc&utm_content=se_180364
华为机器学习云服务器,https://www.huaweicloud.com/
微软云服务器,国内不支持GPU服务器,北美支持,https://www.azure.cn/?wt.mc_id=AID529461_SEM_EMT-MSFT_ZH_CEAzure_China_Search-3600249
联众集群,一个专业的GPU集群解决方案提供商,http://www.linkzol.com/


配置一台自己的云服务主机方式:

美团云+anaconda+jupyter notebook: https://blog.csdn.net/tream733/article/details/78758856

美团云深度学习公测平台 :https://www.mtyun.com/doc/products/ai/dls/quickstart-tf

谷歌云:https://blog.csdn.net/sinat_25838589/article/details/79004503

阿里云:https://blog.csdn.net/bjkite/article/details/62984897

2.1 需要了解的专业词汇:

① 共享主机:也称虚拟主机,从互联网诞生至今,大部分站长都是从"共享主机"(shared hosting)开始学习建站的。所谓"共享主机",就是一台服务器上有许多网站,大家共享这台服务器的硬件和带宽。如果它发生故障,那么上面的所有网站都无法访问。

② VPS:(Virtual Private Server 虚拟专用服务器)简单理解VPS就是一台拥有公网IP的服务器,可以在一个服务器创建多个VPS,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。VPS为使用者提供了管理配置的自由,可用于企业虚拟化,也可以用于IDC资源租用。

③云主机:云主机是一种类似VPS主机的虚拟化技术, VPS是采用虚拟软件,VZ或VM在一台主机上虚拟出多个类似独立主机的部分,能够实现单机多用户,每个部分都可以做单独的操作系统,管理方法同主机一样。 而云主机是在一组集群主机上虚拟出多个类似独立主机的部分,集群中每个主机上都有云主机的一个镜像,从而大大提高了虚拟主机的安全稳定性,除非所有的集群内主机全部出现问题,云主机才会无法访问。

①②和③的具体区别:https://jingyan.baidu.com/article/9faa723197339b473c28cb32.html

①③共享主机用户直接面对特定的服务器,而云主机用户直接面对网络接口,看不到服务器内部。一个通俗的比喻是,你可以向银行租一个编号为"8888"的保险箱(共享主机),也可以把贵重物品直接交给保管公司,听任他们保管。

②③云主机能真正获得root权限,用户可以重装和升级操作系统,而VPS主机用户没有root权限,无法重装和升级操作系统。

总的来说,云主机便宜,可靠,可扩展性好。

 

2.2 如何选择云主机:

关于各种云的选择参考:机器学习深度学习云GPU资源与对比(上面已介绍)

按上文作者的话来说,也就是美团云的坑少些,价格也便宜些。(笔者还没有尝试)

等以后使用了之后再出详细教程。

 

3. 配置一个深度学习集群:

一般是大公司的选择,如BAT等都有自己的深度学习集群平台和自己的深度学习框架。在此不多加介绍。
————————————————
版权声明:本文为CSDN博主「玥晓珖」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010327061/article/details/80775135

  • 8
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值