5700刀打造3卡1080Ti深度學(xué)習(xí)機(jī)器

5700美刀,打造3x1080Ti實(shí)驗(yàn)室GPU深度學(xué)習(xí)機(jī)器

最近為公司搭建了一臺(tái)實(shí)驗(yàn)用的深度學(xué)習(xí)主機(jī),在網(wǎng)絡(luò)上參考了大量的資料,給出了目前最好的配置。本文首先會(huì)介紹所有硬件的選擇分析,然后介紹深度學(xué)習(xí)環(huán)境搭建流程,最后給出一些簡(jiǎn)單的性能對(duì)比測(cè)試。

本文方案定位:適用于預(yù)算在5萬(wàn)內(nèi),用于深度學(xué)習(xí)模型研究、開(kāi)發(fā),需要快速建模驗(yàn)證調(diào)參的企業(yè)或?qū)嶒?yàn)室用戶。

目錄

Chapter 1:配置方案選擇
Chapter 2:深度學(xué)習(xí)環(huán)境搭建
Chapter 3:簡(jiǎn)單性能對(duì)比測(cè)試


Chapter 1 配置方案選擇

首先先上完整的配置清單:

部件 型號(hào) 價(jià)格 數(shù)量 合計(jì)
GPU 微星1080Ti公版 11G 6400 3 19200
CPU I7 6850K盒裝 4480 1 4480
主板 華碩X99-EWS 4550 1 4550
內(nèi)存 海盜船復(fù)仇者16G/2400 975 4 3900
SSD 三星960EVO 500G 1850 1 1850
電源 長(zhǎng)城1250w 945 1 945
散熱器 九州風(fēng)神大霜塔至尊版 285 1 285
機(jī)械硬盤(pán) 希捷2TB/7200轉(zhuǎn)64M 450 1 450
機(jī)箱 美商海盜船780T白色全塔機(jī)箱 1250 1 1250
總計(jì) 36910 RMB

GPU

由于預(yù)算所限,就不必考慮NVIDIA Tesla那種專業(yè)計(jì)算卡了,一張基本的K80卡都要5萬(wàn)以上起步,而且K80的性能還沒(méi)1080Ti的好,所以我們直接考慮英偉達(dá)消費(fèi)級(jí)的卡,GeForce 10系列。

選購(gòu)GPU之前先參考一下WIKI上有關(guān)Nvidia 10系列的顯卡參數(shù)對(duì)比,原網(wǎng)址請(qǐng)點(diǎn)擊這里:Nvidia GeForce 10 Series.

GPU參數(shù) 來(lái)自維基百科

最重要的三個(gè)參數(shù)為:時(shí)鐘頻率(Clock speeds)、內(nèi)存(Memory)和帶寬(Bandwidth)。從上圖可以看到,1080Ti是消費(fèi)級(jí)性價(jià)比最高的GPU,擁有480GB/s的帶寬,單精度運(yùn)算能力達(dá)到10.6TFPS,內(nèi)存11GB,僅次于最新的Titan Xp,而且價(jià)格低,性價(jià)比最高。當(dāng)然,如果你不差錢(qián),選擇Titan Xp也是極好的。

微星 AERO 1080Ti 公版 11G

這里選擇使用3張1080Ti,之所以不選擇4卡,與主板和電源有關(guān),后面會(huì)解釋。使用多卡,最明顯的優(yōu)勢(shì)是當(dāng)你進(jìn)行神經(jīng)網(wǎng)絡(luò)調(diào)參的時(shí)候,可以同時(shí)使用多卡進(jìn)行多個(gè)參數(shù)調(diào)整,也就是說(shuō)每一個(gè)不同參數(shù)的模型對(duì)應(yīng)使用一個(gè)GPU來(lái)訓(xùn)練。以往我們每調(diào)一次參數(shù),就只能等模型完全訓(xùn)練完之后,才能再調(diào)參數(shù)進(jìn)行下一次訓(xùn)練,這樣等待的時(shí)間太長(zhǎng),不利于研究人員的思考。我曾經(jīng)用AWS的P2實(shí)例(K80 GPU)復(fù)現(xiàn)李飛飛組的《Perceptual losses for real-time style transfer and super-resolution》一文,跑一輪需要3小時(shí),跑出來(lái)之后發(fā)現(xiàn)結(jié)果不好,需要調(diào)整一些參數(shù),又要等3小時(shí)才能出結(jié)果,這是在太慢了……如果能有多卡,時(shí)間就起碼縮短了3倍!

