深度学习(TensorFlow)环境搭建:(一)硬件选购和主机组装

 


一、硬件采购

  近年来,人工智能AI越来越多被人们所了解,尤其是AlphaGo的人机围棋大战之后,机器学习的热潮也随之高涨。最近,公司采购了几批设备,通过深度学习(TensorFlow)来研究金融行业相关问题,学习机器学习我们需要满足一定的硬件要求,本文主要是介绍硬件选购的相关事宜。

  现在主力的深度学习都是通过多显卡计算来提升系统的计算能力,所以硬件的采购核心是显卡(GPU),下面是整个硬件采购的清单及大致费用如下:

  以上的配置一台设备的总共费用大致:2.8W左右。公司购买了2台,费用大致6W,两台设备的研究方向不一样。本来设备这些东西按理说应该是越来越便宜才对,但是这几年恰恰相反(%>_<%),尤其这两年比特币大热(大学那会到现在,翻了一千多倍,千金难买早知道~~),很多人都买显卡专业挖矿去了,一度导致显卡热销,经常断货,价格也自然水涨船高。不仅如此,内存这两年价格几乎至少翻了一倍以上,两年前DDR4的8G内存最低200不到,现在像样点的都至少500以上(现在不流行囤金银了,改为囤内存条了),SSD和机械硬盘也涨了不少,记得那年福岛地震和东南亚洪水之后,供应商工厂受损,价格貌似就没有再降下来过。这些都是题外话,我们言归正传,以上的价格仅供参考。

   其实京东上面也有不少DIY定制的一套深度学习的服务器配置,不过主要也是分为两种:一种是至强E系列双CPU带4路GPU,还有一种是I7的CPU待2路GPU。

图1、至强 E5双路/4路GPU

 图2、i7 6850K/GTX1080TI双卡(水冷)

   可能有些人有疑问,为什么单I7不能带四路GPU,而是需要双路CPU,其实也有单CPU带4路GPU的特例,这个在下文会解释

 


 

1、主板

  一般来说单块的GPU显卡占用16条PCIE通道,如果想配置4块的话,那么则需要16*4=64条PCIE通路。而我们选择常见的I7的CPU最高也只有40条PCIE通路,理论上来讲需要2块CPU实现双通道处理。上面京东上大多数都是这种配置模式,当然,如果我们不想使用双路CPU的话,要想实现单CPU支持16*4PCIE通道,目前只有Asus X99-E WS/USB 3.1,唯一 一块主板可以实现PCIE通路的拓展。所有如果有人想使用单个I7带4路GPU的话,那主板只能选择这一款了。推荐使用这一款,为了后期方便扩展,我们可以暂时只买1路或者2路GPU,后期可以扩至4路。  

 


 

 2、CPU

  CPU的选购也是需要适配主板型号,为了支持上述的ASUS X99-E WS USB3.1主板,CPU为LGA2011-v3系列,同时支持最高40条PCIE通道。而且我们系统主要使用CPU显卡进行计算,CPU的核心数并不重要,只要拥有相对较高的主频就可以,因此对CPU的要求其实并不是很高。这我们选择主频相对较高的i7-6850K(不带核显),也可以选择相对较低点主频的i7-5930K。具体根据实际情况选购,预算多一点的,可以选择更好的。

  

 


 

3、显卡GPU

   其实显卡才是我们的主角,我们的核心计算都是需要依托GPU计算的,当然并不是所有显卡都可以的,我们需要能够支持CUDA平台(一种由NVIDIA推出的通用并行计算架构)的GPU才行,实际上也只有部分高端NVIDIA显卡才支持此功能,NVIDIA也可以查询的到具体的支持列表,大家可以前往查询——>传送门

  其实我们的另一个主角TensorFlow对GPU也是有要求的

  

  基本上深度学习主机主要可选为:Titan Xp、1080Ti、Titan、1060与Tesla系列,深度学习模型对参数精度要求并不高,因此除非土豪,可以排出Tesla系列显卡。在预算充足的情况下,1080Ti是目前最佳的选择。在显卡的选购过程中,肯定会遇到公版与非公版的选择问题,这也是为什么上面购物清单里特意标注说明的。虽然非公版的散热较好,且自带超频,但考虑到系统的稳定性与兼容性,建议还是选择公版显卡,毕竟我们是用来研究的,还是一个毕竟严谨些。另外非公版显卡还可能会遇到显卡太厚主板放不下的问题。购买方面,大家如果方便,海淘也是一个不错的选择

   Tim Dettmers博客也分析过主流的GPU成本效益,大家可以去看看他的博客介绍——>传送门

  

  Normalized cost efficiency of GPUs which takes into account the price of other hardware. Here we compare a full machine, that is 4 GPUs,

  along with a high end hardware (CPU, motherboard etc.) worth $1500.

  在他的博客当中,也给出了他个人的购买意见

