配置深度學習主機與環境(TensorFlow+1080Ti):
一. 硬件選購
研究需求,遂組裝一臺全新的計算機,安裝Ubuntu,用來運行TensorFlow,同時保留Win10,方便其他其他場合使用。因為硬件更新換代很快,各種網絡結構也層出不窮。因此,考慮使用多顯卡來提升系統的計算能力是有必要的。現階段,主要購買單塊顯卡實現整個系統的搭建,同時保留拓展(多顯卡)空間。
硬件清單如下:
以上配置總共花費24173.1元人民幣,購買時間主要在6月底7月初,沒能趕上京東618的活動,順便不幸的碰到了顯卡缺貨,所以價格上僅供參考。
1. 主板
因為考慮到系統有可能拓展四塊顯卡,因此主板首先需要支持4-Way NVIDA SLI功能,通常單塊顯卡占用16條PCIE通道,四塊顯卡則需要16*4=64條PCIE通路,而常見的i7處理器中的高端型號最高只有40條PCIE通道,因此理論上的處理方法是需要使用兩塊CPU實現雙通道處理。京東上就有使用雙路E5配合4路1080Ti所搭建的深度學習主機。
在不考慮雙路CPU的情況下,要想實現16*4PCIE通路,目前只有Asus X99-E WS/USB 3.1唯一一塊主板可以實現PCIE通路的拓展。
上圖是主板說明書中的一頁,顯示主板共有7條PCIE接口。使用四塊顯卡,分別放置于1、3、5、7號PCIE接口,可以實現4*16條PCIE通道。具體實現我并不是特別清楚,但是在我的深度學習工作站攢機過程記錄中,作者也同樣詢問過這個問題:
2. 中央處理器 CPU
為適配主板型號,CPU為LGA2011-v3系列,同時支持最高40條PCIE通道。因為系統主要使用顯卡進行計算,因此對CPU的要求并不是很高。Tim Dettmers在其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官方網站查詢與對比。
3. 顯卡 GPU
并非所有的顯卡都支持CUDA,實際上僅有部分Nvidia高端顯卡才支持,具體支持列表可前往Nvidia查詢。
目前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:
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與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的公共掛載盤。
二. 主機組裝
計算機組裝應該是整個搭建過程中最簡單的部分了,雖然我之前從來沒有組裝過電腦。
第一步將CPU(注意方向)、RAM、SSD(M.2 Nvme)安裝到主板上,將主板附送的主機后置面板安裝到機箱上。
第二步將將散熱安裝到CPU上,放到機箱中,確定散熱器風道方向與散熱器的位置,以免放不下。
第三步涂硅脂,重新將確定好位置的風扇安裝到CPU上。
第四部將主板固定到機箱上,注意機箱上的銅柱不多也不少,避免主板下面有空余的銅柱而導致主板短路。
第五步將GPU和其他pcie接口設備安裝到主板與機箱上,安裝磁盤陣列到機箱內,安裝電源模塊。
第六步接線。
關于組裝電腦的相關資料如下:
1. 知乎:如何配組裝電腦?
三. 參考資料:
4. 深度 | 從硬件配置到軟件安裝,一臺深度學習機器的配備指南