建議:如果不考慮成本問(wèn)題,盡量用帶水冷的顯卡,因?yàn)樵跐M載運(yùn)行的時(shí)候,顯卡溫度會(huì)上升到86度左右,而且默認(rèn)的英偉達(dá)顯卡風(fēng)扇速度設(shè)置最高不能超過(guò)70%,當(dāng)然可以通過(guò)調(diào)節(jié)風(fēng)扇速度來(lái)降溫,詳細(xì)教程請(qǐng)看我另一篇文章:深度學(xué)習(xí)訓(xùn)練時(shí)GPU溫度過(guò)高?幾個(gè)命令,為你的GPU迅速降溫。

PS: 最近由于比特幣價(jià)格上漲,礦工不斷搜刮市面上的顯卡,導(dǎo)致顯卡價(jià)格不斷攀升,在上月給供應(yīng)商發(fā)配置單時(shí),公版1080Ti最低價(jià)只要RMB 5800,但過(guò)了幾周實(shí)際下單時(shí),價(jià)格已經(jīng)上漲到RMB 7000,而且不一定有貨,所以在購(gòu)買GPU之前要問(wèn)清你的供貨商有沒(méi)有貨。

主板

網(wǎng)絡(luò)上很多文章都建議使用Z170主板或X99系列的主板,Z170主板一般是個(gè)人用戶使用,價(jià)格較低,而且一般用于單卡。這里要使用3卡,因此選擇X99系列的高端主板,支持多卡。一開(kāi)始選擇的是微星 X99A SLI PLUS主板,此款主板支持3 x PCIe x16,價(jià)格在2000左右。但后來(lái)發(fā)現(xiàn)了華碩X99-E WS這款主板,這簡(jiǎn)直就是為深度學(xué)習(xí)所設(shè)計(jì)的,先看看參數(shù):

華碩X99-EWS 來(lái)源:華碩官網(wǎng)
華碩X99-EWS 來(lái)源:華碩官網(wǎng)

我最看重的有三點(diǎn):第一是支持4 x PCI-E x16,GPU若能工作在x16帶寬下工作,就能最大限度地發(fā)揮性能,雖然此款主板理論上支持4路x16,但實(shí)際上當(dāng)插滿4卡時(shí),實(shí)際帶寬會(huì)工作在x16/x8/x8/x8帶寬中,所以實(shí)際上沒(méi)有完全發(fā)揮4卡性能,因此本方案只選擇3卡,讓其工作在x16帶寬中(我沒(méi)找到能同時(shí)工作在4個(gè)x16帶寬的主板)。第二是其支持40 Lane的CPU,CPU核心多、線程多,這對(duì)于數(shù)據(jù)預(yù)處理非常有用!第三是能插8條內(nèi)存,支持128GB內(nèi)存,對(duì)于后面升級(jí)都是非常有利的。

華碩X99-EWS 來(lái)源:華碩官網(wǎng)

這款主板是為工作站而生,沒(méi)有花俏的外觀,只有強(qiáng)大的性能,而且主板的結(jié)構(gòu)大小適合同時(shí)插滿4張大顯卡,1080Ti這個(gè)尺寸的顯卡沒(méi)問(wèn)題,要知道市面上有些說(shuō)支持4路的主板是不一定有足夠位置插滿大顯卡的,可能只支持尺寸小一點(diǎn)的顯卡,大家在選購(gòu)時(shí)要注意。

CPU

CPU對(duì)于深度學(xué)習(xí)的任務(wù)來(lái)說(shuō),重要性并沒(méi)有GPU那么高,所以一般個(gè)人用戶就選擇i5或e5-1620v4這類性價(jià)比較高的處理器。但為了不讓CPU成為性能提升的瓶頸,我把目光放在了i7和e5身上,選擇CPU個(gè)人認(rèn)為需要考慮的是:核心架構(gòu)、核心數(shù)線程數(shù)、主頻和PCIE通道數(shù)(lanes)。

