1
雷鋒網(wǎng) AI科技評(píng)論按,對(duì)于那些一直想進(jìn)行深度學(xué)習(xí)研究的同學(xué)來(lái)說(shuō),如何選擇合適的配置一直是個(gè)比較糾結(jié)的問(wèn)題,既要考慮到使用的場(chǎng)景,又要考慮到價(jià)格等各方面因素,日前,medium上的一篇文章為我們?cè)敿?xì)描述了該如何為個(gè)人的深度學(xué)習(xí)機(jī)器選擇配置,主要該進(jìn)行哪些方面的考慮。雷鋒網(wǎng) AI科技評(píng)論編譯整理如下:
作為一名業(yè)余愛(ài)好者,在探索和解決深度學(xué)習(xí)問(wèn)題時(shí),亞馬遜 EC2 實(shí)例的運(yùn)行成本太高了。在一開(kāi)始,我采用的是 Reserved 實(shí)例收費(fèi)模式,因?yàn)槲覍?duì)云生態(tài)系統(tǒng)不是很懂。后來(lái),在運(yùn)行結(jié)構(gòu)良好的實(shí)驗(yàn)時(shí),Spot 實(shí)例也成了我的選擇之一。但用這種方法去啟動(dòng)和執(zhí)行實(shí)驗(yàn)往往會(huì)碰到問(wèn)題,我主要會(huì)在為備份和恢復(fù)數(shù)據(jù)/進(jìn)程設(shè)置環(huán)境時(shí)碰到問(wèn)題。很感謝 Alex Ramos 和 Slav Ivanov 提供的 Classic 和 24X7 版本的 EC2 Spotter 工具,這在使用 spot 實(shí)例時(shí)很有用。(如果你仍然使用 Spot 實(shí)例的話可以試試他們的提供的工具)
在使用亞馬遜 EC2 實(shí)例大約6個(gè)月后,我意識(shí)到,長(zhǎng)遠(yuǎn)來(lái)看,還是買(mǎi)一個(gè)屬于自己的機(jī)器會(huì)更加便宜。買(mǎi)機(jī)器之后,我可以更好地控制實(shí)驗(yàn),并且可能會(huì)取得比在云端更好的效果。在互聯(lián)網(wǎng)上進(jìn)行詳盡的調(diào)查之后,我下定決心買(mǎi)屬于自己的機(jī)器,然后我開(kāi)始研究如何為本地深度學(xué)習(xí)來(lái)選擇組件。
如何選擇深度學(xué)習(xí)的組件?這真的很困擾那些剛開(kāi)始實(shí)驗(yàn)的新手。這要求用戶擁有一些關(guān)于構(gòu)建系統(tǒng)的基本知識(shí),以保證較高的性價(jià)比。
這篇文章試圖幫助剛開(kāi)始進(jìn)行深度學(xué)習(xí)的讀者選擇機(jī)器配置,在選擇產(chǎn)品之前幫助他們了解更多參數(shù)。
開(kāi)始
首先,你必須定下你最大需要多少塊GPU,如果你經(jīng)常進(jìn)行機(jī)器學(xué)習(xí)研究,那你可能需要更多 GPU,這可以幫助你并行運(yùn)行多個(gè)任務(wù),你可以同時(shí)嘗試不同的模型結(jié)構(gòu)、數(shù)據(jù)規(guī)范化、超參數(shù)等等。
我的建議:如果你是一個(gè)普通研究員/學(xué)生/業(yè)余愛(ài)好者,可以考慮雙 GPU。如果你打算運(yùn)行大型的模型,并參加像 ImageNet 那樣需要大量計(jì)算的競(jìng)賽,你可能需要考慮多 GPU 結(jié)構(gòu)。
一旦你想清楚自己想要進(jìn)行哪種研究,接下來(lái)就可以考慮需要的 PCIe 通道數(shù)了。
雙 GPU(最多兩塊GPU):24條 PCIe 通道(當(dāng)使用共享 PCle 通道的 SSD 或同時(shí)使用兩塊 GPU 時(shí),可能會(huì)出現(xiàn)延遲)
多 GPU (最多4 塊 GPU): 40到44條 PCIe 通道
為什么首先考慮 PCIe 通道?
實(shí)際情況下,在對(duì)磁盤(pán)進(jìn)行訪問(wèn)操作或數(shù)據(jù)增加時(shí),數(shù)據(jù)流到GPU上會(huì)出現(xiàn)瓶頸。一塊 GPU 需要16條 PCIe 通道才能滿負(fù)荷運(yùn)轉(zhuǎn)。
這篇文章將著重為大家介紹雙 GPU 系統(tǒng),下次我也將帶來(lái)多 GPU 系統(tǒng)的介紹。
雙 GPU
1)主板
一旦確定了 PCIe 通道的需求,接下來(lái)就可以挑選主板芯片組了:
下表給出了在不同芯片組下可用 PCIe 通道的個(gè)數(shù):

