當前位置:
首頁 > 新聞 > 僅需6200美元,高性價比構建3塊2080Ti的強大工作站

僅需6200美元,高性價比構建3塊2080Ti的強大工作站

如果想要進行深度學習訓練,在英偉達的新一代 GPU 中,RTX 2080Ti 是性價比最高的顯卡(參見:首個 Titan RTX 深度學習評測結果出爐:2019 年你該選擇哪款 GPU?)。但即使不上泰坦,9000 元一塊的 GPU 也是很貴的。在本文中,來自 MIT 的 Curtis Northcutt 為我們找到了組建一台三 2080Ti 深度學習工作站的最簡方式。

在他的配置下,整個系統需花費 6200 美元(約合 41700 元人民幣),相比 AI 硬體供應商 Lambda Labs 提供的整機要便宜一半。如何為實驗室組裝一台最強大的計算機,讓我們來看看他是怎麼做到的。

我在 MIT 量子計算實驗室和數字學習實驗室構建了一台多 GPU 深度學習工作站。在網路中搜索時我發現,並沒有一篇文章詳細介紹了所有裝機細節。

不過我還是發現了像 Lambda GPU 工作站這樣的整機供應商。唯一的問題是:一台這樣的機器需要花費 12,500 美元。這是進行頂級前沿深度學習研究的最佳配置,但如果買不起的話什麼都無從談起了。在這篇文章中,我將介紹一個自己版本的裝機配置——使用相同或更好的配置,而且節省一半以上資金:只需 6200 美元。為了能讓所有研究者獲得幫助,在這篇文章中我會分享所有配置細節。

如果你正在構建一台較小的深度學習機器,你會發現本文同樣有用。在正文中,我加入了可進一步降低成本的一些示例。

在文章最後,我給出了自組建機器與谷歌計算引擎(GCE)深度學習 VM 的時間/成本對比。我使用 PyTorch ImageNet/ResNet50 訓練作為基準。

完美配置?

完美配置是不存在的,因為每個人的需求都不盡相同。即使過去曾經出現過,最佳配置也會隨著新硬體的不斷推出而改變。所以,本文試圖給出儘可能好的配置。


深度學習工作站的所有組件

以下就是清單的全部了。

我訂購的所有組件都是在 Newegg 上在線購買的,不過對於我們來說,亞馬遜等其他途徑都是可以的。如果你想去電子城找更便宜的,也可以嘗試。

僅需6200美元,高性價比構建3塊2080Ti的強大工作站

打開今日頭條,查看更多圖片

深度學習工作站的所有組件。

在 2019 年 1 月 31 日,每個組件及其價格如下:

  • 3 塊 EVGA 英偉達 RTX 2080 Ti GPU
  • EVGA GeForce 2080 Ti,3570 美元(每塊 1190 美元)
  • 20 線程 CPU(中央處理器)
  • 英特爾 Core i9 9820X Skylake X 10 核 3.3Ghz,850 美元
  • X299 主板(所有其他組件都要連接主板)
  • ASUS WS X299 SAGE LGA 2066 英特爾 X299,492 美元
  • 機箱
  • 海盜船 Carbide 系列 Air 540,130 美元
  • 2TB M.2 SSD 固態硬碟
  • 英特爾 660p 系列 M.2 2280 2TB PCI-Express,280 美元
  • 3TB 機械硬碟(用於速度不敏感文件的存儲)
  • 希捷 BarraCuda ST3000DM008 3TB 7200 轉,85 美元
  • 128G 內存
  • 4 個海盜船 Vengeance LPX 32GB,740 美元(每個 185 美元)
  • 1600W PSU 電源
  • EVGA SuperNOVA 1600W P2,347 美元(1300W 的電源在 ImageNet/ResNet50 基準測試時會出現斷電重啟)
  • 散熱器
  • 海盜船 Hydro 系列 H100i PRO 低噪音版,110 美元

