如何配置一台深度学习主机?

作为一个深度学习的初学者,你可能会遇到这样的问题:“我该如何训练我自己或者别人的Model?”“我该如何配置一台合适的主机?”“目前有哪几种训练模型的方式?” 
接下来,我将会对此进行详细的介绍,当然,这只是我个人的一些观点,如有不对的地方还希望大家能够体谅!

一、 目前有哪几种训练模型的方式? 
方案一:配置一个“本地服务器”–通俗来说就是一台“高配”电脑。 
优点:比较自由,不受约束。 
缺点:价格昂贵,需要考虑金钱问题。(配置一台初级的深度学习主机大概需要1.5w左右,具体细节请看下文) 
适用情况: 
1)你本人有充足的的资金; 
2)需要发表论文,多次训练自己的Model; 
3)尝试运行别人的Model; 
4)想要从事深度学习领域的研究;

方案二:配置一台自己的“云服务器主机” 
优点:可以按照项目的需要选择合适的配置,比较灵活。 
缺点:针对个人来讲,价格还是比较贵的。 
适用情况: 
1)由于项目的需要,需要使用到深度学习,需要训练Model; 
2)初创企业 
注:根据我个人的了解,当前云服务器的计费方式主要有两种:按时计费、按月计费和按年计费。国内有的公司提供了相应的GPU服务器和FPGA服务器平台,但是还处于测试阶段。详细的介绍请看下文。

方案三:配置一个“深度学习集群” 
优点:更快更高效的获得自己的Model,即加快开发的效率; 
缺点:对于个人来讲不太现实,一般是大公司的选择; 
适用情况: 
1)具有雄厚基金的大公司,如BAT等都有自己的深度学习集群平台和自己的深度学习框架; 
2)深度学习领域的初创公司;以上就是3种训练Model的方式,下面我将会给出一些有用的云服务器连接,感兴趣的同学可以自己探索。

  1. 百度AI云服务器,支持PaddelPaddel和Tensorflow
  2. 腾讯云服务器,支持GPU云服务器和FPGA云服务器,后者处于内测阶段
  3. 阿里云服务器,支持GPU云服务器和FPGA云服务器,后者处于内测阶段
  4. 华为机器学习云服务器
  5. 微软云服务器,国内不支持GPU服务器,北美支持
  6. 联众集群,一个专业的GPU集群解决方案提供商

二、 我该如何配置一台自己主机呢?

要配置一台深度学习主机,你需要选择合适的CPU、GPU、内存条、固态硬盘、电源、散热、机箱、主板等(最好支持PICE,应用于多GPU的其概况下)。下面进行详细的解读:

GPU:即图像处理单元,最为一个并行处理器,起初是专门用来处理图像的,但是由于大数据的驱动,如今的它已经广泛的应用到了多个领域中,包括“深度学习”“智能驾驶”“VR”等。

由于它可以利用多个线程来进行高速的矩阵运算,而深度学习中会涉及到很多的矩阵运算。这正是它的用武之地。因此选择一个合适的GPU变得“至关重要”。

深度学习中常用的GPU包括:GTX960,GTX970,GTX1080, TiTan x,GTX1080Ti等,以上的GPU都属于GeForce系列,进行“单浮点运算”,都是一些比较新的型号具有很强的性能,按照以上的顺序性能依次提升,最主要的改变是在“架构和SM(线程个数)”方面,960,970都属于“Maxwell架构”,而后三者都是“Pascal架构”。当然他们的价格也是逐渐升高,你需要根据自己的资本选择合适的GPU。总之“一个好的GPU可以将你的训练时间从几周缩减成几天”。

如果资金充足,建议选择后三者。

CPU:作为一个高速的串行处理器,常用来作为“控制器”使用,用来发送和接收指令,解析指令等。

深度学习为什么需要CPU?期初的我也不明白原因。但是阅读了一些资料以后,我开始有了自己的见解。最主要的原因是:由于GPU内部结构的限制,使得它比较适合进行高速的并行运算,而并不适合进行快速的指令控制,而且许多的数据需要在GPU和CPU之间进行存取,这就需要用到CPU,因为这是它的强项。

总之,对于深度学习来说,对CPU的要求不是特别高,你需要记住一个原则是“你需要选择一个好的GPU,一个较好的CPU”,这样可以节约一部分成本,同时有相似的性能。

内存条:大家对它都很熟悉,主要进行CPU和外设之间的数据交换,它的存取速度要比硬盘快好几倍,但是价格比较昂贵,通常会和容量成正比。