注:理想情況下,單個(gè) GPU 發(fā)揮最優(yōu)性能需要16個(gè) PCIe 通道。
因此,即使 B150、B250、H110、H170、H270 這樣的芯片組支持英特爾處理器,它們也很少用于深度學(xué)習(xí),因?yàn)閷?duì)于深度學(xué)習(xí)應(yīng)用來(lái)說(shuō),需要更多的 PCIe 通道數(shù)。因此,首選芯片組如下:
Z170?—?支持第6/7代英特爾處理器。使用第7代可能需要BIOS更新。
Z270?—?支持第6/7代英特爾處理器。
(最新的) Z370?—?支持第8代英特爾處理器。
一旦你決定了芯片組,可以利用 PC Partpicker 來(lái)選擇主板,下面是鏈接:
https://pcpartpicker.com/products/motherboard/
你需要注意的有:
外形規(guī)格(例如ATX,微型ATX,EATX等)
PCIe slot 數(shù)(最小2個(gè) slot)
最大支持內(nèi)存(首選 64GB)
內(nèi)存 slot 數(shù)(最小4個(gè) slot)
SSD 和 SATA slot 數(shù)(你可以考慮一下)
2)處理器
選擇主板之后,因?yàn)橛?socket 類型等的限制,處理器的選擇范圍就縮小了,CPU 的選擇可能會(huì)進(jìn)一步依賴于 GPU。正如前面提到的,對(duì)于深度學(xué)習(xí)應(yīng)用來(lái)說(shuō),CPU 主要負(fù)責(zé)數(shù)據(jù)處理和與 GPU 的通信。因此,如果我們想在數(shù)據(jù)預(yù)處理中進(jìn)行并行計(jì)算,那每個(gè)核的核數(shù)和線程數(shù)將至關(guān)重要。建議大家選擇多核系統(tǒng)(最好是4核)來(lái)處理這些任務(wù)。
需要注意的有:
Socket 類型
核數(shù)量
費(fèi)用
PS:一些處理器中可能不帶散熱風(fēng)扇。
下面是用 PC Partpicker 選擇處理器的地址:
https://pcpartpicker.com/products/cpu/#m=21
內(nèi)存

當(dāng)處理大數(shù)據(jù)集時(shí),它們可能需要存儲(chǔ)于內(nèi)存中。RAM 的大小決定了內(nèi)存中可以容納的數(shù)據(jù)集的量。對(duì)于深度學(xué)習(xí)應(yīng)用來(lái)說(shuō),至少選擇 16G 的內(nèi)存(Jeremy Howard 建議選擇 32G 的內(nèi)存)。Clock 越高越好,建議大家最小選擇 2400 MHZ的。
要記住,讓單個(gè) stick 的內(nèi)存更大!因?yàn)檫@可以使得剩余 slot 的擴(kuò)展空間更大。我看到很多人用4*8GB的內(nèi)存取代2*16GB的內(nèi)存,僅僅只是因?yàn)檫@樣價(jià)格比較便宜,但最后會(huì)導(dǎo)致沒(méi)有升級(jí)空間。
存儲(chǔ)器
SSD變得越來(lái)越便宜,速度也更快了,所以HDD的價(jià)格也在持續(xù)下降。