在 Newegg 上使用會員賬戶購買的話,不算消費稅所有組件的總價為 6200 美元(升級後的電源另有 107 美元)。

僅需6200美元,高性價比構建3塊2080Ti的強大工作站

深度學習工作站視圖。


每一個組件的考慮事項

在選擇 GPU、RAM、CPU 和主板等組件時,需要牢記以下三個目標:

  1. 速度和容量最大化
  2. 避免組件間出現瓶頸
  3. 花費少

我列舉了構建工作站所需的所有組件以及每一組件的考慮事項。各組件以其對深度學習模型訓練的性能影響為序排列。


GPU

  • 經基準測試,RTX 2080 Ti 是 2500 美元價位下最好的 GPU。
  • 請購買 after-market GPU(如 EVGA 或 MSI),而不是英偉達 Founders Edition。
  • 注意 RTX 2080 Ti 的過熱問題。
  • 該工作站並未使用渦輪風扇式(blower-style)GPU(更便宜),但渦輪風扇式 GPU 的性能可能更好。

GPU 是深度學習機器中最為重要的組件,同時也是最昂貴的。你通常應該首先考慮使用哪種 GPU:裝配中的其他所有組件選擇將基於此。很多博客都有介紹如何選擇滿足你需要的 GPU。

如果你想要一款高性能 GPU,我建議不要受市場營銷的干擾,直接購買 RTX 2080 Ti。如果你想自己做研究,並想要選擇一款性價比高的 GPU,則可以通過 videocardbenchmark.net 檢索,並在你的價格區間內選擇性能最佳的 GPU。除非你的預算在 2,500 美元以上,RTX 2080 Ti 是最佳選擇。如果性能降低 30%,你可以選擇購買更便宜的 RTX 2080 或者舊版 GTX 1080 Ti。為實現最佳的深度學習,我建議你購買至少 11GB 內存的 GPU,而這正是 RTX 2080 Ti 的內存容量。

在購買 RTX 2080 Ti 時,你會注意到市場上有大量相關品牌:EVGA、技嘉、華碩、微星等。這些都是所謂的 after-market GPU(非公版)。你也可以選擇直接購買英偉達的 Founders Edition。一般而言,如果你想追求最佳性能,不要購買 founders edition。為優化性能,EVGA 等公司會對 GPU 進行定製設計,有時會進行 GPU 超頻處理。Founders edition 是首次嘗試而非最佳嘗試。非公版 GPU 通常設計有一至三個風扇,大概風扇越多,性能越好。其中一些只是營銷噱頭罷了,兩個風扇通常就夠了。這裡的主要建議是:購買 EVGA、技嘉、華碩或微星的非公版 GPU。

請注意,after-market GPU 品牌眾多,價格不一。超頻 GPU 往往更貴,但通常會作出一些折中,因而實際上並不能提升性能。你通常只需購買最便宜的即可。

一些顧客已經抱怨過 RTX 2080 TI 的過熱問題。我在構建工作站時僅使用三個 GPU 就是為了增加冷卻氣流。如果沒有出現問題,我會另加第四個 RTX 2080 TI GPU。

我在構建工作站中使用了開放式風扇 GPU(風扇在每個 GPU 的底部),因為它們成本更低。渦輪風扇式 GPU 將氣流從機箱一側排出,使性能更佳。就我們使用的主板而言,GPU 被壓縮得很緊,阻止開放式 GPU 風扇排出氣流。如果你購買了渦輪風扇式 GPU,風扇可直接將氣流從機箱一側排出。


固態硬碟 SSD

  • SSD <> GPU 數據遷移是深度學習訓練和預測的主要瓶頸。
  • m.2 SSD 比標準 SSD 快了 6 倍。
  • 如果預算足夠,請購買 m.2 SSD。你需要與 m.2 兼容的主板。

從硬碟到 GPU 的數據遷移是深度學習的主要瓶頸,會極大降低訓練和測試時速。m.2 SSD 可以解決這個問題。最貴的 SSD 寫入速度為 3500 mb/s,而標準 SSD 寫入速度為 500 mb/s。

