教你如何挑選深度學習GPU

2021-09-01 12:42:40 字數 4439 閱讀 5227

即將進入 2018 年,隨著硬體的更新換代,越來越多的機器學習從業者又開始面臨選擇 gpu 的難題。正如我們所知,機器學習的成功與否很大程度上取決於硬體的承載能力。在今年 5 月,我在組裝自己的深度學習機器時對市面上的所有 gpu 進行了評測。而在本文中,我們將更加深入地**:

gpu + 深度學習

深度學習(dl)是機器學習(ml)的乙個分支。深度學習使用神經網路來解決問題。神經網路的優點之一是自行尋找資料(特徵)模式。這和以前告訴演算法需要找什麼不一樣。但是,通常這意味著該模型從空白狀態開始(除非使用遷移學習)。為了從頭捕捉資料的本質/模式,神經網路需要處理大量資訊。通常有兩種處理方式:使用 cpu 或 gpu。

計算機的主要計算模組是**處理器(cpu),cpu 的設計目的是在少量資料上執行快速計算。在 cpu 上新增數倍的數字非常快,但是在大量資料上進行計算就會很慢。如,幾

十、幾百或幾千次矩陣乘法。在表象背後,深度學習多由矩陣乘法之類的操作組成。

有趣的是,3d 電子遊戲同樣依賴這些操作來渲染那些美麗的風景。因此,gpu 的作用被開發出來,它們可以使用數千個核心處理大量平行計算。此外,它們還有大量記憶體頻寬處理資料。這使得 gpu 成為進行 dl 的完美硬體。至少,在用於機器學習的 asic 如谷歌的 tpu 投入市場之前,我們還沒有其他更好的選擇。

總之,儘管使用 cpu 進行深度學習從技術上是可行的,想獲得真實的結果你就應該使用 gpu。

對我來說,選擇乙個強大的圖形處理器最重要的理由是節省時間和開發原型模型。網路訓練速度加快,反饋時間就會縮短。這樣我就可以更輕鬆地將模型假設和結果之間建立聯絡。

選擇 gpu 的時候,我們在選擇什麼?

常見問題

多 gpu(sli/交火)

選擇多 gpu 有兩個理由:需要並行訓練多個模型,或者對單個模型進行分布式訓練。

並行訓練多個模型是一種測試不同原型和超引數的技術,可縮短反饋週期,你可以同時進行多項嘗試。

分布式訓練,或在多個顯示卡上訓練單個模型的效率較低,但這種方式確實越來越受人們的歡迎。現在,使用 tensorflow、keras(通過 horovod)、cntk 和 pytorch 可以讓我們輕易地做到分布式訓練。這些分布式訓練庫幾乎都可以隨 gpu 數量達成線性的效能提公升。例如,使用兩個 gpu 可以獲得 1.8 倍的訓練速度。

pcie 通道:使用多顯示卡時需要注意,必須具備將資料饋送到顯示卡的能力。為此,每乙個 gpu 必須有 16 個 pcie 通道用於資料傳輸。tim dettmers 指出,使用兩個有 8 個 pcie 通道的 gpu,效能應該僅降低「0—10%」。

對於單個 gpu 而言,任何桌面級處理器和晶元組如 intel i5 7500 和 asus tuf z270 需要使用 16 個通道。

然而,對於雙 gpu,你可以使用 8x/8x 通道,或者使用乙個處理器和支援 32pcie 通道的主機板。32 個通道超出了桌面級 cpu 的處理能力。使用 intel xeon 組合 msi—x99a sli plus 是可行的方案。

對於 3 個或 4 個 gpu,每個 gpu 可使用 8x 通道,組合支援 24 到 32 個 pcie 通道的 xeon。

如果需要使用 3 到 4 個有 16 個 pcie 通道的 gpu,你得有乙個怪獸級處理器。例如 amd threadripper(64 個通道)和相應的主機板。

總之,gpu 越多,需要越快的處理器,還需要有更快的資料讀取能力的硬碟。

英偉達還是 amd

英偉達已經關注深度學習有一段時間,並取得了領先優勢。他們的 cuda 工具包具備紮實的技術水平,可用於所有主要的深度學習框架——tensorflow、pytorch、caffe、cntk 等。但截至目前,這些框架都不能在 opencl(執行於 amd gpu)上工作。由於市面上的 amd gpu 便宜得多,我希望這些框架對 opencl 的支援能盡快實現。而且,一些 amd 卡還支援半精度計算,從而能將效能和視訊記憶體大小加倍。

今年夏天,amd 還發布了 rocm 平台提供深度學習支援,它同樣適用於主流深度學習庫(如 pytorch、tensorflow、mxnet 和 cntk)。目前,rocm 仍然在不斷開發中。

然而目前而言,如果想做深度學習的話,還是選擇英偉達吧。

其它硬體

你的 gpu 還需要以下這些硬體才能正常執行:

主機板:資料需要通過主機板傳輸到 gpu 上。單顯示卡可以使用幾乎任何晶元組都可以使用。

電源:一般來說我們需要為 cpu 和 gpu 提供足夠的電源,至少需要超過額定功率 100 瓦。

我們總體上需要 500 到 1000 美元來獲得以上裝置,當然如果買乙個二手工作站會更加省錢。

gpu 效能對比(2017 年 11 月)

下面是截止目前英偉達產品線主要 gpu 的效能對比,每個 gpu 的 ram 或記憶體頻寬等資訊都展示在圖表中。注意 titan xp 和 gtx 1080 ti 儘管**相差非常多,但它們的效能卻非常相近。

