硬件最新推薦
發(fā)布時間:2018/12/18 10:10:33 訪問次數(shù):35168
- 51電子網(wǎng)公益庫存:
- SDC3122
- SDC3123
- SDC5121
- SDC5122
- SDC5123
- SDC5125
- SDC5126
- SDC5131
- SDC5132
- SE2520L
- SE2527L-R
- SE2579U-R
- SE2603L-R
- SE2622L-R
- SFH618A-4
- SFI0806SV241-201
- SFI0806SV431-101A
- SG1103DG
- SGM4054B-YN5/TR
- SGM809-LXN3/TR
gpu顯卡(gpu)是深度學(xué)習(xí)的重要部件,甚至比cpu更重要。做深度學(xué)習(xí)不用gpu只用cpu顯然是不明智的,所以作者tim先介紹了gpu的選擇。選購gpu有三大注意事項:性價比、顯存、散熱。
使用16bit的rtx 2070或者rtx 2080 ti性價比更高。另外在ebay上購買二手的32bit gtx 1070、gtx 1080或者1080 ti也是不錯的選擇。
除了gpu核心,顯存(gpu ram)也是不可忽視的部分。rtx比gtx系列顯卡在顯存方面更具優(yōu)勢,在顯存相同的情況下,rtx能夠訓(xùn)練兩倍大的模型。
通常對顯存的要求如下:如果想在研究中追求最高成績:顯存>=11 gb;在研究中搜尋有趣新架構(gòu):顯存>=8 gb;其他研究:8gb;kaggle競賽:4~8gb;創(chuàng)業(yè)公司:8gb(取決于具體應(yīng)用的模型大。┕荆捍蛟煸8gb,訓(xùn)練不小于11gb需要注意的是,如果你購買了多個rtx顯卡,一定不要忽視散熱。兩個顯卡堆疊在相鄰pci-e插槽,很容易令gpu過熱降頻,可能導(dǎo)致性能下降30%。這個問題后面還會具體討論。內(nèi)存選擇內(nèi)存(ram)有兩個參數(shù):時鐘頻率、容量。這兩個參數(shù)哪個更重要?時鐘頻率
炒作內(nèi)存時鐘頻率是廠家常用的營銷手段,他們宣傳內(nèi)存越快越好,實際上真的是這樣嗎?
知名數(shù)碼博主linus tech tips解答了這個問題:廠商會引誘你購買“更快”的ram,實際上卻幾乎沒有性能提升。
內(nèi)存頻率和數(shù)據(jù)轉(zhuǎn)移到顯存的速度無關(guān),提高頻率最多只能有3%的性能提升,你還是把錢花在其他地方吧!
內(nèi)存容量
內(nèi)存大小不會影響深度學(xué)習(xí)性能,但是它可能會影響你執(zhí)行g(shù)pu代碼的效率。內(nèi)存容量大一點,cpu就可以不通過磁盤,直接和gpu交換數(shù)據(jù)。
所以用戶應(yīng)該配備與gpu顯存匹配的內(nèi)存容量。如果有一個24gb顯存的titan rtx,應(yīng)該至少有24gb的內(nèi)存。但是,如果有更多的gpu,則不一定需要更多內(nèi)存。http://ryzw.51dzw.com
tim認(rèn)為:內(nèi)存關(guān)系到你能不能集中資源,解決更困難的編程問題。如果有更多的內(nèi)存,你就可以將注意力集中在更緊迫的問題上,而不用花大量時間解決內(nèi)存瓶頸。
他還在參加kaggle比賽的過程中發(fā)現(xiàn),額外的內(nèi)存對特征工程非常有用。cpu過分關(guān)注cpu的性能和pcie通道數(shù)量,是常見的認(rèn)知誤區(qū)。用戶更需要關(guān)注的是cpu和主板組合支持同時運行的gpu數(shù)量。cpu和pcie
人們對pcie通道的執(zhí)念近乎瘋狂!而實際上,它對深度學(xué)習(xí)性能幾乎沒有影響。
如果只有一個gpu,pcie通道的作用只是快速地將數(shù)據(jù)從內(nèi)存?zhèn)鬏數(shù)斤@存。
imagenet里的32張圖像(32x225x225x3)在16通道上傳輸需要1.1毫秒,在8通道上需要2.3毫秒,在4通道上需要4.5毫秒。
這些只是是理論數(shù)字,實際上pcie的速度只有理論的一半。pcie通道通常具有納秒級別的延遲,因此可以忽略延遲。
tim測試了用32張imagenet圖像的mini-batch,訓(xùn)練resnet-152模型所需要的傳輸時間:前向和后向傳輸:216毫秒16個pcie通道cpu-> gpu傳輸:大約2毫秒(理論上為1.1毫秒)8個pcie通道cpu-> gpu傳輸:大約5毫秒(2.3毫秒)4個pcie通道cpu-> gpu傳輸:大約9毫秒(4.5毫秒)因此,在總用時上,從4到16個pcie通道,性能提升約3.2%。但是,如果pytorch的數(shù)據(jù)加載器有固定內(nèi)存,則性能提升為0%。因此,如果使用單個gpu,請不要在pcie通道上浪費金錢。
在選擇cpu pcie通道和主板pcie通道時,要保證你選擇的組合能支持你想要的gpu數(shù)量。如果買了支持2個gpu的主板,而且希望用上2個gpu,就要買支持2個gpu的cpu,但不一定要查看pcie通道數(shù)量。pcie通道和多gpu并行計算
如果在多個gpu上訓(xùn)練網(wǎng)絡(luò),pcie通道是否重要呢?tim曾在iclr 2016上發(fā)表了一篇論文指出(https://arxiv.org/abs/1511.04561):如果你有96個gpu,那么pcie通道非常重要。
但是,如果gpu數(shù)量少于4個,則根本不必關(guān)心pcie通道。幾乎很少有人同時運行超過4個gpu,所以不要在pcie通道上花冤枉錢。這不重要!
cpu核心數(shù)
為了選擇cpu,首先需要了解cpu與深度學(xué)習(xí)的關(guān)系。
cpu為深度學(xué)習(xí)中起到什么作用?當(dāng)在gpu上運行深度網(wǎng)絡(luò)時,cpu幾乎不會進(jìn)行任何計算。cpu的主要作用有:(1)啟動gpu函數(shù)調(diào)用(2)執(zhí)行cpu函數(shù)。
到目前為止,cpu最有用的應(yīng)用是數(shù)據(jù)預(yù)處理。有兩種不同的通用數(shù)據(jù)處理策略,具有不同的cpu需求。
第一種策略是在訓(xùn)練時進(jìn)行預(yù)處理,第二種是在訓(xùn)練之前進(jìn)行預(yù)處理。
對于第一種策略,高性能的多核cpu能顯著提高效率。建議每個gpu至少有4個線程,即為每個gpu分配兩個cpu核心。tim預(yù)計,每為gpu增加一個核心 ,應(yīng)該獲得大約0-5%的額外性能提升。
對于第二種策略,不需要非常好的cpu。建議每個gpu至少有2個線程,即為每個gpu分配一個cpu核心。用這種策略,更多內(nèi)核也不會讓性能顯著提升。
cpu時鐘頻率
4ghz的cpu性能是否比3.5ghz的強?對于相同架構(gòu)處理器的比較,通常是正確的。但在不同架構(gòu)處理器之間,不能簡單比較頻率。cpu時鐘頻率并不總是衡量性能的最佳方法。
在深度學(xué)習(xí)的情況下,cpu參與很少的計算:比如增加一些變量,評估一些布爾表達(dá)式,在gpu或程序內(nèi)進(jìn)行一些函數(shù)調(diào)用。所有這些都取決于cpu核心時鐘率。http://ryzw.51dzw.com
雖然這種推理似乎很明智,但是在運行深度學(xué)習(xí)程序時,cpu仍有100%的使用率,那么這里的問題是什么?tim做了一些cpu的降頻實驗來找出答案。
cpu降頻對性能的影響:請注意,這些實驗是在一些“上古”cpu(2012年推出的第三代酷睿處理器)上進(jìn)行的。但是對于近年推出的cpu應(yīng)該仍然適用。硬盤/固態(tài)硬盤(ssd)通常,硬盤不會限制深度學(xué)習(xí)任務(wù)的運行,但如果小看了硬盤的作用,可能會讓你追、悔、莫、及。
想象一下,如果你從硬盤中讀取的數(shù)據(jù)的速度只有100mb/s,那么加載一個32張imagenet圖片構(gòu)成的mini-batch,將耗時185毫秒。
相反,如果在使用數(shù)據(jù)前異步獲取數(shù)據(jù),將在185毫秒內(nèi)加載這些mini-batch的數(shù)據(jù),而imagenet上大多數(shù)神經(jīng)網(wǎng)絡(luò)的計算時間約為200毫秒。所以,在計算狀態(tài)時加載下一個mini-batch,性能將不會有任何損失。
tim小哥推薦的是固態(tài)硬盤(ssd),他認(rèn)為ssd在手,舒適度和效率皆有。和普通硬盤相比,ssd程序啟動和響應(yīng)速度更快,大文件的預(yù)處理更是要快得多。
頂配的體驗就是nvme ssd了,比一般ssd更流暢。電源裝置(psu)一個程序員對電源最基礎(chǔ)的期望,首先得是能滿足各種gpu所需能量吧。隨著gpu朝著更低能耗發(fā)展,一個質(zhì)量優(yōu)秀的psu能陪你走很久。
應(yīng)該怎么選?tim小哥有一套計算方法:將電腦cpu和gpu的功率相加,再額外加上10%的功率算作其他組件的耗能,就得到了功率的峰值。
舉個例子,如果你有4個gpu,每個功率為250瓦,還有一個功率為150瓦的cpu,則需電源提供4×250+150+100=1250瓦的電量。
tim通常會在此基礎(chǔ)上再額外添加10%確保萬無一失,那就總共需要1375瓦。所以這種情況下,電源性能需達(dá)1400瓦。
這樣手把手教學(xué),應(yīng)該不難理解了。還有一點得注意,即使一個psu達(dá)到了所需瓦數(shù),也可能沒有足夠的pcie 8-pin或6-pin的接頭,所以買的時候還要確保電源上有足夠多的接頭接gpu。另外,買一個能效等級高的電源,特別是當(dāng)你需要連很多gpu并且可能運行很長時間的時候,原因你懂的。
再舉個例子吧,如果以滿功率(1000-1500瓦)運行4 gpu系統(tǒng)、花兩周時間訓(xùn)練一個卷積神經(jīng)網(wǎng)絡(luò),需要耗用300-500度電。按德國每度0.2歐元計算,電費最終耗費約折合人民幣455-766元。
如果電源效率降到80%,電費將增加140-203元人民幣。
需要的gpu數(shù)量越多,拉開的差距越明顯。psu的挑選是不是比之前想象的復(fù)雜一點?cpu和gpu的冷卻對于產(chǎn)熱大戶cpu和gpu來說,散熱性不好會降低它們的性能。
對cpu來說,則標(biāo)配的散熱器,或者aio水冷散熱器都是不錯的選擇。
但gpu該用哪種散熱方案,卻是個復(fù)雜的事。
風(fēng)冷散熱
如果只有單個gpu,風(fēng)冷是安全可靠的,但若你gpu多達(dá)3-4個,靠空氣冷卻可能就不能滿足需求了。
目前的gpu會在運行算法時將速度提升到最大,所以功耗也達(dá)到最大值,一旦溫度超過80℃,很有可能降低速度,無法實現(xiàn)最佳性能。
對于深度學(xué)習(xí)任務(wù)來說這種現(xiàn)象更常見了,一般的散熱風(fēng)扇遠(yuǎn)達(dá)不到所需效果,運行幾秒鐘就達(dá)到溫度閾值了。如果是用多個gpu,性能可能會降低10%~25%。怎么辦?目前,英偉達(dá)gpu很多是針對游戲設(shè)計的,所以對于windows系統(tǒng)進(jìn)行了專門的優(yōu)化,也可以輕松設(shè)置風(fēng)扇方案。
但在linux系統(tǒng)中這招就不能用了,麻煩的是,很多深度學(xué)習(xí)庫也都是針對linux編寫的。
這是一個問題,但也不是無解。
在linux系統(tǒng)中,你可以進(jìn)行xorg服務(wù)器的配置,選擇“coolbits”選項,這對于單個gpu還是很奏效。
若你有多個gpu, 就必須模擬一個監(jiān)視器,tim小哥說自己嘗試了很長時間,但還是沒有什么改進(jìn)。
如果你想在空氣冷卻的環(huán)境中運行3-4個小時,則最應(yīng)該注意風(fēng)扇的設(shè)計。
目前市場上的散熱風(fēng)扇原理大致有兩種:鼓風(fēng)式的風(fēng)扇將熱空氣從機箱背面推出,讓涼空氣進(jìn)來;非鼓風(fēng)式的風(fēng)扇是在gpu中吸入空氣達(dá)到冷卻效果。所以,如果你有多個gpu彼此相鄰,那么周圍就沒有冷空氣可用了,所以這種情況,一定不要用非鼓風(fēng)式的散熱風(fēng)扇了。
那用什么?接著往下看——
水冷散熱雖然比風(fēng)冷法成本略高,但很適用于多個gpu相鄰的情況,它能hold住四個最強勁的gpu保持周身涼爽,是風(fēng)冷無法企及的效果。另外,水冷散熱可以更安靜地進(jìn)行,如果你在公共區(qū)域運行多個gpu,水冷的優(yōu)勢更為凸顯了。
至于大家最關(guān)心的成本問題,水冷單個gpu大概需要100美元(約690元人民幣)再加一些額外的前期成本(大約350元人民幣)。除了財力準(zhǔn)備,還需要你投入一些精力,比如額外花時間組裝計算機等。這類事情網(wǎng)上教程已經(jīng)很多了,只需要幾個小時搞定,后期的維護(hù)也不復(fù)雜。
結(jié)論
對于單個gpu,風(fēng)冷便宜也夠用;多個gpu情況下,鼓風(fēng)式的空氣冷卻比較便宜,可能會帶來10%~15%的性能損失。如果想追求散熱極致,水冷散熱安靜且效果最好。
所以,風(fēng)冷or水冷都合理,看你自己的實際情況和預(yù)算了。但小哥最后建議,通常情況下,還是考慮下低成本的風(fēng)冷吧。主板主板應(yīng)該有足夠的pcie插槽來支持所需的gpu數(shù)量。但需要注意的是,大多數(shù)顯卡寬度需要占用兩個pcie插槽。
如果打算使用多個gpu,就要購買pcie插槽之間有足夠空間的主板,確保顯卡之間不會相互遮擋。機箱選機箱的時候,必須保證機箱能裝下主板頂部的全長gpu,雖然大部分機箱是沒問題的,但是萬一你買小了,那就得看商家給不給你七天無理由了……
所以,買之前最好確認(rèn)一下機箱的尺寸規(guī)格,也可以搜一下機箱裝著gpu的圖,有別人的成品圖的話就能買得放心一些。
另外,如果你想用定制水冷的話,保證你的機箱能裝得下散熱器,尤其是給gpu用定制水冷的時候,每個gpu的散熱器都需要占空間。
顯示器
怎么配顯示器還用教?
必須得教。
tim放出了買家秀:是的,作為一個成熟的技術(shù)人員,用多臺顯示器是基本配置了。
想象一下把買家秀上這三臺顯示器上的內(nèi)容堆到同一塊屏幕里,來回切換窗口,這得多累人。太長不看版gpu:
rtx 2070、rtx 2080 ti、gtx 1070、gtx 1080、gtx 1080,這些都不錯。
cpu:
1.給每個gpu配1-2個cpu核心,具體要看你預(yù)處理數(shù)據(jù)的方式;
2.頻率要大于2ghz,cpu要能支持你的gpu數(shù)量;
3.pcie通道不重要。
內(nèi)存:
1.時鐘頻率無關(guān)緊要,內(nèi)存買最便宜的就行了;
2.內(nèi)存 ≥ 顯存最大的那塊gpu的ram;
3.內(nèi)存不用太大,用多少買多少;
4.如果你經(jīng)常用大型數(shù)據(jù)集,買更多內(nèi)存會很有用。
硬盤/ssd:
1.給你的數(shù)據(jù)集準(zhǔn)備足夠大的硬盤(≥3tb);
2.有ssd會用的舒坦一些,還能預(yù)處理小型數(shù)據(jù)集。
psu:
1.需要的功率最大值≈(cpu功率+gpu功率)×110%;
2.買一個高能效等級的電源,特別是當(dāng)你需要連很多gpu并且可能運行很長時間的時,這樣可以節(jié)省很多電費;
3.買之前請確保電源上有足夠多的接頭(pcie 8-pin或6-pin)接gpu。
散熱:
cpu:
標(biāo)準(zhǔn)配置的cpu散熱器或者aio水冷散熱器;
gpu:
1.單個gpu,風(fēng)冷散熱即可;
2.若用多個gpu,選擇鼓風(fēng)式風(fēng)冷散熱或水冷散熱。
主板:
準(zhǔn)備盡可能多的鏈接gpu的pcle插槽,一個gpu需要兩個插槽,每個系統(tǒng)最多4個gpu,不過你也要考慮gpu的厚度。
顯示器:
為了提高效率,多買幾塊屏幕吧。發(fā)了三篇頂會的博士在讀小哥哥這篇指南的作者tim dettmers去年碩士畢業(yè),目前在華盛頓大學(xué)讀博,主要研究知識表達(dá)、問答系統(tǒng)和常識推理,曾在ucl機器學(xué)習(xí)組和微軟實習(xí)。按照去年畢業(yè)開始讀博的話,tim的博士才讀了一年半,現(xiàn)在就已經(jīng)是三篇頂會論文的作者了,其中還有一篇aaai是一作,一篇iclr是唯一作者。
另外,他還是一個刷kaggle愛好者,曾經(jīng)在2013年排到全球第63名(前0.22%)。one more thing其實說了這么多,你也不想裝機對不對?
tim已然料到,所以,在裝機指南之外,他還主動奉獻(xiàn)了一些裝機鼓勵:
雖然買硬件很貴,一不小心搞錯會肉疼,但是不要怕裝電腦這件事。
其一,裝機本身很簡單,主板手冊里都把如何裝機寫的明明白白,比裝樂高難不了多少,還附帶了大量的指南和分步操作視頻,就算你是0經(jīng)驗小白也能學(xué)得會。
其二,裝機這件事,只要有第一次,后面就不難了,因為所有的計算機都是那幾個硬件構(gòu)成的。所以,只要裝一次,就可以get一門終身技能,投資回報率非常高。http://ryzw.51dzw.com
硬件設(shè)備,是任何一名深度學(xué)習(xí)er不可或缺的核心裝備。各位初級調(diào)參魔法師們,你們有沒有感到缺少那一根命中注定的魔杖?從gpu開始,依次看看各重要部件應(yīng)該如何選擇。文章出自:原創(chuàng) 量子位
- 51電子網(wǎng)公益庫存:
- SDC3122
- SDC3123
- SDC5121
- SDC5122
- SDC5123
- SDC5125
- SDC5126
- SDC5131
- SDC5132
- SE2520L
- SE2527L-R
- SE2579U-R
- SE2603L-R
- SE2622L-R
- SFH618A-4
- SFI0806SV241-201
- SFI0806SV431-101A
- SG1103DG
- SGM4054B-YN5/TR
- SGM809-LXN3/TR
gpu顯卡(gpu)是深度學(xué)習(xí)的重要部件,甚至比cpu更重要。做深度學(xué)習(xí)不用gpu只用cpu顯然是不明智的,所以作者tim先介紹了gpu的選擇。選購gpu有三大注意事項:性價比、顯存、散熱。
使用16bit的rtx 2070或者rtx 2080 ti性價比更高。另外在ebay上購買二手的32bit gtx 1070、gtx 1080或者1080 ti也是不錯的選擇。
除了gpu核心,顯存(gpu ram)也是不可忽視的部分。rtx比gtx系列顯卡在顯存方面更具優(yōu)勢,在顯存相同的情況下,rtx能夠訓(xùn)練兩倍大的模型。
通常對顯存的要求如下:如果想在研究中追求最高成績:顯存>=11 gb;在研究中搜尋有趣新架構(gòu):顯存>=8 gb;其他研究:8gb;kaggle競賽:4~8gb;創(chuàng)業(yè)公司:8gb(取決于具體應(yīng)用的模型大。┕荆捍蛟煸8gb,訓(xùn)練不小于11gb需要注意的是,如果你購買了多個rtx顯卡,一定不要忽視散熱。兩個顯卡堆疊在相鄰pci-e插槽,很容易令gpu過熱降頻,可能導(dǎo)致性能下降30%。這個問題后面還會具體討論。內(nèi)存選擇內(nèi)存(ram)有兩個參數(shù):時鐘頻率、容量。這兩個參數(shù)哪個更重要?時鐘頻率
炒作內(nèi)存時鐘頻率是廠家常用的營銷手段,他們宣傳內(nèi)存越快越好,實際上真的是這樣嗎?
知名數(shù)碼博主linus tech tips解答了這個問題:廠商會引誘你購買“更快”的ram,實際上卻幾乎沒有性能提升。
內(nèi)存頻率和數(shù)據(jù)轉(zhuǎn)移到顯存的速度無關(guān),提高頻率最多只能有3%的性能提升,你還是把錢花在其他地方吧!
內(nèi)存容量
內(nèi)存大小不會影響深度學(xué)習(xí)性能,但是它可能會影響你執(zhí)行g(shù)pu代碼的效率。內(nèi)存容量大一點,cpu就可以不通過磁盤,直接和gpu交換數(shù)據(jù)。
所以用戶應(yīng)該配備與gpu顯存匹配的內(nèi)存容量。如果有一個24gb顯存的titan rtx,應(yīng)該至少有24gb的內(nèi)存。但是,如果有更多的gpu,則不一定需要更多內(nèi)存。http://ryzw.51dzw.com
tim認(rèn)為:內(nèi)存關(guān)系到你能不能集中資源,解決更困難的編程問題。如果有更多的內(nèi)存,你就可以將注意力集中在更緊迫的問題上,而不用花大量時間解決內(nèi)存瓶頸。
他還在參加kaggle比賽的過程中發(fā)現(xiàn),額外的內(nèi)存對特征工程非常有用。cpu過分關(guān)注cpu的性能和pcie通道數(shù)量,是常見的認(rèn)知誤區(qū)。用戶更需要關(guān)注的是cpu和主板組合支持同時運行的gpu數(shù)量。cpu和pcie
人們對pcie通道的執(zhí)念近乎瘋狂!而實際上,它對深度學(xué)習(xí)性能幾乎沒有影響。
如果只有一個gpu,pcie通道的作用只是快速地將數(shù)據(jù)從內(nèi)存?zhèn)鬏數(shù)斤@存。
imagenet里的32張圖像(32x225x225x3)在16通道上傳輸需要1.1毫秒,在8通道上需要2.3毫秒,在4通道上需要4.5毫秒。
這些只是是理論數(shù)字,實際上pcie的速度只有理論的一半。pcie通道通常具有納秒級別的延遲,因此可以忽略延遲。
tim測試了用32張imagenet圖像的mini-batch,訓(xùn)練resnet-152模型所需要的傳輸時間:前向和后向傳輸:216毫秒16個pcie通道cpu-> gpu傳輸:大約2毫秒(理論上為1.1毫秒)8個pcie通道cpu-> gpu傳輸:大約5毫秒(2.3毫秒)4個pcie通道cpu-> gpu傳輸:大約9毫秒(4.5毫秒)因此,在總用時上,從4到16個pcie通道,性能提升約3.2%。但是,如果pytorch的數(shù)據(jù)加載器有固定內(nèi)存,則性能提升為0%。因此,如果使用單個gpu,請不要在pcie通道上浪費金錢。
在選擇cpu pcie通道和主板pcie通道時,要保證你選擇的組合能支持你想要的gpu數(shù)量。如果買了支持2個gpu的主板,而且希望用上2個gpu,就要買支持2個gpu的cpu,但不一定要查看pcie通道數(shù)量。pcie通道和多gpu并行計算
如果在多個gpu上訓(xùn)練網(wǎng)絡(luò),pcie通道是否重要呢?tim曾在iclr 2016上發(fā)表了一篇論文指出(https://arxiv.org/abs/1511.04561):如果你有96個gpu,那么pcie通道非常重要。
但是,如果gpu數(shù)量少于4個,則根本不必關(guān)心pcie通道。幾乎很少有人同時運行超過4個gpu,所以不要在pcie通道上花冤枉錢。這不重要!
cpu核心數(shù)
為了選擇cpu,首先需要了解cpu與深度學(xué)習(xí)的關(guān)系。
cpu為深度學(xué)習(xí)中起到什么作用?當(dāng)在gpu上運行深度網(wǎng)絡(luò)時,cpu幾乎不會進(jìn)行任何計算。cpu的主要作用有:(1)啟動gpu函數(shù)調(diào)用(2)執(zhí)行cpu函數(shù)。
到目前為止,cpu最有用的應(yīng)用是數(shù)據(jù)預(yù)處理。有兩種不同的通用數(shù)據(jù)處理策略,具有不同的cpu需求。
第一種策略是在訓(xùn)練時進(jìn)行預(yù)處理,第二種是在訓(xùn)練之前進(jìn)行預(yù)處理。
對于第一種策略,高性能的多核cpu能顯著提高效率。建議每個gpu至少有4個線程,即為每個gpu分配兩個cpu核心。tim預(yù)計,每為gpu增加一個核心 ,應(yīng)該獲得大約0-5%的額外性能提升。
對于第二種策略,不需要非常好的cpu。建議每個gpu至少有2個線程,即為每個gpu分配一個cpu核心。用這種策略,更多內(nèi)核也不會讓性能顯著提升。
cpu時鐘頻率
4ghz的cpu性能是否比3.5ghz的強?對于相同架構(gòu)處理器的比較,通常是正確的。但在不同架構(gòu)處理器之間,不能簡單比較頻率。cpu時鐘頻率并不總是衡量性能的最佳方法。
在深度學(xué)習(xí)的情況下,cpu參與很少的計算:比如增加一些變量,評估一些布爾表達(dá)式,在gpu或程序內(nèi)進(jìn)行一些函數(shù)調(diào)用。所有這些都取決于cpu核心時鐘率。http://ryzw.51dzw.com
雖然這種推理似乎很明智,但是在運行深度學(xué)習(xí)程序時,cpu仍有100%的使用率,那么這里的問題是什么?tim做了一些cpu的降頻實驗來找出答案。
cpu降頻對性能的影響:請注意,這些實驗是在一些“上古”cpu(2012年推出的第三代酷睿處理器)上進(jìn)行的。但是對于近年推出的cpu應(yīng)該仍然適用。硬盤/固態(tài)硬盤(ssd)通常,硬盤不會限制深度學(xué)習(xí)任務(wù)的運行,但如果小看了硬盤的作用,可能會讓你追、悔、莫、及。
想象一下,如果你從硬盤中讀取的數(shù)據(jù)的速度只有100mb/s,那么加載一個32張imagenet圖片構(gòu)成的mini-batch,將耗時185毫秒。
相反,如果在使用數(shù)據(jù)前異步獲取數(shù)據(jù),將在185毫秒內(nèi)加載這些mini-batch的數(shù)據(jù),而imagenet上大多數(shù)神經(jīng)網(wǎng)絡(luò)的計算時間約為200毫秒。所以,在計算狀態(tài)時加載下一個mini-batch,性能將不會有任何損失。
tim小哥推薦的是固態(tài)硬盤(ssd),他認(rèn)為ssd在手,舒適度和效率皆有。和普通硬盤相比,ssd程序啟動和響應(yīng)速度更快,大文件的預(yù)處理更是要快得多。
頂配的體驗就是nvme ssd了,比一般ssd更流暢。電源裝置(psu)一個程序員對電源最基礎(chǔ)的期望,首先得是能滿足各種gpu所需能量吧。隨著gpu朝著更低能耗發(fā)展,一個質(zhì)量優(yōu)秀的psu能陪你走很久。
應(yīng)該怎么選?tim小哥有一套計算方法:將電腦cpu和gpu的功率相加,再額外加上10%的功率算作其他組件的耗能,就得到了功率的峰值。
舉個例子,如果你有4個gpu,每個功率為250瓦,還有一個功率為150瓦的cpu,則需電源提供4×250+150+100=1250瓦的電量。
tim通常會在此基礎(chǔ)上再額外添加10%確保萬無一失,那就總共需要1375瓦。所以這種情況下,電源性能需達(dá)1400瓦。
這樣手把手教學(xué),應(yīng)該不難理解了。還有一點得注意,即使一個psu達(dá)到了所需瓦數(shù),也可能沒有足夠的pcie 8-pin或6-pin的接頭,所以買的時候還要確保電源上有足夠多的接頭接gpu。另外,買一個能效等級高的電源,特別是當(dāng)你需要連很多gpu并且可能運行很長時間的時候,原因你懂的。
再舉個例子吧,如果以滿功率(1000-1500瓦)運行4 gpu系統(tǒng)、花兩周時間訓(xùn)練一個卷積神經(jīng)網(wǎng)絡(luò),需要耗用300-500度電。按德國每度0.2歐元計算,電費最終耗費約折合人民幣455-766元。
如果電源效率降到80%,電費將增加140-203元人民幣。
需要的gpu數(shù)量越多,拉開的差距越明顯。psu的挑選是不是比之前想象的復(fù)雜一點?cpu和gpu的冷卻對于產(chǎn)熱大戶cpu和gpu來說,散熱性不好會降低它們的性能。
對cpu來說,則標(biāo)配的散熱器,或者aio水冷散熱器都是不錯的選擇。
但gpu該用哪種散熱方案,卻是個復(fù)雜的事。
風(fēng)冷散熱
如果只有單個gpu,風(fēng)冷是安全可靠的,但若你gpu多達(dá)3-4個,靠空氣冷卻可能就不能滿足需求了。
目前的gpu會在運行算法時將速度提升到最大,所以功耗也達(dá)到最大值,一旦溫度超過80℃,很有可能降低速度,無法實現(xiàn)最佳性能。
對于深度學(xué)習(xí)任務(wù)來說這種現(xiàn)象更常見了,一般的散熱風(fēng)扇遠(yuǎn)達(dá)不到所需效果,運行幾秒鐘就達(dá)到溫度閾值了。如果是用多個gpu,性能可能會降低10%~25%。怎么辦?目前,英偉達(dá)gpu很多是針對游戲設(shè)計的,所以對于windows系統(tǒng)進(jìn)行了專門的優(yōu)化,也可以輕松設(shè)置風(fēng)扇方案。
但在linux系統(tǒng)中這招就不能用了,麻煩的是,很多深度學(xué)習(xí)庫也都是針對linux編寫的。
這是一個問題,但也不是無解。
在linux系統(tǒng)中,你可以進(jìn)行xorg服務(wù)器的配置,選擇“coolbits”選項,這對于單個gpu還是很奏效。
若你有多個gpu, 就必須模擬一個監(jiān)視器,tim小哥說自己嘗試了很長時間,但還是沒有什么改進(jìn)。
如果你想在空氣冷卻的環(huán)境中運行3-4個小時,則最應(yīng)該注意風(fēng)扇的設(shè)計。
目前市場上的散熱風(fēng)扇原理大致有兩種:鼓風(fēng)式的風(fēng)扇將熱空氣從機箱背面推出,讓涼空氣進(jìn)來;非鼓風(fēng)式的風(fēng)扇是在gpu中吸入空氣達(dá)到冷卻效果。所以,如果你有多個gpu彼此相鄰,那么周圍就沒有冷空氣可用了,所以這種情況,一定不要用非鼓風(fēng)式的散熱風(fēng)扇了。
那用什么?接著往下看——
水冷散熱雖然比風(fēng)冷法成本略高,但很適用于多個gpu相鄰的情況,它能hold住四個最強勁的gpu保持周身涼爽,是風(fēng)冷無法企及的效果。另外,水冷散熱可以更安靜地進(jìn)行,如果你在公共區(qū)域運行多個gpu,水冷的優(yōu)勢更為凸顯了。
至于大家最關(guān)心的成本問題,水冷單個gpu大概需要100美元(約690元人民幣)再加一些額外的前期成本(大約350元人民幣)。除了財力準(zhǔn)備,還需要你投入一些精力,比如額外花時間組裝計算機等。這類事情網(wǎng)上教程已經(jīng)很多了,只需要幾個小時搞定,后期的維護(hù)也不復(fù)雜。
結(jié)論
對于單個gpu,風(fēng)冷便宜也夠用;多個gpu情況下,鼓風(fēng)式的空氣冷卻比較便宜,可能會帶來10%~15%的性能損失。如果想追求散熱極致,水冷散熱安靜且效果最好。
所以,風(fēng)冷or水冷都合理,看你自己的實際情況和預(yù)算了。但小哥最后建議,通常情況下,還是考慮下低成本的風(fēng)冷吧。主板主板應(yīng)該有足夠的pcie插槽來支持所需的gpu數(shù)量。但需要注意的是,大多數(shù)顯卡寬度需要占用兩個pcie插槽。
如果打算使用多個gpu,就要購買pcie插槽之間有足夠空間的主板,確保顯卡之間不會相互遮擋。機箱選機箱的時候,必須保證機箱能裝下主板頂部的全長gpu,雖然大部分機箱是沒問題的,但是萬一你買小了,那就得看商家給不給你七天無理由了……
所以,買之前最好確認(rèn)一下機箱的尺寸規(guī)格,也可以搜一下機箱裝著gpu的圖,有別人的成品圖的話就能買得放心一些。
另外,如果你想用定制水冷的話,保證你的機箱能裝得下散熱器,尤其是給gpu用定制水冷的時候,每個gpu的散熱器都需要占空間。
顯示器
怎么配顯示器還用教?
必須得教。
tim放出了買家秀:是的,作為一個成熟的技術(shù)人員,用多臺顯示器是基本配置了。
想象一下把買家秀上這三臺顯示器上的內(nèi)容堆到同一塊屏幕里,來回切換窗口,這得多累人。太長不看版gpu:
rtx 2070、rtx 2080 ti、gtx 1070、gtx 1080、gtx 1080,這些都不錯。
cpu:
1.給每個gpu配1-2個cpu核心,具體要看你預(yù)處理數(shù)據(jù)的方式;
2.頻率要大于2ghz,cpu要能支持你的gpu數(shù)量;
3.pcie通道不重要。
內(nèi)存:
1.時鐘頻率無關(guān)緊要,內(nèi)存買最便宜的就行了;
2.內(nèi)存 ≥ 顯存最大的那塊gpu的ram;
3.內(nèi)存不用太大,用多少買多少;
4.如果你經(jīng)常用大型數(shù)據(jù)集,買更多內(nèi)存會很有用。
硬盤/ssd:
1.給你的數(shù)據(jù)集準(zhǔn)備足夠大的硬盤(≥3tb);
2.有ssd會用的舒坦一些,還能預(yù)處理小型數(shù)據(jù)集。
psu:
1.需要的功率最大值≈(cpu功率+gpu功率)×110%;
2.買一個高能效等級的電源,特別是當(dāng)你需要連很多gpu并且可能運行很長時間的時,這樣可以節(jié)省很多電費;
3.買之前請確保電源上有足夠多的接頭(pcie 8-pin或6-pin)接gpu。
散熱:
cpu:
標(biāo)準(zhǔn)配置的cpu散熱器或者aio水冷散熱器;
gpu:
1.單個gpu,風(fēng)冷散熱即可;
2.若用多個gpu,選擇鼓風(fēng)式風(fēng)冷散熱或水冷散熱。
主板:
準(zhǔn)備盡可能多的鏈接gpu的pcle插槽,一個gpu需要兩個插槽,每個系統(tǒng)最多4個gpu,不過你也要考慮gpu的厚度。
顯示器:
為了提高效率,多買幾塊屏幕吧。發(fā)了三篇頂會的博士在讀小哥哥這篇指南的作者tim dettmers去年碩士畢業(yè),目前在華盛頓大學(xué)讀博,主要研究知識表達(dá)、問答系統(tǒng)和常識推理,曾在ucl機器學(xué)習(xí)組和微軟實習(xí)。按照去年畢業(yè)開始讀博的話,tim的博士才讀了一年半,現(xiàn)在就已經(jīng)是三篇頂會論文的作者了,其中還有一篇aaai是一作,一篇iclr是唯一作者。
另外,他還是一個刷kaggle愛好者,曾經(jīng)在2013年排到全球第63名(前0.22%)。one more thing其實說了這么多,你也不想裝機對不對?
tim已然料到,所以,在裝機指南之外,他還主動奉獻(xiàn)了一些裝機鼓勵:
雖然買硬件很貴,一不小心搞錯會肉疼,但是不要怕裝電腦這件事。
其一,裝機本身很簡單,主板手冊里都把如何裝機寫的明明白白,比裝樂高難不了多少,還附帶了大量的指南和分步操作視頻,就算你是0經(jīng)驗小白也能學(xué)得會。
其二,裝機這件事,只要有第一次,后面就不難了,因為所有的計算機都是那幾個硬件構(gòu)成的。所以,只要裝一次,就可以get一門終身技能,投資回報率非常高。http://ryzw.51dzw.com
硬件設(shè)備,是任何一名深度學(xué)習(xí)er不可或缺的核心裝備。各位初級調(diào)參魔法師們,你們有沒有感到缺少那一根命中注定的魔杖?從gpu開始,依次看看各重要部件應(yīng)該如何選擇。文章出自:原創(chuàng) 量子位
熱門點擊
- 新智能物聯(lián)時代
- 2019年最新人工智能科技趨勢
- 生物特征識別技術(shù)特點與應(yīng)用
- 5G技術(shù)規(guī)劃設(shè)計發(fā)展
- 未來AI新一代最新發(fā)展
- AMD 2019驅(qū)動體驗
- 硬件最新推薦
- 電子元器件MOSFET
- 新一代人工智能2.0版本
- 新型創(chuàng)新傳感器技術(shù)集成和融合
推薦電子資訊
- Chrome 31:iOS版發(fā)布
- iOS版Chrome 31主要更新: “Au... [詳細(xì)]
- 可編程數(shù)字信號處理器 (DSP) 信號應(yīng)用參數(shù)
- 新一代集成NPU加速微控制器應(yīng)用前景分析
- STM32微控制器 (MCU)技術(shù)結(jié)構(gòu)參數(shù)應(yīng)用研究
- 高精度全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)
- i.MX 94系列處理器技術(shù)結(jié)構(gòu)參數(shù)應(yīng)用
- 全新的24位寬通道LPDDR6標(biāo)準(zhǔn)解析
- WAPI屢遭排斥利益不相關(guān)注定的尷尬
- WAPI技術(shù)拖后腿英雄氣短
- 外資發(fā)展趨勢及對我國電子信息產(chǎn)業(yè)的影響
- 彩電:能否憑“芯”論英雄?
- 透析AMD再度大降價明星產(chǎn)品
- 新華網(wǎng):真假雙核芯片之爭爭什么