我購買了一個較便宜的 m.2 SSD 來構建工作站,其寫入速度約為 1800 mb/s,但容量較大,為 2 TB。你可能會覺得購買更小的 256MB m.2 SSD 更有用,因為它寫入速度更快且成本更低。這的確是以更少的成本獲得更好性能的好辦法。唯一需要注意的是,你要確保所有訓練數據都可以放在 m.2 SSD 上。


主板

  • 為了支持多 GPU,你需要足夠的 PCI-E 通道。
  • 這意味著你需要 x299(英特爾 CPU)或 x399(AMD CPU)主板。
  • 你可以選擇便宜一點的,但如果預算足夠,可以考慮工作站(workstation)主板。

主板很難購買,因為選擇太多,很多人不清楚為什麼有的主板會比其它主板貴很多。對於深度學習來說,主板最重要的方面是 PCI-E 通道的數量。在我構建的工作站中,主板有 44 個 PCI-E 通道。這意味著如果有 3 個 GPU(每個需要 16 個通道),我可以在 32 個通道上運行兩個 GPU(每個 GPU16 個通道),在 8 個通道上運行 1 個 GPU(總共需要 40 個通道)。大多數基準測試表明,在 8 個通道和 16 個通道上運行 GPU 的性能差異可以忽略不計,但未來差別可能會大一些。至少,確保你的主板有足夠的 PCI-E 通道,能夠滿足每個 GPU 所需的最少數量。所以對 3 塊 RTX 2080 TI GPU 來說,最少需要 24 個 PCI-E 通道。

另一個考量是選擇 x299(英特爾 CPU)還是 x399(AMD CPU)主板。對每個處理線程來說,英特爾 CPU 更快,但對於相同數量的處理線程來說,AMD CPU 通常比英特爾 CPU 更便宜。我選擇用英特爾處理器(20 個線程和較快的處理速度),因此需要 x299 主板。

更可靠(也更昂貴)的主板通常被稱為工作站主板。可靠性的提高是否值得如此高價仍有待商榷。我在自己的構建過程中選擇了工作站主板,但如果你想選擇更便宜的,可以考慮 SUPERMICRO x299 主板。它滿足了我的所有需求,但便宜了 100 美元。


CPU

  • 選擇英特爾 X 系列(x299 主板)或 AMD ThreadRipper(x399)。
  • 對每個線程來說,英特爾 CPU 更快,但 AMD CPU 在相同的花費下支持更多線程。

通過考慮以下問題,基於你的計算需求選擇 CPU:

  1. 你是否需要運行大量多線程工作?
  2. 你需要每個線程運行很快嗎?

如果(1)回答「是」,而(2)回答(不需要),那麼你可以用更少的成本選擇支持 32 個線程的 AMD Ryzen Threadripper 2950X。如果第二個問題的答案是「需要」,那你可能想要選擇英特爾 CPU。

對於英特爾 CPU,你需要選擇核心的英特爾 X 系列 CPU 用於多 GPU 深度學習。只有 X 系列的 CPU 支持 x299 主板,而只有 x299 主板才具有足夠的 PCI-E 通道來支持多 GPU。如果你僅使用 2 個 GPU,那麼你可以減少主板+CPU 的成本,選擇較便宜的 300 系列英特爾 CPU 和 LGA 1151 主板(而非 x299)。這樣你就可以在 16 個 PCI-E 通道上運行一個 GPU,然後在另外 8 個通道上運行另一個 GPU(大部分 LGA 1151 主板有 24 個 PCI-E 通道,但購買的時候請仔細確認)。


機箱

  • 選擇適合自己主板的機箱(ATX 是標準尺寸,mini-ATX 較小)。
  • 選擇具備氣流流通空間的機箱,以保持 GPU 低溫。
  • Carbide Series? Air 540 High Airflow ATX Cube Case 比較適合深度學習工作站。

