您的位置:首頁>正文

為個人深度學習機器選擇合適的配置

雷鋒網 AI科技評論按, 對於那些一直想進行深度學習研究的同學來說, 如何選擇合適的配置一直是個比較糾結的問題, 既要考慮到使用的場景, 又要考慮到價格等各方面因素, 日前, medium上的一篇文章為我們詳細描述了該如何為個人的深度學習機器選擇配置, 主要該進行哪些方面的考慮。 雷鋒網 AI科技評論編譯整理如下:

作為一名業餘愛好者, 在探索和解決深度學習問題時, 亞馬遜 EC2 實例的運行成本太高了。 在一開始, 我採用的是 Reserved 實例收費模式, 因為我對雲生態系統不是很懂。 後來, 在運行結構良好的實驗時,

Spot 實例也成了我的選擇之一。 但用這種方法去啟動和執行實驗往往會碰到問題, 我主要會在為備份和恢復資料/進程設置環境時碰到問題。 很感謝 Alex Ramos 和 Slav Ivanov 提供的 Classic和24X7版本的 EC2 Spotter 工具, 這在使用 spot 實例時很有用。 (如果你仍然使用 Spot 實例的話可以試試他們的提供的工具)

在使用亞馬遜 EC2 實例大約6個月後, 我意識到, 長遠來看, 還是買一個屬於自己的機器會更加便宜。 買機器之後, 我可以更好地控制實驗, 並且可能會取得比在雲端更好的效果。 在互聯網上進行詳盡的調查之後, 我下定決心買屬於自己的機器, 然後我開始研究如何為本地深度學習來選擇組件。

如何選擇深度學習的組件?這真的很困擾那些剛開始實驗的新手。

這要求使用者擁有一些關於構建系統的基本知識, 以保證較高的性價比。

這篇文章試圖幫助剛開始進行深度學習的讀者選擇機器配置, 在選擇產品之前説明他們瞭解更多參數。

開始

首先, 你必須定下你最大需要多少塊GPU, 如果你經常進行機器學習研究, 那你可能需要更多 GPU, 這可以幫助你並行運行多個任務, 你可以同時嘗試不同的模型結構、資料規範化、超參數等等。

我的建議:如果你是一個普通研究員/學生/業餘愛好者, 可以考慮雙 GPU。 如果你打算運行大型的模型, 並參加像 ImageNet 那樣需要大量計算的競賽, 你可能需要考慮多 GPU 結構。

一旦你想清楚自己想要進行哪種研究, 接下來就可以考慮需要的 PCIe 通道數了。

雙 GPU(最多兩塊GPU):24條 PCIe 通道(當使用共用 PCle 通道的 SSD 或同時使用兩塊 GPU 時,

可能會出現延遲)

多 GPU (最多4 塊 GPU): 40到44條 PCIe 通道

為什麼首先考慮 PCIe 通道?

實際情況下, 在對磁片進行訪問操作或資料增加時, 資料流程到GPU上會出現瓶頸。 一塊 GPU 需要16條 PCIe 通道才能滿負荷運轉。

這篇文章將著重為大家介紹雙 GPU 系統, 下次我也將帶來多 GPU 系統的介紹。

雙 GPU

1)主機板

一旦確定了 PCIe 通道的需求, 接下來就可以挑選主機板晶片組了:

下表給出了在不同晶片組下可用 PCIe 通道的個數:

注:理想情況下, 單個 GPU 發揮最優性能需要16個 PCIe 通道。

因此, 即使 B150、B250、H110、H170、H270 這樣的晶片組支援英特爾處理器, 它們也很少用於深度學習, 因為對於深度學習應用來說, 需要更多的 PCIe 通道數。 因此, 首選晶片組如下:

Z170 — 支援第6/7代英特爾處理器。 使用第7代可能需要BIOS更新。

Z270 — 支援第6/7代英特爾處理器。

(最新的) Z370 — 支援第8代英特爾處理器。

一旦你決定了晶片組, 可以利用 PC Partpicker 來選擇主機板, 下面是連結:

https://pcpartpicker.com/products/motherboard/

你需要注意的有:

外形規格(例如ATX, 微型ATX, EATX等)

PCIe slot 數(最小2個 slot)

