目標:構建一個深度學習個人工作站
組裝性能: 組裝好後先裝了windows系統用魯大師跑分,最終63w分,超越99%用戶,其中GPU性能良好排名第5,在顯示測試時一度達到1000+fps,實力非常能打!!!
購置清單
硬件 | 型號 | 數量 | 參考價格 |
---|---|---|---|
CPU | I7-9700k | 1 | 2899 |
GPU | RTX 2080ti | 1 | 8999 |
內存 | 金士頓 DDR4 2666 8GB | 2 | 259 * 2 |
主板 | ASUS Z390-A | 1 | 1749 |
機箱 | Tt(Thermaltake) 啓航者S5 | 1 | 139 |
電源 | 海盜船 850W 支持2080ti | 1 | 949 |
SSD固態硬盤 | 三星 250GB M.2接口 860 EVO | 1 | 389 |
-
爲什麼不選擇i7 8700+B360主板?
-
一個非常重要的問題就是:與i7 8700搭配的主板B360僅擁有1個PCU-E X16顯卡插槽,具體參數參考鏈接 ,因此不支持多顯卡技術。
-
未來如果需要跑大型神經網絡實驗需要利用兩個顯卡的算力時,就不再需要重新購買主板機箱重新搭建,可以在i7 9700k+Z390-a顯卡主板機箱內直接加顯卡,從而構建支持多顯卡的高性能深度學習工作站。
-
CPU可支持內存條頻率2666,選購內存條時需要注意頻率可用
-
主板板型ATX板型,外型尺寸 30.5 x 24.4 cm,需要考慮可以放置下主板的機箱
GPU選購參考指標
-
GPU:
GPU的選購從高性價比出發和高性能出發,最後選擇了RTX 2080ti 和 TITAN RTX兩款型號。
-
高性價比 — RTX 2080ti
-
GIGABYTE GEFORCE RTX 2080ti
-
-
高性能 — TITAN RTX
-
NVIDIA TITAN RTX
-
-
Q:怎麼選擇一塊做深度學習的GPU?(CUDA核心?時鐘頻率?RAM大小?)
A:針對不同神經網絡架構,需要考慮顯卡的參數優先級如下:
-
卷積神經網絡以及Transformer模型(Convolutional networks and Transformers):
Tensor Cores > FLOPs > Memory Bandwidth > 16-bit capability
-
循環神經網絡(Recurrent networks):
Memory Bandwidth > 16-bit capability > Tensor Cores > FLOPs
即如果我想要用於跑循環神經網絡,我需要優先考慮顯存帶寬,然後是16位半精度計算能力,接下來是Tensor核,最後考慮32位浮點數計算能力。
-
-
RTX 2080ti和Titan RTX的重要參數性能對比如下:
參數 RTX 2080ti Titan RTX CUDA核心 4352個 4608個 顯存容量 11GB 24GB 核心頻率 1350/1635MHz 1770MHz
-
上圖爲NVIDIA各型號GPU性能對比,除去前三價格高達五六萬的GPU, RTX 2080ti和TITAN RTX 已經是性價比最高的最適合用於搭建深度學習環境的機器(已用紫色框圖標出)。
CPU及主板選購參考
-
CPU主要考慮intel i7 8700k和i7 9700k兩個版本:
- 其中i7 8700k在京東英特爾官方旗艦店目前缺貨,京東上的第三方賣家對i7 8700k的出價是2749,並由第三方賣家開發票並負責售後。
- 而i7 9700k在京東英特爾官方旗艦店有售,價格爲2899,和主板一起搭配購買還可以省449,綜合考慮,購買i7 9700k的性價比更高也更有保障。
-
主板:
主板詳細參數如下:
類型 | 規格 |
---|---|
主板芯片 | Intel Z390 |
CPU類型 | 第九代/第八代Core i9/i7/i5/i3/Pentium/Celeron |
內存類型 | 4 x DDR4 |
最大內存容量 | 64GB |
PCI-E插槽 | 3×PCI-E X16顯卡插槽,3×PCI-E X1插槽 |
多顯卡技術 | 支持NVIDIA 2-Way SLI技術 |
存儲接口 | 2×M.2接口,6×SATA III接口 |
USB接口 | 4×USB3.1 Gen 2接口,4×USB3.1 Gen 1接口,6×USB2.0接口 |
視頻接口 | 1個DP接口,1個HDMI接口 |
電源接口 | 1個8針,1個24針電源接口 |
其他接口 | 1×RJ45網絡接口,1×光纖接口,5×音頻接口,1×PS/2鍵鼠通用接口 |
RAID功能 | 支持RAID 0,1,5,10 |
主板板型 | ATX板型 |
外形尺寸 | 30.5×24.4cm |
固態硬盤選擇
我們挑選的與i7 9700k相對應的Z390-A主板配備有2×M.2接口,6×SATA III接口。(MSATA是專門針對筆記本用的固態硬盤,小尺寸,與我們工作站主板不適配),固態硬盤主要考慮存儲容量和接口:
-
存儲容量選擇:240GB-256GB
這裏我們搭建深度學習環境對固態硬盤的存儲容量需求並不是很大,只需要安裝linux系統以及在其上搭建環境,並安裝一些必要的軟件,因此購買240GB-256GB容量的SSD固態硬盤就已經夠用。
-
接口:M.2接口
固態硬盤有三種常見接口:M.2 、 SATA 3.0 以及 MSATA
-
M.2 接口
M.2接口有兩種通道,也是有速度差異的。PCI-E通道和sata通道。這也取決於自身的主板硬件的支持與否。PCI-E理論接口速度高達32Gbps!相比SATA 通道的6Gbps高了五倍多。在價格差別不大的情況下,儘可能選擇M.2插口的固態硬盤。
-
SATA 3.0
這種接口爲很多筆記本用戶所選擇的原因就在於通用性很強,既可以取代原裝硬盤,也可以利用專用的光驅盒裝在光驅位,理論速度6Gbps,對比32Gbps的M.2性能要弱很多。
-
參考教程及相關問答
Q:多GPUs會讓我的訓練過程更快嗎?
A:CNN和RNN可以很容易做並行化,但是包含transformer的全連接神經網絡並不能直接做並行化,需要由專門的算法使其能夠在GPU上執行。
現在很多開源庫如TensorFlow和PyTorch可以爲循環神經網絡和卷積神經網絡做並行化。針對卷積,你可以看到2/3/4個GPU帶來的大約1.9倍/2.8倍/3.5倍的提速。對於循環神經網絡,序列長度是針對NLP問題最重要的參數,與卷積神經網絡相比會得到一個相似或稍弱的速度提升效果。
全連接網絡,包括transformer,在數據並行化方面性能很差需要更高級的算法來對這部分的網絡進行加速。如果你想要運行transformer在多GPUs上,你應該先嚐試在一個GPU上運行它並觀察是否運算得更快。
Q:NVIDIA的利弊?
Pros:NVIDIA的標準庫使得在CUDA上構建第一個深度學習庫非常簡單,因爲AMD的OpenCL顯卡就沒有這樣強有力的標準庫。這個早期的優勢和NVIDIA的強力社區支持相結合使得CUDA社區增長擴大得非常快。
Cons:NVIDIA的新政策是在“數據中心(data center)”使用CUDA只允許在Tesla型號的GPUs上運行,不允許GTX或RTX系列。但關於數據中心也沒有明確的定義。而Tesla卡花費10倍價格並不能帶來足夠的性能和速度提升。
Reference
這一篇文章有提到一個重點:“請購買 after-market GPU(如 EVGA 或 MSI),而不是英偉達 Founders Edition。”