**對比表明 gtx 1080 ti、gtx 1070 和 gtx 1060 的價效比較高。所有gpu都是幾乎相同的比值,除了 titan xp。

引數:titan xp 是目前英偉達消費級顯示卡的旗艦產品,正如效能指標所述,12gb 的記憶體宣示著它並不是為大多數人準備的,只有當你知道為什麼需要它的時候,它才會位列推薦列表。

一塊 titan xp 的**可以讓你買到兩塊 gtx 1080,而那意味著強大的算力和 16gb 的視訊記憶體。

gtx 1080 ti

引數:這塊顯示卡正是我目前正在使用的型號,它是乙個完美的高階選項,擁有大容量視訊記憶體和高吞吐量,物有所值。

如果資金允許,它是乙個很好的選擇。gtx 1080 ti 可以讓你完成計算機視覺任務,並在 kaggle 競賽中保持強勢。

gtx 1080

引數:作為目前英偉達產品線裡的中高階顯示卡,gtx 1080 的官方**從 1080 ti 的 700 美元降到了 550 美元。8 gb 的記憶體對於計算機視覺任務來說夠用了。大多數 kaggle 上的人都在使用這款顯示卡。

gtx 1070 ti

引數:11 月 2 日推出的 gtx 1070 ti 是英偉達產品線上最新的顯示卡。如果你覺得 gtx 1080 超出了預算,1070 ti 可以為你提供同樣大的 8 gb 視訊記憶體,以及大約 80% 的效能,**也打了八折,看起來不錯。

gtx 1070

引數:現在很難買到這款 gpu 了,因為它們主要用於虛擬貨幣挖礦。它的視訊記憶體配得上這個價位,就是速度有些慢。如果你能用較便宜的**買到一兩個二手的,那就下手吧。

gtx 1060(6 gb 版本)

引數:相對來說比較便宜,但是 6 gb 視訊記憶體對於深度學習任務可能不夠用。如果你要做計算機視覺,那麼這可能是最低配置。如果做 nlp 和分類資料模型,這款還可以。

gtx 1050 ti

引數:這是一款入門級 gpu。如果你不確定是否要做深度學習,那麼選擇這款不用花費太多錢就可以體驗一下。

值得注意的問題

上代旗艦 titan x pascal 曾是英偉達最好的消費級 gpu 產品,而 gtx 1080 ti 的出現淘汰了 titan x pascal,前者與後者有同樣的引數,但 1080 ti 便宜了 40%。

英偉達還擁有乙個面向專業市場的 tesla gpu 產品線,其中包括 k40、k80、p100 和其他型號。雖然你或許很少能夠接觸到,但你可能已經通過 amazon web services、谷歌雲平台或其他雲**商在使用這些 gpu 了。

我在之前的文章中對 gtx 1080 ti 和 k40 進行了一些基準測試。1080 的速度是 k40 的 5 倍,是 k80 的 2.5 倍。k40 有 12 gb 視訊記憶體,k80 有 24 gb 的視訊記憶體。

理論上,p100 和 gtx 1080 ti 應該效能差不多。但是,之前的對比(發現 p100 在每個基準中都比較落後。

k40 售價超過了 13,000元,k80 售價超過 20,000 元,p100 售價約 30,000 元。它們的市場正被英偉達自家的桌面級 gpu 無情吞噬。顯然,按照現在的情況,我不推薦你去購買它們。

一句話推薦

如果你不設定自己的預算,裝配電腦就成了一件困難的事。在這裡,我將給出不同預算區間下 gpu 的最佳選擇。

4600-6000 元區間:首推 gtx 1080 ti。如果你需要雙顯示卡 sli,請購買兩塊 gtx 1070(可能不太好找)或兩塊 gtx 1070 ti。kaggle 排行榜,我來了!

2600-4600 元區間:可選 gtx 1080 或 gtx 1070 ti。如果你真的需要 sli 的話或許兩塊 gtx 1060 也是可以的,但請注意它們的 6gb 記憶體可能會不夠用。

2000-2600 元區間:gtx 1060 可以讓你入門深度學習,如果你可以找到成色不錯的 gtx 1070 那就更好了。

2000 元以下:在這個區間內,gtx 1050 ti 是最佳選擇,但如果你真的想做深度學習,**錢上 gtx 1060。

教你如何挑選深度學習GPU

即將進入 2018 年,隨著硬體的更新換代,越來越多的機器學習從業者又開始面臨選擇 gpu 的難題。正如我們所知,機器學習的成功與否很大程度上取決於硬體的承載能力。在今年 5 月,我在組裝自己的深度學習機器時對市面上的所有 gpu 進行了評測。而在本文中,我們將更加深入地 gpu 深度學習 深度學習...

AI開發 深度學習如何選擇GPU?

機器推理在深度學習的影響下,準確性越來越高 速度越來越快。深度學習對人工智慧行業發展的貢獻巨大,這得益於現階段硬體計算能力的提公升 網際網路海量訓練資料的出現。本篇文章主要介紹深度學習過程中如何選擇合適的gpu顯示卡,如果你是深度學習新手,希望這篇文章對你有幫助。推理用到的硬體分兩種,一種是專業ai...

深度學習 訓練吃顯示卡 在深度學習中餵飽GPU

新智元推薦 前段時間訓練了不少模型,發現並不是大力出奇蹟,顯示卡越多越好,有時候 1 張 v100 和 2 張 v100 可能沒有什麼區別,後來發現瓶頸在其他地方,寫篇文章來總結一下自己用過的一些小 trick,最後的效果就是在 cifar 上面跑 vgg 的時間從一天縮到了乙個小時,imagene...