配置深度學習主機與環境(TensorFlow+1080Ti) | 第一章:硬體選購與主機組裝

配置深度學習主機與環境(TensorFlow+1080Ti):

(一)硬體選購與主機組裝

(二)Win10&Ubuntu雙系統與顯卡驅動安裝

(三)CUDA與CUDNN安裝

(四)基於Anaconda的TensorFlow安裝

01硬體選購

研究需求,遂組裝一台全新的計算機,安裝Ubuntu,用來運行TensorFlow,同時保留Win10,方便其他其他場合使用。因為硬體更新換代很快,各種網路結構也層出不窮。因此,考慮使用多顯卡來提升系統的計算能力是有必要的。現階段,主要購買單塊顯卡實現整個系統的搭建,同時保留拓展(多顯卡)空間。

硬體清單如下:

BOM

以上配置總共花費24173.1元人民幣,購買時間主要在6月底7月初,沒能趕上京東618的活動,順便不幸的碰到了顯卡缺貨,所以價格上僅供參考。

1、主板

因為考慮到系統有可能拓展四塊顯卡,因此主板首先需要支持4-Way NVIDA SLI功能,通常單塊顯卡佔用16條PCIE通道,四塊顯卡則需要16*4=64條PCIE通路,而常見的i7處理器中的高端型號最高只有40條PCIE通道,因此理論上的處理方法是需要使用兩塊CPU實現雙通道處理。京東上就有使用雙路E5配合4路1080Ti所搭建的深度學習主機。

雙路E5配合4路1080Ti

在不考慮雙路CPU的情況下,要想實現16*4PCIE通路,目前只有Asus X99-E WS/USB 3.1唯一一塊主板可以實現PCIE通路的拓展。

ASUS X99-E WS USB3.1主板說明書

上圖是主板說明書中的一頁,顯示主板共有7條PCIE介面。使用四塊顯卡,分別放置於1、3、5、7號PCIE介面,可以實現4*16條PCIE通道。具體實現我並不是特別清楚,但是在我的深度學習工作站攢機過程記錄(cn.soulmachine.me/2016-)中,作者也同樣詢問過這個問題:

Asus X99-E WS/USB 3.1

2、中央處理器CPU

為適配主板型號,CPU為LGA2011-v3系列,同時支持最高40條PCIE通道。因為系統主要使用顯卡進行計算,因此對CPU的要求並不是很高。Tim Dettmers(timdettmers.com/)在其Blog:A Full Hardware Guide to Deep Learning中提到CPU的核心數並不重要,擁有相對較高的主頻即可。

CPU:Two threads per GPU; full 40 PCIe lanes and correct PCIe spec (same as your motherboard); > 2GHz; cache does not matter;

最後決定在i7-5930K和i7-6850K中二選一,價格差距不大,遂選擇主頻較高的i7-6850K。

注意:i7-6850K是不帶核顯的,裝機前期顯卡還沒到,特地借了一張點亮卡用來檢測裝機情況。

各型號處理器具體參數可以在Intel官方網站查詢(ark.intel.com/zh-cn/pro)與對比。

i7-5930K&i7-6850K參數對比

3、顯卡GPU

並非所有的顯卡都支持CUDA,實際上僅有部分Nvidia高端顯卡才支持,具體支持列表可前往Nvidia(developer.nvidia.com/cu)查詢。

TensorFlow對GPU的要求

目前10系顯卡橫空出世,基本上深度學習主機主要可選為:Titan Xp、1080Ti、Titan、1060與Tesla系列,深度學習模型對參數精度要求並不高,因此除非土豪,可以排出Tesla系列顯卡。在金錢允許但非土豪的情況下,1080Ti是目前最佳的選擇。在顯卡的選購過程中,肯定會遇到公版與非公版的選擇問題。雖然非公版的散熱較好,且自帶超頻,但考慮到系統的穩定性與兼容性,建議還是選擇公版顯卡。另外非公版顯卡還可能會遇到顯卡太厚主板放不下的問題。

在顯卡的購買過程中正好遇到了顯卡慌,京東上所有自營的商家全部缺貨,剩下的部分顯卡都在6500~7000RMB左右。不得已選擇上淘寶代購,結果大部分代購商家都拿不到貨,難怪大家都盼望著礦難。另外海淘顯卡推薦選擇EVGA,在台灣有維修點,方便保修。

以下圖表和建議,來自於Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning(timdettmers.com/2017/04):

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.

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 modelsI want to build a GPU cluster:This is really complicated, you can get some ideashereI 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)