對於多 GPU 工作站,氣流和散熱是重中之重。選擇適合主板的機箱。大部分使用多 GPU 的主板是 ATX,因此你可以選擇一個適合 ATX 主板的機箱。如果你不確定要買哪種機箱,Carbide Series? Air 540 High Airflow ATX Cube Case 是不錯的選擇。


硬碟驅動器

如果 m.2 SSD 無法滿足存儲需求,購買 7200 RPM 的機械硬碟。

如果 m.2 SSD 太小,無法滿足你的存儲需求,你可以購買一個機械硬碟驅動器。它比較便宜,有兩種速度:5400 RPM(較慢)和 7200 RPM(較快)。RPM 表示每分鐘轉速,這些磁碟會在計算機內進行物理旋轉,所以會有噪音。不過機械硬碟驅動器比較便宜,你可以買一個 7200 RPM 的。


內存

  • 購買低間隙內存(RAM),確保它適合你的機箱。
  • 避免購買沒聽說過的牌子。

關於 RAM,你需要考慮它的容量、物理體積和延遲。我構建的工作站使用的是 128GB RAM,不過你可以根據數據集大小將容量減到 64GB 或 32GB。如果資金充足,我建議購買 128GB RAM,這樣在訓練深度學習模型時,你可以將整個數據集載入到內存中,避免每個 epoch 中出現 hard-drive <> RAM 瓶頸。

對於多 GPU 工作站,確保購買低間隙 RAM(較小機箱),間隙即 RAM 的高度。主板上要安裝大量東西,有時候大機箱 RAM 會阻塞其他組件。海盜船 Vengeance 是一款不錯的低間隙 RAM。

如果你不使用全部 RAM 插槽的話,記得查看主板文檔。將 RAM 放進合適的插槽中很重要!主板和主板文檔通常會寫明放置 RAM 的位置。


PSU(電源供應器)

  • 確保你的 PSU 可以提供充足的電量。參考 PSU 計算器:https://outervision.com/power-supply-calculator
  • 每個 RTX 2080 Ti 需要大約 300W 能耗。
  • 選擇全模組,因為電纜越少就意味著氣流越多。
  • 我的 1300W PSU 導致最大負載時工作站會重啟,1600W 比較適合該工作站。

你可能會看到 gold PSU vs. platinum PSU。這指的是 PSU 所用的金屬,platinum > gold > silver > bronze > basic,它和 PSU 的效能有關。例如,同樣的計算量,bronze PSU 要比 platinum PSU 消耗更多電。如果你需要考慮省電的問題(同時也環保),可以考慮購買 platinum 或 gold PSU。

至於本文介紹的工作站,我原本買的是 Seasonic PRIME 1300W PSU,但是當我進行分散式 PyTorch ImageNet/ResNet50 訓練且最大化利用所有 GPU 時,工作站瀕臨重啟狀態。於是我換成了 EVGA SuperNOVA 1600 P2,這些問題解決了。注意,我使用 sudo nvidia-smi -pl 180 將 GPU 電量從 250W 降到 180W 時,1300W PSU 是可以使用的。不過我仍然推薦 1600W PSU,不然會限制 GPU 速度。


散熱系統

  • 通常,不錯的氣流和適當的電纜管理對於 GPU 散熱來說足夠了。
  • 高性能(i9 X-Series)CPU 散熱用海盜船 h100i 就可以了。
  • 即使如此,如果可以請將機器放在陰涼、裝有空調的房間里。

從散熱風扇到全系統水冷卻,你有很多選擇。通常,如果機箱很大且電纜管理合適,那麼你不用要太多華麗的東西。我構建的工作站中,CPU 沒有配備散熱器,我使用的是深度學習工作站中的標準配置海盜船 h100i。更低價的選擇是 Noctua NH-U9S CPU Cooler Fan。我沒買它的原因是它太大了,可能會阻塞部分 RAM 插槽。如果你只需要 32 GB RAM,你可以選擇這款散熱風扇。


