最近為公司搭建了一臺實驗用的深度學習主機盗蟆,在網絡上參考了大量的資料,給出了目前最好的配置旧巾。本文首先會介紹所有硬件的選擇分析,然后介紹深度學習環(huán)境搭建流程忍些,最后給出一些簡單的性能對比測試鲁猩。
本文方案定位:適用于預算在5萬內,用于深度學習模型研究罢坝、開發(fā)廓握,需要快速建模驗證調參的企業(yè)或實驗室用戶。
目錄
Chapter 1:配置方案選擇
Chapter 2:深度學習環(huán)境搭建
Chapter 3:簡單性能對比測試
Chapter 1 配置方案選擇
首先先上完整的配置清單:
部件 | 型號 | 價格 | 數量 | 合計 |
---|---|---|---|---|
GPU | 微星1080Ti公版 11G | 6400 | 3 | 19200 |
CPU | I7 6850K盒裝 | 4480 | 1 | 4480 |
主板 | 華碩X99-EWS | 4550 | 1 | 4550 |
內存 | 海盜船復仇者16G/2400 | 975 | 4 | 3900 |
SSD | 三星960EVO 500G | 1850 | 1 | 1850 |
電源 | 長城1250w | 945 | 1 | 945 |
散熱器 | 九州風神大霜塔至尊版 | 285 | 1 | 285 |
機械硬盤 | 希捷2TB/7200轉64M | 450 | 1 | 450 |
機箱 | 美商海盜船780T白色全塔機箱 | 1250 | 1 | 1250 |
總計 | 36910 RMB |
GPU
由于預算所限嘁酿,就不必考慮NVIDIA Tesla那種專業(yè)計算卡了隙券,一張基本的K80卡都要5萬以上起步,而且K80的性能還沒1080Ti的好闹司,所以我們直接考慮英偉達消費級的卡娱仔,GeForce 10系列。
選購GPU之前先參考一下WIKI上有關Nvidia 10系列的顯卡參數對比游桩,原網址請點擊這里:Nvidia GeForce 10 Series.
最重要的三個參數為:時鐘頻率(Clock speeds)牲迫、內存(Memory)和帶寬(Bandwidth)。從上圖可以看到借卧,1080Ti是消費級性價比最高的GPU盹憎,擁有480GB/s的帶寬,單精度運算能力達到10.6TFPS铐刘,內存11GB脚乡,僅次于最新的Titan Xp,而且價格低滨达,性價比最高奶稠。當然,如果你不差錢捡遍,選擇Titan Xp也是極好的锌订。
這里選擇使用3張1080Ti,之所以不選擇4卡画株,與主板和電源有關辆飘,后面會解釋。使用多卡谓传,最明顯的優(yōu)勢是當你進行神經網絡調參的時候照筑,可以同時使用多卡進行多個參數調整,也就是說每一個不同參數的模型對應使用一個GPU來訓練撒会。以往我們每調一次參數奸腺,就只能等模型完全訓練完之后,才能再調參數進行下一次訓練诗祸,這樣等待的時間太長跑芳,不利于研究人員的思考轴总。我曾經用AWS的P2實例(K80 GPU)復現李飛飛組的《Perceptual losses for real-time style transfer and super-resolution》一文,跑一輪需要3小時博个,跑出來之后發(fā)現結果不好怀樟,需要調整一些參數,又要等3小時才能出結果盆佣,這是在太慢了……如果能有多卡往堡,時間就起碼縮短了3倍!
建議:如果不考慮成本問題共耍,盡量用帶水冷的顯卡投蝉,因為在滿載運行的時候,顯卡溫度會上升到86度左右征堪,而且默認的英偉達顯卡風扇速度設置最高不能超過70%瘩缆,當然可以通過調節(jié)風扇速度來降溫,詳細教程請看我另一篇文章:深度學習訓練時GPU溫度過高佃蚜?幾個命令庸娱,為你的GPU迅速降溫。
PS: 最近由于比特幣價格上漲谐算,礦工不斷搜刮市面上的顯卡熟尉,導致顯卡價格不斷攀升,在上月給供應商發(fā)配置單時洲脂,公版1080Ti最低價只要RMB 5800斤儿,但過了幾周實際下單時,價格已經上漲到RMB 7000恐锦,而且不一定有貨往果,所以在購買GPU之前要問清你的供貨商有沒有貨。
主板
網絡上很多文章都建議使用Z170主板或X99系列的主板一铅,Z170主板一般是個人用戶使用陕贮,價格較低,而且一般用于單卡潘飘。這里要使用3卡肮之,因此選擇X99系列的高端主板,支持多卡卜录。一開始選擇的是微星 X99A SLI PLUS主板戈擒,此款主板支持3 x PCIe x16,價格在2000左右艰毒。但后來發(fā)現了華碩X99-E WS這款主板筐高,這簡直就是為深度學習所設計的,先看看參數:
我最看重的有三點:第一是支持4 x PCI-E x16,GPU若能工作在x16帶寬下工作凯傲,就能最大限度地發(fā)揮性能犬辰,雖然此款主板理論上支持4路x16嗦篱,但實際上當插滿4卡時冰单,實際帶寬會工作在x16/x8/x8/x8帶寬中,所以實際上沒有完全發(fā)揮4卡性能灸促,因此本方案只選擇3卡诫欠,讓其工作在x16帶寬中(我沒找到能同時工作在4個x16帶寬的主板)。第二是其支持40 Lane的CPU浴栽,CPU核心多荒叼、線程多,這對于數據預處理非常有用典鸡!第三是能插8條內存被廓,支持128GB內存,對于后面升級都是非常有利的萝玷。
這款主板是為工作站而生嫁乘,沒有花俏的外觀,只有強大的性能球碉,而且主板的結構大小適合同時插滿4張大顯卡蜓斧,1080Ti這個尺寸的顯卡沒問題,要知道市面上有些說支持4路的主板是不一定有足夠位置插滿大顯卡的睁冬,可能只支持尺寸小一點的顯卡挎春,大家在選購時要注意。
CPU
CPU對于深度學習的任務來說豆拨,重要性并沒有GPU那么高直奋,所以一般個人用戶就選擇i5或e5-1620v4這類性價比較高的處理器。但為了不讓CPU成為性能提升的瓶頸施禾,我把目光放在了i7和e5身上帮碰,選擇CPU個人認為需要考慮的是:核心架構、核心數線程數拾积、主頻和PCIE通道數(lanes)殉挽。
主板限定了CPU必須為2011-v3或酷睿I7系列的處理器,其它就不必考慮了拓巧。重點提PCIE通道數斯碌,在深度學習的任務處理中,PCIE通道數lanes越高肛度,數據處理得越快傻唾,可以理解為一個40車道的高速公路肯定比16車道的快!所以我們優(yōu)先考慮Lanes為40的CPU,那么可以縮小范圍到以下幾款:(數據引用自維基百科)
注意上圖除了i7-6800K是28 lanes之外冠骄,其他都是40 lanes伪煤。Lanes數為40的除了上面幾款i7處理器之外,至強E5-1620v4同樣也是40 lanes的CPU凛辣,而且你能以千元價位買到抱既,因此是個人用戶性價比首選!
考慮價格扁誓,6900k和6950x貴的有點離譜防泵,6850K主頻高(雖然沒4.0GHz但我們又不用來玩游戲),6核12線程蝗敢,應該能夠滿足處理imagenet這類大數據集了吧捷泞,因此最終敲定i7-6850K!
SSD
SSD選擇的是三星960EVO 500G寿谴,這型號的SSD是最新的NVME M.2固態(tài)锁右,NVME M.2是下一代主流固態(tài)硬盤標準,用一個字概括就是:“快讶泰!”比傳統SSD還快咏瑟,感受如何?請點擊這個鏈接感受下:使用PCI-E NVMe的SSD是什么樣的體驗峻厚?知乎
機箱
特別說一下機箱响蕴,機箱也是特別重要的部件,主要是因為要裝3張顯卡惠桃,除了主板的尺寸有要求之外浦夷,機箱也要盡可能大,這樣才有利于散熱辜王。另外一個原因是假如后期想加裝分體式水冷劈狐,也有足夠的空間去安裝。
網絡上呼聲最高的當屬nvidia2014年推出的Deep learning Box同款機箱呐馆,美商海盜船 AIR540肥缔,某東鏈接:美商海盜船 AIR540 USB3.0 中塔側透。
但要注意的是此款機箱是中塔尺寸汹来,所以一般個人用戶來說就足夠了续膳,但由于要多卡,所以最好使用全塔式機箱收班。找了很久坟岔,確定用這款:美商海盜船780T,某東鏈接點這里摔桦。
這款機箱的特點就是:大社付!比大更大!
送過來的時候要兩個人一起搬才搬得方便,打開包裝放在地上鸥咖,幾乎就頂到桌子了燕鸽,高度達67.3厘米。
可以看到內部空間還有很多空余的地方啼辣,如果要加裝水冷還是可以的啊研。
重量達幾十斤,可以對比一下旁邊我的工作用電腦熙兔,這體型差距實在是太大了悲伶!總體來說還是挺滿意的艾恼,而且顏值也高住涉,因此我給它取名為:“DeepShark大白鯊”。
其它部件
機械硬盤來個1到2TB左右的就好钠绍,一般一線大廠差別都不大舆声,選了希捷2TB。散熱器選了九州風神大霜塔柳爽,能壓住I7-6850K媳握,體型還挺大的,不過對我的主板來說尺寸剛剛好磷脯,不會擋住顯卡蛾找。電源的功率一定要夠,粗略算了一下3張顯卡每張功率峰值250w赵誓,CPU150w左右打毛,加起來不會超過1000w,所以選了個1250w的電源(另外供貨商也找不到現貨更大的電源了)俩功。內存最低也要64GB幻枉,所以選了4個2400MHz/16GB的海盜船復仇者,注意主板和CPU支持你的內存頻率就最好诡蜓,不然會被降頻使用熬甫。
Chapter 2:深度學習環(huán)境搭建
此部分由于篇幅太長,我已經寫在了另外一篇文章蔓罚,上面有非常詳細的環(huán)境搭建過程椿肩,適用ubuntu16.04系統、1080Ti顯卡豺谈、華碩X99-E WS高端主板郑象,搭建過程中由于是新顯卡新主板,遇到不少的坑核无,因此想寫出來分享給大家扣唱,以免大家走彎路,鏈接在此:Ubuntu16.04 + 1080Ti深度學習環(huán)境配置教程。
Chapter 3:簡單性能對比測試
由于手上正在復現李飛飛組的fast neural-style噪沙,因此就用這個項目來對AWS P2.xlarge實例和GTX 1080Ti進行性能對比炼彪,更多的性能對比可以參考medium上slav ivaniov的裝機及性能對比評測,他的性能對比更加全面正歼,鏈接點這里:
數據集有兩個辐马,分別是209MB的低分辨率圖片集和3GB的高分辨率圖片集,均是使用部分imagenet 的數據集ILSVRC2012處理而成局义,網絡模型完全根據Johnson, Justin Alahi, Alexandre喜爷,Fei-Fei, Li et al的《Perceptual losses for real-time style transfer and super-resolution》,網絡模型如下圖:
GPU參數對比:
|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進行模型訓練萄唇,訓練一輪需要3小時:
使用1080TI進行模型訓練檩帐,每輪只需15分鐘:
足足快了15倍!不得不說另萤,跨了幾代架構的顯卡性能不在同一個量級湃密,其實不能拿來作比較,最好還是在同一個Pascal架構下作對比四敞,但由于大多數人在沒有GPU的時候都是使用AWS的GPU服務器泛源,作這個對比也可以讓大家分析下后面還要不要用AWS,租用AWS每小時0.9美元忿危,但是速度慢达箍,使用時間就更長,每個月的賬單因人而異铺厨,許多網友表示把這些賬單加起來都能買好一點的GPU了缎玫,本人在3個月使用里面花了差不多1000塊人民幣,的確長期來說還是自己買機器的實惠努释。
總結
組建GPU機器時碘梢,首先考慮的是定位,到底是企業(yè)伐蒂、實驗室用還是個人用煞躬,到底是實驗用還是工業(yè)用,定好位后就要考慮各硬件參數逸邦,盡量把性能最大化恩沛。多卡永遠比單卡要方便,因為能同時運行多個模型缕减,對研究人員的分析非常有利雷客,成本允許的情況下盡量買當前性能最好的卡,后面還能持續(xù)使用幾年桥狡,這樣成本也就分攤開了搅裙。
如果你對上面的方案有不同的意見皱卓,歡迎在底部留言,我們共同來探討更好的方案部逮。