在深度学习中,会涉及到大量的数据交换操作(例如按batch读取数据)。当然你也可以选择将数据存储在硬盘上,每次读取很小的batch块,这样你的训练周期就会非常长。常用的方案是“选择一个较大的内存,每次从硬盘中读取几个batch的数据存放在内存中,然后进行数据处理”,这样可以保证数据不间断的传输,从而高效的完成数据处理的任务。

这里还有一个不成文的规定:即你的内存大小最起码要大于你所选择的GPU的内存的大小。那个根据这个规定你很块就可以确定你可以选择的内存的容量,通常选择16GB,如果你有足够的资金,可以考虑购买一个32GB的内存,这会在训练较大的模型时展现它的优势。这里值的你去投资。

固态硬盘:作为一个“本地存储器”,它是每个电脑不可或缺的一部分。你需要在它上面存储一些重要的信息。由于其速度较慢,价格自然也比较便宜。根据市场的价格,1T的硬盘也就300多。

在深度学习中,硬盘可以用来“保存代码”“保存Model”“保存中间结果”“保存数据集”等。建议你选择一个较大容量的硬盘,通常会选择1T/2T。因为你可能会发现一般的数据集就是几个G,同时深度学习本身就是基于“大数据”的,它需要许多的数据来获得较好的性能。这也是众所周知的。一个好的方法是:“你可以利用上一些旧的硬盘,因为硬盘的扩展十分简单,这样可以节省一部分资金。”

散热:由于电子设备的运转会产生大量的热,而每个电子元件都有一个可承受的温度范围,过高或者过低的温度通常会导致元器件不能处于正常的工作状态,导致这个主机的性能变差。

由于深度学习设计到很大的计算量,通常需要几小时或者几十或者几百个小时的训练,在这期间要保证元器件的正常工作,就需要做好相应的散热措施。这样既可以保证主机的效率,同时也可以延长主机的使用寿命。 
常用的散热措施主要有4种: 
1)通过设置BIOS选项,具体的细节在网上搜索。 
2)添加散热片。它通常由铝或铜制成,通常安装在CPU或者GPU等原件的周围或者上面。铜制品通常会有更好的散热效果。 
3)添加散热风扇。如今每台台式电脑或者笔记本电脑可能都会配有一个或者多个风扇来进行扇热,正是由于风扇的原因,你通常会听到一部分噪声。 
4)添加水冷。如果你是一个游戏狂热者,你可能会对它比较熟悉。它通常用在高配的游戏主机上面,不仅具有很好的散热效果,同时基本上没有什么噪声。但是它的价格会比较高。如果你的主机配置了多个GPU,强烈建议你配置水冷,这可以持续的保持你的设备处于高速的运转中。

上张帅气的水冷照片。 
这是一个游戏机的水冷图片,是不是很炫。

主板:现在应该轮到它啦。这个东西对于电子专业的人来说都很熟悉。就是一个用来组装电路的PCB板。你需要将很多个元器件组装在它上面,然后通过焊锡来连接它。

对于深度学习来讲,最重要的就是内存和PCIE的卡槽啦。它会涉及到后期的拓展。如果你后期可能会扩展你的设备,那你就需要考虑主板的可拓展性。如果你不需要进行后期的拓展,那么你可以买一个相对便宜的主板,只需要满足你当前的需求即可。为什么要强调PCIE,作为一个高速的传输接口,它常常用来设备之间的通信,例如CPU和GPU或者GPU与GPU。如果你后期可能会拓展你的GPU个数,那么建议你选择带有PCIE3.0 x8和x16接口的主板。

常用的主板有“超星微的X10SRA、C602、C612”等,总之,选择主板时需要在满足你的最低要求的同时考虑到拓展性。

机箱:欧,差点都把它给忘啦。有了以上的硬件之后,你还需要一个东西将它们组合成为一个整体,从而便于携带。哈哈,这个东西就是“机箱”。机箱上面会有各种卡槽和接口,包括硬盘、主板、电源等。

它的选择比较简单,只需要考虑硬盘和主板的尺寸即可。即要能将硬盘安装进去,这也是最低的要求啊。

好啦,以上就是你需要选择的一些设备。相信你应该明白啦。我的目目标是“让你知其然,而且知其所以然”。我更想让你知道的是为什么需要这些东西,而且说明了它们的作用,以及深度学习对它们的要求。

上几张高大上的配置服务器吧。。。 
GPU服务器1

GPU服务器2

GPU服务器3

好了,以上就是我个人的一些见解,希望对大家有帮助。这个我自己原创,希望大家能支持原创。如果需要转载,需要经过我的同意。同时也欢迎大家提出问题,一起学习,一起进步。 
邮箱:1575262785@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值