4、機箱

選擇Tim Dettmers(timdettmers.com/)與NVIDIA? DIGITS? DevBox(developer.nvidia.com/de)同款機箱,被大多數深度學慣用戶所採用。

NVIDIA? DIGITS? DevBox

5、電源

建議不要在電源上省錢,主機可能24小時運行,穩定性最重要。1600w對付4塊1080Ti足以。另外:Nvidia DevBox 用的是 EVGA 1600W 80+ Gold 120-G2-1600-X1,比我買的鈦金便宜點。

6、散熱

在風冷和水冷的選擇上糾結了很久,總擔心水冷過保之後會漏水,最終還是選擇了風冷。直接選擇京東上貓頭鷹最貴的一款(NOCTUA NH-D15 CPU散熱器),後期使用情況看,散熱不錯,噪音也不大。

如果選擇水冷的話建議將冷排安裝在AIR540機箱的頂端,這樣可以避免頂端進灰。

7、內存

i7-6850K默認主頻2400MHz,開啟XMP之後,自動超頻為3200MHz。因此建議購買DDR4 3200MHz內存條。

XMP是Extreme Memory Profile的縮寫,是Intel在2007年9月提出的內存認證標準,適用於DDR3和DDR4。

為了統一行業內的超頻數值標準,而不讓各個內存廠商隨意設定更高的內存頻率數值寫入到SPD,英特爾提出了XMP認證標準。通過XMP認證的內存會在內存地址176 ~ 254中記錄內存的速度設定,最多可以保存2組設定值。廠商們如需要得到XMP的認證,就必須把內存及該設定送交Intel測試,通過後就會給予認證。

通過XMP認證後,其SPD中除了預設普通頻率數值的SPD值外,還寫入了更高頻率設定的SPD。這個更高頻率的設定配合支持XMP的主板後可以被啟用,從而將內存超頻提升性能。

簡單的說,通過了英特爾XMP認證的內存,SPD中有兩個或更多頻率設定檔案,只要在主板中啟用這些預設的XMP檔案,即可將內存條自動超頻到3200或更高值(根據檔案設定而定)。

XMP與手動超頻效果基本無異,所以可將其看作為內存的自動超頻技術。

8、顯示器

顯示器就是生產力。

9、鼠鍵

建議購買無線鼠鍵,可以離機箱遠遠的。

注意:在系統點亮之後可能無法識別無線鼠鍵,建議在點亮階段使用有線鼠鍵。

10、存儲

若訓練集龐大,建議購買較大的SSD,HDD可用來倉儲。假如需要安裝雙系統,建議SSD 512G,HDD可以用來當作Win10和Ubuntu的公共掛載盤。

02主機組裝

計算機組裝應該是整個搭建過程中最簡單的部分了,雖然我之前從來沒有組裝過電腦。

第一步將CPU(注意方向)、RAM、SSD(M.2 Nvme)安裝到主板上,將主板附送的主機後置面板安裝到機箱上。

第二步將將散熱安裝到CPU上,放到機箱中,確定散熱器風道方向與散熱器的位置,以免放不下。

第三步塗硅脂,重新將確定好位置的風扇安裝到CPU上。

第四部將主板固定到機箱上,注意機箱上的銅柱不多也不少,避免主板下面有空餘的銅柱而導致主板短路。

第五步將GPU和其他pcie介面設備安裝到主板與機箱上,安裝磁碟陣列到機箱內,安裝電源模塊。

第六步接線。

關於組裝電腦的相關資料如下:

1. 知乎:如何配組裝電腦?

2. 知乎:關於組裝電腦的一些常識

3. 【極客灣】萌妹子帶你裝電腦(萌新向)

03參考資料

1.如何配置一台適用於深度學習的工作站?

2. 我的深度學習工作站攢機過程記錄

3. 我愛自然語言處理:深度學習主機攢機小記

4. 深度 | 從硬體配置到軟體安裝,一台深度學習機器的配備指南

5. 小白在閉關:搭建一台用於深度學習的工作站

6. Tim Dettmers:Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning

7. Tim Dettmers:A Full Hardware Guide to Deep Learning

8. guanghan.info/blog/en/m

推薦閱讀:

ChatGirl 一個基於 TensorFlow Seq2Seq 模型的聊天機器人
從三大神經網路,測試對比TensorFlow、MXNet、CNTK、Theano四個框架
TensorFlow 訓練好模型參數的保存和恢復代碼
1.4 卷積神經網路初探

TAG:深度学习DeepLearning | TensorFlow | 电脑配置 |