Re: [菜單] 200K深度學習機

作者: fo40225   2019-05-30 00:43:57
: 更新 :謝謝各位大大的建議,跟老闆討論過後預計朝請廠商報小型工作站
: 的單子,預算雖然說是沒有問題但也可能沒辦法買[email protected]@,讓電蝦的
: 各位失望了
: 非常謝謝各位的建議,還請有點火氣上來的前輩們消消氣
原PO後來請廠商報小型工作站是聰明的決定
十萬的單子還上來求建議 表示對硬體的了解度沒有信心
雖然廠商也不一定懂
但讓廠商全權開規格 之後有問題廠商可以協助處理
廠商能除錯的資源還是比個人多些
上頭的人追究下來也有個廠商負責
100萬內的科研採購 雖然不用招標 但也總要有個廠商陪著跑文件
廠商多賺的錢就當服務費 省心
====
所以深度學習的機器到底要怎麼買?
剛好最近有些採購 也略有研究
以下是個人心得 不一定正確 在此做個筆記記錄
====
買電腦 第一先問預算 再問需求
但這次先問需求
真的需要一台GPU Server嗎?
在PC上開發模型,真正的大量資料上AWS、Azure、GCP、國網中心的雲端GPU做訓練
如果這樣的工作流不符合需求 (反正會有各種理由不行)
那也只好買台ML主機放地上了
如果預算沒有上限 (好幾個億花不完)
直接請廠商送NVDIA DGX Pod來就可以了
http://tinyurl.com/y3k63fo2
Easy Deployment of DGX Servers for Deep Learning
超Easy
預算不到億但超過千萬
DGX-2就在預算內
https://www.nvidia.com/zh-tw/data-center/dgx-2/
但NVIDIA要求購買DGX-2的單位最好要先有DGX-1的經驗
預算超過500萬就能買一台DGX-1
https://www.nvidia.com/zh-tw/data-center/dgx-1/
預算200萬上下你可以考慮買DGX Station
https://www.nvidia.com/zh-tw/data-center/dgx-station/
以上的價格都是我夢到的 詳細數字請打電話問業務
如果對於NV原廠機的配置不夠滿意
想要更換CPU RAM想加大點 儲存空間想調整
或是想把錢都砸在GPU 其他部分精簡
DELL HPE都有多GPU系列機器可客製化
嫌國外一線廠牌太貴 國內的華碩、麗台也都有GPU Server可以挑
怕被廠商坑可以先上DELL或HPE的美國官網點點配置
大概有個行情概念
錢能解決的問題都不是問題 最大的問題是沒有錢
沒錢的實驗室想買GPU Server來做深度學習
這時就要問情境了
是否願意犧牲機器穩定性、資料正確性來換取效能??
實驗室有多少人要用?
同時用還是排隊用?
有沒有專人管理維護伺服器?
如果真的要自己進這個坑就繼續吧
經驗告訴我 多人同時使用一台GPU server體驗很糟的
不只GPU是資源
CPU核心、CPU快取、PCIe頻寬、記憶體頻寬、記憶體容量、storage IOPS
全部都是瓶頸
8個人同時用一台8 GPU的server
就算一個人限制一顆GPU 8個人全部卡死
所以GPU server的使用情境是
- 訓練資料量太大了 需要多張卡做多倍的加速
(舉例:只能接受8張卡train 3小時 無法接受1張卡跑24小時)
- PC、HEDT的記憶體不夠
- 需要超多核心的CPU算力來做計算前處理
這時候又有人能管理伺服器(實驗室成員排隊不會吵架)
那可以買大台的server
一個人一個人輪流用 其他人只能等
推文裡有人買2xTITAN RTX主機45萬
若用不到512GB RAM或24GB VRAM或超多核心的算力
可以買5台9萬的PC 能用同時用的人更多 算力也更高 (2 GPU vs 5 GPU)
====
最後才是考慮組裝個人電腦來用
那組裝深度學習的主機 零件怎麼挑呢?
我不知道版上有多少人真的在深度學習
說不定我也沒有玩過 上來唬爛一通
下面的解釋都是心得 也不一定對 就當參考
CPU
有人說深度學習主機的CPU不重要
我不認為不重要
或者說 不重要不代表可以忽視
不然隨便拿個i3或Xeon Bronze亮機就好
CPU快的主機還能拿來做其他運算
非深度學習無GPU加速的機器學習算法也可以跑
GPU運算是需要CPU送資料進去的
若CPU需要做些前處理 算力不夠會導致資料產出速度不足導致GPU閒置
另一個就是PCIe頻寬 多卡時有機會塞車
(推文有人問ML主機跟礦機差在哪
礦機基本上不需要PCIe頻寬 一小段資料送進GPU爆hash出來
ML主機是大量的資料通過GPU 還有神經網路的權重更新問題
頻寬需求不同)
CPU的算力若要在高頻少核與低頻多核間選一個
我會選高頻少核 泛用性比較高
畢竟如果不是跑固定的商用軟體或開源軟體
很難確定平行化的效果如何
最後至少還有個單核硬上的選項
另外就是
我懷疑nvidia的驅動只有單核在跑 要是單核不夠力 GPU會比較慢
以上是推測 沒有直接證據
至於AMD CPU (先說明這是現在的狀況 2019/7/7後會不會改變我不知道)
Zen架構與Skylake架構相比
浮點運算AMD就是弱勢 (4個128bit 兩個加法兩個乘法 vs 2個256bit加乘皆可)
AVX 256bit AMD直接是Intel半速
更不用說要是程式用了Intel的編譯器或數學庫(MKL, MATLAB或numpy都會用到)
偵測到不是intel的CPU 直接執行相容性最高(最慢)的機器碼
AMD的CPU遇到奧步很難跑得比INTEL的快
至於HEDT平台
9980XE與2990WX我手上都有
版上隨便推人買2950X或2990WX是很不負責任的
我的建議是 除非你的程式在X399平台上測過真的比較快(或是一樣快但比較便宜)
不然買intel真的比較不會有性能問題
商人不是笨蛋 18核的9980XE與32核的2990WX才會沒什麼價差
實際測試這兩顆互有輸贏
如果你的程式是
- 多核平行化得很好 單核慢沒關係
- 有NUMA支援 不會卡RAM頻寬或CPU之間
- 浮點不重要 AVX 512沒差 且不會被intel軟體奧步
那2990WX有機會贏 但還是建議要測過再購買
(不到6萬就能體驗4路不對稱NUMA所帶來的各種奇葩效能問題 超值)
RAM
通道插滿 越大越好
做正事的機器不建議用超頻記憶體 標準條很棒
2019年 記憶體需求超過64GB 只能選HEDT
超過128GB 只能選工作站
超過512GB 只能選Server
嚴格要求資料正確性請買ECC
MB
主流平台挑選跟一般開菜單一樣
VRM散熱與設計挑一下
要是VRM供電不足 可能連維持全核Turbo都有問題
其他沒什麼重點
HEDT平台要看一下PCIe通道設計
針對ML需求會不會塞車
每張卡至少要x8 塞在CPU端或GPU端都會有影響
CPU散熱
i7-8700的原廠散熱沒有辦法在燒機下維持全核Turbo 4.3GHz
真的垃圾
比原廠散熱器好的都可以
GPU
重點來了
針對深度學習 第一要考慮的就是VRAM大小
VRAM決定了能放多複雜的模型下來算
(有人會說Unified Memory啊或是什麼NVLink合併記憶體的
會自己寫底層用這兩個功能的人就不會上來問問題了
Tensorflow可以開Unified Memory拿主記憶體硬跑
代價是效能剩10分之一 [PCIe x16頻寬約GDDR6 1/10]
NVLink自動合併記憶體 我還沒看到Tensorflow或Pytorch有支援
至少我在V100上是開不出自動合併 會的人麻煩教學一下
手動將模型拆放在兩張又不會卡頻寬也是需要花時間調整的)
還有batch size能開多少(這個可以透過多卡增加)
如果只是玩票性質的深度學習
6GB VRAM應該都能試跑常見的模型
如果是拿來做事的
11GB VRAM的是首選
因此消費級能挑的卡有
11GB
1080ti
2080ti
12GB
GTX TITAN X
TITAN X
TITAN Xp
TITAN V
24GB
TITAN RTX
Quadro卡很貴 也沒有特別快
除非你想買Quadro RTX 8000有48GB VRAM
不然光看規格 我找不到買Quadro RTX 6000而不買TITAN RTX的理由
(其實有 Quadro RTX 6000是鼓風扇 多卡散熱比TITAN RTX好)
Tesla卡是被動散熱沒有風扇
都是跟著設計過的機架出貨
就算搞到手裝在一般機殼也是直接燒掉
如果要使用多卡 一定要用渦輪扇版本的強制排氣
不然連跑幾個小時 直接熱死
再來要考慮的就是算力
如果會用半精度fp16訓練(AMP之類的)
有Tensor Core的TITAN RTX、2080ti、TITAN V有絕對優勢
(雖然2080ti的Tensor Core在fp16/fp32混和精度被老黃閹成半速 但還是很快)
只用fp32的話請直接看wiki Single precision欄位
https://en.wikipedia.org/wiki/List_of_Nvidia_graphics_processing_units
TITAN V與TITAN RTX比較
TITAN V是HBM 某些吃VRAM頻寬的模型計算速度上會快些
TITAN RTX的VRAM比較大且有NVLink
NVLink的效果 有幫助但沒有很顯著
Puget Systems上關於GPU跑深度學習的測試文都可以看看
https://www.pugetsystems.com/search.php?query=+Machine+Learning
TITAN V與TITAN RTX個人會選RTX
慢一點等就好 (沒用Tensor core速度根本沒差)
放不進VRAM連算都不用算
PCHome定價還比較便宜
Storage
都2019了 SSD必備吧
額外的硬碟、RAID或是NAS就看預算
另外NVMe組RAID 0不會增加隨機讀取IOPS 不要為了這個浪費錢
Power
如果放機器的地方沒有220V
組4卡機器可能要考慮一下
1500W推4張TU102+CPU其實很拚
====
最後是菜單 線上隨便點的 別真的拿去組
80K 深度學習文書PC
CPU (中央處理器):
Intel i9-9900K【8核/16緒】3.6GHz(↑5.0GHz)/16M/95W
15800
Cooler (散熱器):
利民 Silver Arrow IB-E Extreme 8根導管(6mm)/雙塔/高度16cm/TDP:320W
2890
MB (主機板):
華擎 Z390M Pro4【獨家】(M-ATX/1A1D1H/I網/CNVi/十相/註四年+365天換新)
3590
RAM (記憶體):
KLEVV(科賦) 16GB DDR4-2666/CL16
4x1888 7552
VGA (顯示卡):
技嘉 RTX2080Ti TURBO 11G(1545MHz/27.2cm/註四年)
36890
SSD (固態硬碟):
威剛 XPG SX8200Pro 1TB/M.2 PCIe 2280/讀:3500M/寫:3000M/TLC【五年保】附散熱片
4380
HDD (硬碟):
Toshiba 6TB【企業級】128MB/7200轉/五年保(MG05ACA600E)
5390
PSU (電源供應器):
全漢 聖武士 650W/銅牌/全日系/DC-DC/5年免費/CPU主線:18AWG
1990
====
300K 深度學習入門PC
處理器 CPU:
Intel i9-9980XE【18核/36緒】3.0G(↑4.4GHz)/24.75M/165W/無內顯【代理盒裝】
61000
主機板 MB:
華碩 WS X299 SAGE/10G(CEB/8*D4/雙I網-10G/2*M.2/1*U.2/三年)
21900
記憶體 RAM:
美光 Micron Crucial 16G DDR4-2666
8x2099 16792
固態硬碟 M.2|SSD:
三星Samsung 970 PRO NVMe 1TB/M.2 PCIe 讀:3500/寫:2700/MLC/五年保
13500
傳統內接硬碟HDD:
Toshiba 10TB【企業級】256MB/7200轉/五年保(MG06ACA10TE)
9990
散熱器|散熱墊|散熱膏:
利民 Silver Arrow IB-E Extreme 8根導管(6mm)/雙塔/高度16cm/TDP:320W【VWX】
2890
顯示卡VGA:
華碩 TURBO-RTX2080Ti-11G(1545MHz/26.9cm/註四年)
4x38990 155960
CASE 機殼(+電源):
海盜船 Carbide Air 540 黑 顯卡長31/CPU高17/SSD*6(2共用)/E-ATX
4490
電源供應器:
全漢 CANNON 2000W 雙8/全模/全日系/1年保固/六項保護/支援18組PCI-E 6+2PIN
12900
====
300K那組可再往上調整一階成自組工作站
CPU可換Xeon W-2195
MB可換ASUS WS C422 SAGE/10G
RAM加到512GB
VGA換成4x Titan RTX
====
再往上就不要自組或白牌server了啦
驗證也是要錢的 廠商的人力服務支援都是錢
更高階的機器不是所有零件裝上去就會動的
散熱、供電、各零件相容性都是眉角
花了幾百萬經費買了不會動的機器 一定被教授砍死
這邊都還只有講到硬體
要是管理伺服器的人
軟體部分OS、CUDA driver等等設定無法自己來
還是要有個廠商在後面支援才好
啥都不懂買品牌機就對了
作者: windrain0317 (你在大聲啥)   2019-05-30 00:53:00
推,尤其300k後直接call廠商是良心建議
作者: william25520 (diameter)   2019-05-30 03:21:00
同一樓
作者: windrain0317 (你在大聲啥)   2019-05-30 09:43:00
真的要工作AMD要就直上EPYC2990WX很多奇葩狀況會讓人傻眼
作者: perfects1988 (LoserChan)   2019-05-30 12:18:00
作者: LOUlSVUITTON   2019-05-30 18:35:00
完全看不懂 但是推個
作者: tofukingkion (豆腐)   2019-05-30 20:53:00

Links booklink

Contact Us: admin [ a t ] ucptt.com