主板限定了CPU必須為2011-v3或酷睿I7系列的處理器,其它就不必考慮了。重點(diǎn)提PCIE通道數(shù),在深度學(xué)習(xí)的任務(wù)處理中,PCIE通道數(shù)lanes越高,數(shù)據(jù)處理得越快,可以理解為一個(gè)40車道的高速公路肯定比16車道的快!所以我們優(yōu)先考慮Lanes為40的CPU,那么可以縮小范圍到以下幾款:(數(shù)據(jù)引用自維基百科

i7處理器參數(shù) 來(lái)源:維基百科

注意上圖除了i7-6800K是28 lanes之外,其他都是40 lanes。Lanes數(shù)為40的除了上面幾款i7處理器之外,至強(qiáng)E5-1620v4同樣也是40 lanes的CPU,而且你能以千元價(jià)位買到,因此是個(gè)人用戶性價(jià)比首選!

考慮價(jià)格,6900k和6950x貴的有點(diǎn)離譜,6850K主頻高(雖然沒(méi)4.0GHz但我們又不用來(lái)玩游戲),6核12線程,應(yīng)該能夠滿足處理imagenet這類大數(shù)據(jù)集了吧,因此最終敲定i7-6850K!

SSD

SSD選擇的是三星960EVO 500G,這型號(hào)的SSD是最新的NVME M.2固態(tài),NVME M.2是下一代主流固態(tài)硬盤(pán)標(biāo)準(zhǔn),用一個(gè)字概括就是:“快!”比傳統(tǒng)SSD還快,感受如何?請(qǐng)點(diǎn)擊這個(gè)鏈接感受下:使用PCI-E NVMe的SSD是什么樣的體驗(yàn)?知乎

機(jī)箱

特別說(shuō)一下機(jī)箱,機(jī)箱也是特別重要的部件,主要是因?yàn)橐b3張顯卡,除了主板的尺寸有要求之外,機(jī)箱也要盡可能大,這樣才有利于散熱。另外一個(gè)原因是假如后期想加裝分體式水冷,也有足夠的空間去安裝。

網(wǎng)絡(luò)上呼聲最高的當(dāng)屬nvidia2014年推出的Deep learning Box同款機(jī)箱,美商海盜船 AIR540,某東鏈接:美商海盜船 AIR540 USB3.0 中塔側(cè)透。

但要注意的是此款機(jī)箱是中塔尺寸,所以一般個(gè)人用戶來(lái)說(shuō)就足夠了,但由于要多卡,所以最好使用全塔式機(jī)箱。找了很久,確定用這款:美商海盜船780T,某東鏈接點(diǎn)這里。

這款機(jī)箱的特點(diǎn)就是:大!比大更大!

送過(guò)來(lái)的時(shí)候要兩個(gè)人一起搬才搬得方便,打開(kāi)包裝放在地上,幾乎就頂?shù)阶雷恿耍叨冗_(dá)67.3厘米。

可以看到內(nèi)部空間還有很多空余的地方,如果要加裝水冷還是可以的。

重量達(dá)幾十斤,可以對(duì)比一下旁邊我的工作用電腦,這體型差距實(shí)在是太大了!總體來(lái)說(shuō)還是挺滿意的,而且顏值也高,因此我給它取名為:“DeepShark大白鯊”。

其它部件

機(jī)械硬盤(pán)來(lái)個(gè)1到2TB左右的就好,一般一線大廠差別都不大,選了希捷2TB。散熱器選了九州風(fēng)神大霜塔,能壓住I7-6850K,體型還挺大的,不過(guò)對(duì)我的主板來(lái)說(shuō)尺寸剛剛好,不會(huì)擋住顯卡。電源的功率一定要夠,粗略算了一下3張顯卡每張功率峰值250w,CPU150w左右,加起來(lái)不會(huì)超過(guò)1000w,所以選了個(gè)1250w的電源(另外供貨商也找不到現(xiàn)貨更大的電源了)。內(nèi)存最低也要64GB,所以選了4個(gè)2400MHz/16GB的海盜船復(fù)仇者,注意主板和CPU支持你的內(nèi)存頻率就最好,不然會(huì)被降頻使用。