基準測試 VS 谷歌計算引擎

我對這台機器和谷歌計算引擎(GCE)深度學習虛擬機進行了基準測試對比。這些虛擬機據稱是專門為優化深度學習而預構建的。GCE 深度學習虛擬機使用 CUDA 版本和基於源代碼構建的驅動程序,這些程序轉為其硬體架構而優化。GCE 虛擬機沒有英偉達 RTX 2080 Ti GPU,所以我用 Tesla K40 來代替。根據不同的基準任務,英偉達 RTX 2080 Ti 的性能是 GPU Tesla K40 的 2 倍至 4 倍。所以為了公平起見,我將這台設備上的一個 RTX 2080 Ti 與 GCE 虛擬機上的 4 個 Tesla K40 進行了對比。

為了做基準測試,我使用了 PyTorch 的 ImageNet 分散式案例。我下載了 ImageNet 2012 訓練和驗證集,並在我的個人機器和 GCE 深度學習虛擬機上運行了以下代碼:

python examples/imagenet/main.py -a resnet18 --lr 0.1 --dist-url "tcp://127.0.0.1:FREEPORT" --dist-backend "nccl" --multiprocessing-distributed --world-size 1 --rank 0 "/location/where/I/stored/imagenet/"

GCE 深度學習虛擬機規格

我創建的虛擬機規格如下:

  • 架構:64 位,x86_64
  • K40 GPU 數量:8
  • 內存:394 GB
  • RAM:172 GB
  • CPU 線程數量:24

ImageNet 訓練時間基準

訓練 1 個 epoch 所需時間對比:

  • 我構建的工作站上 1 個 RTX 2080 TI 訓練 1 個 epoch 耗時:37.5 分鐘
  • GCE 虛擬機上 4 個 Tesla K40 GPU 訓練 1 個 epoch 耗時:86.3 分鐘

這些值是經過 50 個 epoch 訓練後平均得到的。運行的代碼和上面相同,沒有在任何一台機器上展開其它進程。


訓練每個 epoch GCE 所需的花費

我使用的 GCE 架構並不是最具成本效應的設置,訓練花費為:

4 個 Tesla K40 GPU 訓練 1 個 epoch 所需花費為 12.77 美元

所以用 Tesla K40 GPU 對 ImageNet 進行 100 個 epoch 訓練將花費約 1277 美元。而對於整個虛擬機來說,將花費約 21 美元/小時。


與 Lambda 的 4-GPU 工作站進行對比

我所構建的工作站旨在優化成本/性能權衡。如果你想構建與 Lambda 4-GPU 更加匹配的工作站,那麼可以看一下 Lambda CEO Stephen Balaban 在 reddit 上分享的幾條建議:

  • 添加一塊額外的渦輪風扇式 GPU(1349 美元)
  • 加 159 美元,將另外 3 塊 GPU 都升級成渦輪風扇式 GPU(共 477 美元)
  • 加一個熱插拔式驅動器托架(50 美元)
  • 加 1600W PSU(107 美元)
  • 將 CPU 從 10 核升級到 12 核(189 美元)
  • 上述原本工作站需花費 6200 美元

進行以上調整後,整個工作站的總花費大約是 8372 美元,比 Lambda 工作站少大概 4000 美元。


其他

我使用的操作系統是 Ubuntu Server 18.04 LTS,我使用 TensorFlow Cuda 10.1(從源代碼安裝)和 PyTorch。當我長時間以最大容量使用這三塊 GPU 時,我發現最上面的 GPU 出現過熱降頻,造成性能出現 5%-20% 的下降。這可能是雙風扇 GPU 設計的緣故。如果你擔心這個問題的話,推薦使用渦輪風扇式 GPU,以避免過熱降頻。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

編程面試問題真的越難越好嗎?No!
2019奧斯卡還未揭曉,先來看看AI預測的結果

TAG:機器之心 |