最好有一個(gè)小容量的SSD和一個(gè)大容量的HHD。SSD傾向于存儲(chǔ)和檢索被經(jīng)常使用的數(shù)據(jù)。HDD則主要用來(lái)存儲(chǔ)將來(lái)會(huì)使用的數(shù)據(jù)。
SSD?——存儲(chǔ)使用中的數(shù)據(jù),價(jià)格昂貴,推薦最小買(mǎi) 128GB 的
HDD?——存儲(chǔ)各種用戶數(shù)據(jù),價(jià)格相對(duì)來(lái)說(shuō)會(huì)便宜一點(diǎn),推薦最小買(mǎi) 2TB,7200RPM 的
GPU
GPU 是配置用于深度學(xué)習(xí)的機(jī)器的核心,它們決定了在訓(xùn)練神經(jīng)網(wǎng)絡(luò)過(guò)程中獲得的性能增益。深度學(xué)習(xí)中涉及的大部分計(jì)算都是矩陣運(yùn)算,所以在相同的并行模式下,GPU 的表現(xiàn)勝過(guò)傳統(tǒng) CPU。GPU 內(nèi)部有很多叫核的小型計(jì)算單元,單元中的線程能保證矩陣運(yùn)算更加快速。GPU 的內(nèi)存帶寬也可以使得它支持對(duì)大量數(shù)據(jù)進(jìn)行操作。
Tim Dettmers之前寫(xiě)過(guò)一篇關(guān)于如何選擇用于深度學(xué)習(xí)的 GPU 的文章,這篇文章很有代表性,一旦有了新卡他也會(huì)更新,在選擇 GPU 之前大家可以看下他的這篇文章。鏈接如下:
http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/
下面是他關(guān)于 GPU 選擇的建議:
最佳 GPU 選擇:Titan Xp
高效但昂貴:GTX 1080 Ti, GTX 1070, GTX 1080
高效且便宜:GTX 1060 (6GB)
要是處理的數(shù)據(jù)集在 250 GB 以上,那么你的選擇最好是 GTX Titan X (Maxwell)、 NVIDIA Titan X Pascal 或 NVIDIA Titan Xp
要是資金不足,那就選擇 GTX 1060 (6GB)
完全沒(méi)錢(qián):GTX 1050 Ti (4GB)
參加kaggle比賽:常規(guī)比賽選擇 GTX 1060 (6GB),深度學(xué)習(xí)類型的比賽,選擇GTX 1080 Ti
經(jīng)常參加比賽的計(jì)算機(jī)視覺(jué)研究人員:NVIDIA Titan Xp,不需要升級(jí)現(xiàn)有的 Titan X (Pascal 或 Maxwell)
研究人員:GTX 1080 Ti。在進(jìn)行類似于自然語(yǔ)言處理的任務(wù)時(shí),也可以選擇 GTX 1070 或 GTX 1080,大家可以檢查下當(dāng)前模型的內(nèi)存需求如何。
想要構(gòu)造 GPU 集群:這有點(diǎn)復(fù)雜,你可以點(diǎn)擊如下鏈接參考
http://timdettmers.com/2014/09/21/how-to-build-and-use-a-multi-gpu-system-for-deep-learning/
剛剛開(kāi)始想要認(rèn)真進(jìn)行深度學(xué)習(xí)的研究:GTX 1060 (6GB)。根據(jù)你接下來(lái)選擇的領(lǐng)域(初創(chuàng)公司,Kaggle,研究,深度學(xué)習(xí)應(yīng)用),賣掉之前的 GTX 1060,然后購(gòu)買(mǎi)更合適的。
抱著試一試的心態(tài)來(lái)進(jìn)行深度學(xué)習(xí)研究:GTX 1050 Ti (4或2GB)
如果預(yù)算有限,強(qiáng)烈推薦初學(xué)者買(mǎi) 1060 6GB 的 GPU,新舊都可以。如果預(yù)算可以增加一點(diǎn),那么建議買(mǎi)最近發(fā)布的 1070ti (大約430美元),它與 1080 的性能幾乎一樣,但價(jià)格較低(幾乎與 1070 相同)。不要去買(mǎi) 1070,除非你有站得住腳的理由。如果你有足夠的錢(qián),那就買(mǎi) 1080ti。
再啰嗦一遍,如果你真的很熱衷于進(jìn)行研究,那么最好買(mǎi)2塊 1070ti,而不是1塊 1080ti,這將會(huì)給你帶來(lái)極大的靈活性。
via:medium
雷鋒網(wǎng) AI 科技評(píng)論編譯整理。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。