最大支援記憶體(首選 64GB)

記憶體 slot 數(最小4個 slot)

SSD 和 SATA slot 數(你可以考慮一下)

2)處理器

選擇主機板之後, 因為有 socket 類型等的限制, 處理器的選擇範圍就縮小了, CPU 的選擇可能會進一步依賴於 GPU。 正如前面提到的, 對於深度學習應用來說, CPU 主要負責資料處理和與 GPU 的通信。 因此, 如果我們想在資料預處理中進行平行計算, 那每個核的核數和執行緒數將至關重要。 建議大家選擇多核系統(最好是4核)來處理這些任務。

需要注意的有:

Socket 類型

核數量

費用

PS:一些處理器中可能不帶散熱風扇。

下面是用 PC Partpicker 選擇處理器的位址:

https://pcpartpicker.com/products/cpu/#m=21

記憶體

當處理大資料集時,它們可能需要存儲於記憶體中。RAM 的大小決定了記憶體中可以容納的資料集的量。對於深度學習應用來說,至少選擇 16G 的記憶體(Jeremy Howard 建議選擇 32G 的記憶體)。Clock 越高越好,建議大家最小選擇 2400 MHZ的。

要記住,讓單個 stick 的記憶體更大!因為這可以使得剩餘 slot 的擴展空間更大。我看到很多人用4*8GB的記憶體取代2*16GB的記憶體,僅僅只是因為這樣價格比較便宜,但最後會導致沒有升級空間。

記憶體

SSD變得越來越便宜,速度也更快了,所以HDD的價格也在持續下降。

最好有一個小容量的SSD和一個大容量的HHD。SSD傾向於存儲和檢索被經常使用的資料。HDD則主要用來存儲將來會使用的資料。

SSD ——存儲使用中的資料,價格昂貴,推薦最小買 128GB 的

HDD ——存儲各種使用者資料,價格相對來說會便宜一點,推薦最小買 2TB,7200RPM 的

GPU

GPU 是配置用於深度學習的機器的核心,它們決定了在訓練神經網路過程中獲得的性能增益。深度學習中涉及的大部分計算都是矩陣運算,所以在相同的並行模式下,GPU 的表現勝過傳統 CPU。GPU 內部有很多叫核的小型計算單元,單元中的執行緒能保證矩陣運算更加快速。GPU 的記憶體頻寬也可以使得它支援對大量資料進行操作。

Tim Dettmers之前寫過一篇關於如何選擇用於深度學習的 GPU 的文章,這篇文章很有代表性,一旦有了新卡他也會更新,在選擇 GPU 之前大家可以看下他的這篇文章。連結如下:

http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/

下面是他關於 GPU 選擇的建議:

最佳 GPU 選擇:Titan Xp

高效但昂貴:GTX 1080 Ti, GTX 1070, GTX 1080

高效且便宜:GTX 1060 (6GB)

要是處理的資料集在 250 GB 以上,那麼你的選擇最好是 GTX Titan X (Maxwell)、 NVIDIA Titan X Pascal 或 NVIDIA Titan Xp

要是資金不足,那就選擇 GTX 1060 (6GB)

完全沒錢:GTX 1050 Ti (4GB)

參加kaggle比賽:常規比賽選擇 GTX 1060 (6GB),深度學習類型的比賽,選擇GTX 1080 Ti

經常參加比賽的電腦視覺研究人員:NVIDIA Titan Xp,不需要升級現有的 Titan X (Pascal 或 Maxwell)

研究人員:GTX 1080 Ti。在進行類似于自然語言處理的任務時,也可以選擇 GTX 1070 或 GTX 1080,大家可以檢查下當前模型的記憶體需求如何。

想要構造 GPU 集群:這有點複雜,你可以點擊如下連結參考

http://timdettmers.com/2014/09/21/how-to-build-and-use-a-multi-gpu-system-for-deep-learning/

抱著試一試的心態來進行深度學習研究:GTX 1050 Ti (4或2GB)

如果預算有限,強烈推薦初學者買 1060 6GB 的 GPU,新舊都可以。如果預算可以增加一點,那麼建議買最近發佈的 1070ti (大約430美元),它與 1080 的性能幾乎一樣,但價格較低(幾乎與 1070 相同)。不要去買 1070,除非你有站得住腳的理由。如果你有足夠的錢,那就買 1080ti。