TL;DR advice
Best GPU overall (by a small margin): Titan Xp
Cost efficient but expensive: GTX 1080 Ti, GTX 1070, GTX 1080
Cost efficient and cheap:  GTX 1060 (6GB)
I work with data sets > 250GB: GTX Titan X (Maxwell), NVIDIA Titan X Pascal, or NVIDIA Titan Xp
I have little money: GTX 1060 (6GB)
I have almost no money: GTX 1050 Ti (4GB)
I do Kaggle: GTX 1060 (6GB) for any “normal” competition, or GTX 1080 Ti for “deep learning competitions”
I am a competitive computer vision researcher: NVIDIA Titan Xp; do not upgrade from existing Titan X (Pascal or Maxwell)
I am a researcher: GTX 1080 Ti. In some cases, like natural language processing, a GTX 1070 or GTX 1080 might also be a solid choice — check the memory requirements of your current models
I want to build a GPU cluster: This is really complicated, you can get some ideas here
I started deep learning and I am serious about it: Start with a GTX 1060 (6GB). Depending of what area you choose next (startup, Kaggle, research, applied deep learning) sell your GTX 1060 and buy something more appropriate
I want to try deep learning, but I am not serious about it: GTX 1050 Ti (4 or 2GB)
(直接google翻译,哈哈)

 整体最佳GPU(由小幅度):Titan Xp的
 成本有效的,但昂贵的:GTX 1080的Ti,GTX 1070,GTX 1080
 成本高效和廉价的:GTX 1060(6GB)
 我的数据集> 250GB工作:GTX泰坦X(麦克斯韦) ,NVIDIA Titan X Pascal,或NVIDIA Titan Xp
 我有一点钱:GTX 1060(6GB)
 我几乎没有钱:GTX 1050 Ti(4GB)我做Kaggle:任何“正常”比赛GTX 1060(6GB)或GTX 1080 Ti为“深度学习竞赛”
 我是一名有竞争力的计算机视觉研究员:NVIDIA Titan Xp; 不要从现有的Titan X升级(Pascal或Maxwell)
 我是研究员:GTX 1080 Ti。在某些情况下,如自然语言处理,一个GTX 1070或GTX 1080也可能是一个坚实的选择-检查你的现有机型的内存需求我想建立一个GPU集群: 这确实是复杂的,你可以得到一些想法
 这里我开始深入学习,我很认真:从一个GTX 1060(6GB)开始。根据您下一步选择的区域(启动,Kaggle,研究,应用深度学习)销售您的GTX 1060并购买更适合
 我想要深入学习的东西,但我并不太在意:GTX 1050 Ti(4或2GB)

  

   下面是购买的MSI的2块1080ti的显卡

  


 

4、机箱

  选择NVIDIA® DIGITS™ DevBox同款机箱,大多数深度学习用户都是使用这款机箱(他们也给我们推荐了自己的配置,大家可以参考下),我们也是采购这一款,值得推荐哦

       

       

   

 


 

5、电源

  其实电源也是很重要的,尤其是其功率上,毕竟如果扩至4路的话,24小时不间断运作的话,还是相当耗电的,如果你想以后扩至4路的话,1600w足够了,这玩意24小时不关机,一个月下来还是挺费电的(就当是沉淀成本,O(∩_∩)O哈哈~),这个还是根据自己实际情况来,但是唯一的原则是:功率要超过所有硬件设备的总功率,要不然带不起来的。

 


 

6、散热

  散热的话,大家可以选择水冷或者风冷,纠结之后还是选择了水冷,最终选择了一款(美商海盗船( Corsair)Hydro系列 高性能 水冷 CPU散热器 全平台支持 H100i V2 240mm)的水冷散热,后期发现的确是超静音的,噪音特别小,选择水冷的话建议将冷排安装在AIR540机箱的顶端,这样可以避免顶端进灰。如果有人担心水冷过了保质期之后会漏水,也可以选择风冷的。

 


 

7、内存

  内存条的大小也要根据CPU来购买的,因为I7-6850K默认主频2400MHz,开启XMP之后,自动超频为3200MHz。因此建议购买DDR4 3200MHz内存条(2条16x2),如果不知道XMP,可以自行搜索了解下。

  XMP是Extreme Memory Profile的缩写,是Intel在2007年9月提出的内存认证标准,适用于DDR3和DDR4。简单的说,通过了英特尔XMP认证的内存,SPD中有两个或更多频率设定档案,只要在主板中启用这些预设的XMP档案,即可将内存条自动超频到1600或更高值(根据档案设定而定)。XMP与手动超频效果基本无异,所以可将其看作为内存的自动超频技术。

 


 

8、存储

  建议搭配SSD(固态硬盘)和HDD(机器硬盘)结合使用,SSD用作系统盘,HDD用作仓储,建议SSD至少250G,机器硬盘现在标配也是至少是1T了。一般SSD安装Windows和Linux双系统,而机械硬盘就可以当做双系统的公共挂载盘。我们买的半高的SSD,如图所示。

  

 


 

9、显示器+鼠标+键盘

  这三个没有特别要求,能用就行,这里不做多介绍,可以自行决定。提醒下,由于主板已经不支持VGA接口,只支持DP和HDMI接口,所有也得买个VGA转DP接头或者VGA转HDMI接头,

 


 

10、成品展示

  下面是已经组织好的硬件设备

  

结束语:

  以上主要是配置深度学习硬件大致介绍,剩下的就是主机的组装了,和传统台式机组装过程是一样的,这里不做讲解。大家可以根据自己的实际情况,适当配置最符合自己要求的硬盘配置,最后建议大家最好按照双系统,Windows和Ubuntu,这样便于工作区间的切换。

填坑补充:

  安装系统的时候,直接用U盘安装或者PE安装都不行,必须要拿一张低端的N卡去点亮(我是拿了一个低配的N卡才安装上系统的,费了好大牛劲了才发现这个问题~~),这个在下篇讲解安装系统的时候会讲到

  PS:如有疑问,请留言,未经允许,不得私自转载,转载请注明出处:http://www.cnblogs.com/xuliangxing/p/7543977.html

  本文主要参考博客:http://timdettmers.com/ (这是老外的博客,对配置深度学习硬件很有借鉴意义)

posted @ 2017-09-19 17:03 法号阿兴 阅读(...) 评论(...) 编辑 收藏