Chapter 2:深度學(xué)習(xí)環(huán)境搭建

此部分由于篇幅太長(zhǎng),我已經(jīng)寫(xiě)在了另外一篇文章,上面有非常詳細(xì)的環(huán)境搭建過(guò)程,適用ubuntu16.04系統(tǒng)、1080Ti顯卡、華碩X99-E WS高端主板,搭建過(guò)程中由于是新顯卡新主板,遇到不少的坑,因此想寫(xiě)出來(lái)分享給大家,以免大家走彎路,鏈接在此:Ubuntu16.04 + 1080Ti深度學(xué)習(xí)環(huán)境配置教程。

Chapter 3:簡(jiǎn)單性能對(duì)比測(cè)試

由于手上正在復(fù)現(xiàn)李飛飛組的fast neural-style,因此就用這個(gè)項(xiàng)目來(lái)對(duì)AWS P2.xlarge實(shí)例和GTX 1080Ti進(jìn)行性能對(duì)比,更多的性能對(duì)比可以參考medium上slav ivaniov的裝機(jī)及性能對(duì)比評(píng)測(cè),他的性能對(duì)比更加全面,鏈接點(diǎn)這里:

數(shù)據(jù)集有兩個(gè),分別是209MB的低分辨率圖片集和3GB的高分辨率圖片集,均是使用部分imagenet 的數(shù)據(jù)集ILSVRC2012處理而成,網(wǎng)絡(luò)模型完全根據(jù)Johnson, Justin Alahi, Alexandre,F(xiàn)ei-Fei, Li et al的《Perceptual losses for real-time style transfer and super-resolution》,網(wǎng)絡(luò)模型如下圖:

圖片來(lái)源:《Perceptual losses for real-time style transfer and super-resolution》

GPU參數(shù)對(duì)比:

|name|GPU|memory|band width|arcitecture|price|
|--|--|--|--|--|
|AWS P2.xlarge|K80|24 Gb|480 GB/s|Kepler|$ 0.9/h|
|Deep Shark|1080Ti|11 Gb|484 GB/s|Pascal|$ 850|

使用K80進(jìn)行模型訓(xùn)練,訓(xùn)練一輪需要3小時(shí):


使用1080TI進(jìn)行模型訓(xùn)練,每輪只需15分鐘:


足足快了15倍!不得不說(shuō),跨了幾代架構(gòu)的顯卡性能不在同一個(gè)量級(jí),其實(shí)不能拿來(lái)作比較,最好還是在同一個(gè)Pascal架構(gòu)下作對(duì)比,但由于大多數(shù)人在沒(méi)有GPU的時(shí)候都是使用AWS的GPU服務(wù)器,作這個(gè)對(duì)比也可以讓大家分析下后面還要不要用AWS,租用AWS每小時(shí)0.9美元,但是速度慢,使用時(shí)間就更長(zhǎng),每個(gè)月的賬單因人而異,許多網(wǎng)友表示把這些賬單加起來(lái)都能買好一點(diǎn)的GPU了,本人在3個(gè)月使用里面花了差不多1000塊人民幣,的確長(zhǎng)期來(lái)說(shuō)還是自己買機(jī)器的實(shí)惠。

總結(jié)

組建GPU機(jī)器時(shí),首先考慮的是定位,到底是企業(yè)、實(shí)驗(yàn)室用還是個(gè)人用,到底是實(shí)驗(yàn)用還是工業(yè)用,定好位后就要考慮各硬件參數(shù),盡量把性能最大化。多卡永遠(yuǎn)比單卡要方便,因?yàn)槟芡瑫r(shí)運(yùn)行多個(gè)模型,對(duì)研究人員的分析非常有利,成本允許的情況下盡量買當(dāng)前性能最好的卡,后面還能持續(xù)使用幾年,這樣成本也就分?jǐn)傞_(kāi)了。

如果你對(duì)上面的方案有不同的意見(jiàn),歡迎在底部留言,我們共同來(lái)探討更好的方案。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容