配置深度學習主機與環境(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通道。具體實現我並不是特別清楚,但是在我的深度學習工作站攢機過程記錄(http://cn.soulmachine.me/2016-08-13-my-deep-learning-workstation-assemble-process-note/)中,作者也同樣詢問過這個問題:
Asus X99-E WS/USB 3.1
2、中央處理器CPU
為適配主板型號,CPU為LGA2011-v3系列,同時支持最高40條PCIE通道。因為系統主要使用顯卡進行計算,因此對CPU的要求並不是很高。Tim Dettmers(http://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官方網站查詢(https://ark.intel.com/zh-cn/products/94188/Intel-Core-i7-6850K-Processor-15M-Cache-up-to-3_80-GHz)與對比。
i7-5930K&i7-6850K參數對比
3、顯卡GPU
並非所有的顯卡都支持CUDA,實際上僅有部分Nvidia高端顯卡才支持,具體支持列表可前往Nvidia(https://developer.nvidia.com/cuda-gpus)查詢。
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(http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/):
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(http://timdettmers.com/)與NVIDIA? DIGITS? DevBox(https://developer.nvidia.com/devbox)同款機箱,被大多數深度學慣用戶所採用。
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. http://guanghan.info/blog/en/my-works/building-our-personal-deep-learning-rig-gtx-1080-ubuntu-16-04-cuda-8-0rc-cudnn-7-tensorflowmxnetcaffedarknet/
推薦閱讀:
※ChatGirl 一個基於 TensorFlow Seq2Seq 模型的聊天機器人
※從三大神經網路,測試對比TensorFlow、MXNet、CNTK、Theano四個框架
※TensorFlow 訓練好模型參數的保存和恢復代碼
※1.4 卷積神經網路初探
TAG:深度学习DeepLearning | TensorFlow | 电脑配置 |