深度學(xué)習(xí)服務(wù)器組裝經(jīng)驗(yàn)過(guò)程分享
本文作者詳細(xì)描述了自己組裝深度學(xué)習(xí)服務(wù)器的過(guò)程,從 CPU、GPU、主板、電源、機(jī)箱等的選取到部件的安裝,再到服務(wù)器的設(shè)置,可謂面面俱到。作者指出,組裝者首先要弄清自己的需求,然后根據(jù)預(yù)算做出合理的選擇。
我剛開(kāi)始學(xué)習(xí) fast.ai 課程的第一部分——“Practical Deep Learning for Coders”,我想搭建自己的服務(wù)器來(lái)訓(xùn)練模型,作為使用 AWS p2 和存儲(chǔ)的升級(jí)。我將會(huì)使用更大的數(shù)據(jù)集,并且我不希望在訓(xùn)練模型時(shí)因?yàn)槿狈ψ銐虻奶幚砟芰Χ却龜?shù)小時(shí),因此構(gòu)建自己的 DL rig 服務(wù)器對(duì)我來(lái)說(shuō)是一個(gè)不錯(cuò)的選擇,而且從長(zhǎng)遠(yuǎn)來(lái)看,它將為我節(jié)省大量的時(shí)間和金錢(qián),而且可以積累組裝服務(wù)器的良好經(jīng)驗(yàn)。
組裝列出部件清單
在準(zhǔn)備部件之前,你要弄清楚自己到底想從機(jī)器中得到什么。個(gè)人而言,我想獲得以下改進(jìn):
比 Amazon p2 更加強(qiáng)大
容納額外 GPU、RAM、存儲(chǔ)及定制液體冷卻的空間
可以用很久的硬件
預(yù)算控制在 3000 美元左右
我用 pcpartpicker.com來(lái)細(xì)化各個(gè)部件,因?yàn)樗梢詫?duì)比和組裝其它部件變得非常簡(jiǎn)單,而且還具備很不錯(cuò)的部件兼容性檢查器。我將詳細(xì)解釋選擇每個(gè)部件的原因以及它們?nèi)绾闻c整個(gè)系統(tǒng)協(xié)同工作。
GPU: GTX 1080 TI Hybrid因?yàn)槟阋褂蔑@卡來(lái)訓(xùn)練模型,所以這是組裝過(guò)程中最重要的一部分,因此,GPU 越強(qiáng)大,你處理大型數(shù)據(jù)集的速度就越快。GPU 內(nèi)存越大,處理能力也就越強(qiáng)(如:訓(xùn)練速度更快,批尺寸更大……)。我為自己的服務(wù)器選了兩塊這種顯卡,因?yàn)槲以陬A(yù)算里為它們預(yù)留了空間,這樣我就能用其中一塊顯卡訓(xùn)練模型,讓另一個(gè)用戶在第二塊卡上訓(xùn)練其模型。你可以根據(jù)自己的預(yù)算縮減 GPU 內(nèi)存(1070、1060 等),防止與其它部件爭(zhēng)搶預(yù)算。Hybrid 1080 GPU 也不錯(cuò),因?yàn)槌舜蠖鄶?shù) GPU 具有的正常風(fēng)扇冷卻之外,它還預(yù)裝了 aio 水冷系統(tǒng)。1080 TI 在滿負(fù)載運(yùn)行時(shí)會(huì)過(guò)熱,因此,在訓(xùn)練模型時(shí),良好的冷卻系統(tǒng)對(duì)于延長(zhǎng)顯卡壽命并保持其性能至關(guān)重要。關(guān)于顯卡選擇的更多細(xì)節(jié),請(qǐng)參見(jiàn) ,該文幫助我真正了解了如何選擇適合深度學(xué)習(xí)環(huán)境的顯卡。
CPU: AMD Threadripper 1900x雖然你用顯卡訓(xùn)練神經(jīng)網(wǎng)絡(luò),但 CPU 依然很重要,因?yàn)槟阋盟鼇?lái)進(jìn)行數(shù)據(jù)準(zhǔn)備等操作,因此那些多核 CPU 將有助于加快速度。我用的是“線程撕裂者”Treadripper,因?yàn)檫@是市面上非常新的一款多核 CPU(ThreadRipper 2 代有 32 個(gè)內(nèi)核?。?,而且比因特爾價(jià)格低得多。1900x 是去年發(fā)布的基礎(chǔ)版 TR,它只有 8 個(gè)內(nèi)核,不過(guò)我對(duì)這臺(tái)服務(wù)器的整體目標(biāo)是保持它的可升級(jí)性。
需要注意的一點(diǎn)是,在選擇 CPU 時(shí),要確保有 8 或 16 個(gè) pcie 插槽供顯卡使用,這樣才能保證它們?cè)诘拓?fù)載下發(fā)揮最好的性能,否則就有堵塞系統(tǒng)的風(fēng)險(xiǎn)。在高端 CPU 上,如果你的服務(wù)器中有 4 個(gè)顯卡,那么你就有足夠的 pcie 插槽。
主板:MSI X399 SLI Plus選擇這塊主板是因?yàn)樗且粔K完整的 ATX 板,可容納 4 個(gè) GPU,RAM 最多可達(dá) 128GB。正如我前面所說(shuō),這個(gè)服務(wù)器的主要目標(biāo)之一是保持它可升級(jí)。
內(nèi)存:32GB Corsair Vengeance LPX DDR4 (2 x 16GB)
內(nèi)存越大,處理大型數(shù)據(jù)集就越容易。我的下一個(gè)升級(jí)計(jì)劃是再添加兩個(gè) 16GB RAM 內(nèi)存條,這也是我沒(méi)有安裝四通道內(nèi)存(4 個(gè) 8GB 內(nèi)存條)的原因,盡管它會(huì)提高我的服務(wù)器的性能。
存儲(chǔ):256GB Samsung SSD & 2TB HDD我把 Ubuntu、我的所有庫(kù)、我在 SSD 上正在使用的數(shù)據(jù)集以及手里的其它所有數(shù)據(jù)都存在 2TB 的機(jī)械硬盤(pán)上。
冷卻器:Corsair H100i v2 液體冷卻器“線程撕裂者”沒(méi)有備用冷卻器(如果你有 30 美元的余款,至少應(yīng)該買(mǎi)一個(gè)便宜的二手冷卻器),所以我想要一個(gè)可以全天候使用的、便宜又容易維護(hù)的冷卻器。這款集各種優(yōu)點(diǎn)于一身的冷卻器非常容易安裝,而且非??煽浚ㄔ跀?shù)十萬(wàn)臺(tái)機(jī)組中,可能只有一兩臺(tái)發(fā)生冷卻液泄漏)、安靜。
電源:EVGA SuperNOVA 1000w 80 + Gold CerTIfied最好有一個(gè)功率超過(guò)技術(shù)要求的 PSU。PCPartpicker 的功率計(jì)算器能夠大致算出你需要多大的功率(我的服務(wù)器是 824w),然而它經(jīng)常在數(shù)量上出錯(cuò),因此最好進(jìn)行安全操作,以防你的計(jì)算機(jī)無(wú)法打開(kāi)?!癎old CerTIfied”只是指 PSU 的效率(浪費(fèi)了多少功率作為熱量)。
機(jī)箱:Corsair 760T Full Tower我選擇這個(gè)機(jī)箱是因?yàn)樗膬r(jià)格和內(nèi)部空間大小。雖然它并不能提高你的模型訓(xùn)練速度,但是透明的側(cè)面板和紅色的 LED 確實(shí)讓你看起來(lái)更酷。