再囉嗦一遍,如果你真的很熱衷於進行研究,那麼最好買2塊 1070ti,而不是1塊 1080ti,這將會給你帶來極大的靈活性。

via:medium

雷鋒網 AI 科技評論編譯整理。

當處理大資料集時,它們可能需要存儲於記憶體中。RAM 的大小決定了記憶體中可以容納的資料集的量。對於深度學習應用來說,至少選擇 16G 的記憶體(Jeremy Howard 建議選擇 32G 的記憶體)。Clock 越高越好,建議大家最小選擇 2400 MHZ的。

要記住,讓單個 stick 的記憶體更大!因為這可以使得剩餘 slot 的擴展空間更大。我看到很多人用4*8GB的記憶體取代2*16GB的記憶體,僅僅只是因為這樣價格比較便宜,但最後會導致沒有升級空間。

記憶體

SSD變得越來越便宜,速度也更快了,所以HDD的價格也在持續下降。

最好有一個小容量的SSD和一個大容量的HHD。SSD傾向於存儲和檢索被經常使用的資料。HDD則主要用來存儲將來會使用的資料。

SSD ——存儲使用中的資料,價格昂貴,推薦最小買 128GB 的

HDD ——存儲各種使用者資料,價格相對來說會便宜一點,推薦最小買 2TB,7200RPM 的

GPU

GPU 是配置用於深度學習的機器的核心,它們決定了在訓練神經網路過程中獲得的性能增益。深度學習中涉及的大部分計算都是矩陣運算,所以在相同的並行模式下,GPU 的表現勝過傳統 CPU。GPU 內部有很多叫核的小型計算單元,單元中的執行緒能保證矩陣運算更加快速。GPU 的記憶體頻寬也可以使得它支援對大量資料進行操作。

Tim Dettmers之前寫過一篇關於如何選擇用於深度學習的 GPU 的文章,這篇文章很有代表性,一旦有了新卡他也會更新,在選擇 GPU 之前大家可以看下他的這篇文章。連結如下:

http://timdettmers.com/2017/04/09/which-gpu-for-deep-learning/

下面是他關於 GPU 選擇的建議:

最佳 GPU 選擇:Titan Xp

高效但昂貴:GTX 1080 Ti, GTX 1070, GTX 1080

高效且便宜:GTX 1060 (6GB)

要是處理的資料集在 250 GB 以上,那麼你的選擇最好是 GTX Titan X (Maxwell)、 NVIDIA Titan X Pascal 或 NVIDIA Titan Xp

要是資金不足,那就選擇 GTX 1060 (6GB)

完全沒錢:GTX 1050 Ti (4GB)

參加kaggle比賽:常規比賽選擇 GTX 1060 (6GB),深度學習類型的比賽,選擇GTX 1080 Ti

經常參加比賽的電腦視覺研究人員:NVIDIA Titan Xp,不需要升級現有的 Titan X (Pascal 或 Maxwell)

研究人員:GTX 1080 Ti。在進行類似于自然語言處理的任務時,也可以選擇 GTX 1070 或 GTX 1080,大家可以檢查下當前模型的記憶體需求如何。

想要構造 GPU 集群:這有點複雜,你可以點擊如下連結參考

http://timdettmers.com/2014/09/21/how-to-build-and-use-a-multi-gpu-system-for-deep-learning/

抱著試一試的心態來進行深度學習研究:GTX 1050 Ti (4或2GB)

如果預算有限,強烈推薦初學者買 1060 6GB 的 GPU,新舊都可以。如果預算可以增加一點,那麼建議買最近發佈的 1070ti (大約430美元),它與 1080 的性能幾乎一樣,但價格較低(幾乎與 1070 相同)。不要去買 1070,除非你有站得住腳的理由。如果你有足夠的錢,那就買 1080ti。

再囉嗦一遍,如果你真的很熱衷於進行研究,那麼最好買2塊 1070ti,而不是1塊 1080ti,這將會給你帶來極大的靈活性。

via:medium

雷鋒網 AI 科技評論編譯整理。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示