2020年深度學習如何挑選 GPU?這篇 GPU 最全攻略請查收
深度學習是一個對計算有著大量需求的領域,從一定程度上來說,GPU的選擇將從根本上決定深度學習的體驗。因此,選擇購買合適的GPU是一項非常重要的決策。那麼2020年,如何選擇合適的GPU呢?這篇文章整合了網路上現有的GPU選擇標準和評測資訊,希望能作為你的購買決策的參考。
1 是什麼使一個GPU比另一個GPU更快?
有一些可靠的效能指標可以作為人們的經驗判斷。以下是針對不同深度學習架構的一些優先準則:
Convolutional networks and Transformers:
Tensor Cores > FLOPs > Memory Bandwidth >
16-bit capability
Recurrent networks:
Memory Bandwidth > 16-bit capability > Tensor Cores > FLOPs
2 如何選擇NVIDIA/AMD/Google
NVIDIA的標準庫使在CUDA中建立第一個深度學習庫變得非常容易。早期的優勢加上NVIDIA強大的社群支援意味著如果使用NVIDIA GPU,則在出現問題時可以輕鬆得到支援。但是NVIDIA現在政策使得只有Tesla GPU能在資料中心使用CUDA,而GTX或RTX則不允許,而Tesla與GTX和RTX相比並沒有真正的優勢,價格卻高達10倍。
AMD功能強大,但缺少足夠的支援。AMD GPU具有16位計算能力,但是跟NVIDIA GPU的
Tensor核心
相比仍然有差距。
Google TPU具備很高的成本效益。由於TPU具有複雜的並行基礎結構,因此如果使用多個雲TPU(相當於4個GPU),TPU將比GPU具有更大的速度優勢。因此,就目前來看,TPU更適合用於訓練
卷積神經網路
。
3 多GPU並行加速
卷積網路和迴圈網路非常容易並行,尤其是在僅使用一臺計算機或4個GPU的情況下。TensorFlow和PyTorch也都非常適合並行遞迴。但是,包括transformer在內的全連線網路通常在資料並行性方面效能較差,因此需要更高階的演算法來加速。如果在多個GPU上執行,應該先嚐試在1個GPU上執行,比較兩者速度。由於單個GPU幾乎可以完成所有任務,因此,
在購買多個GPU時,更好的並行性(如PCIe通道數)的質量並不是那麼重要
。
4 效能評測
1)來自Tim Dettmers的成本效益評測[1]
https://
timdettmers。com/2019/04
/03/which-gpu-for-deep-learning/
卷積網路
(CNN),遞迴網路(RNN)和transformer的歸一化效能/成本數(越高越好)。RTX 2060的成本效率是Tesla V100的5倍以上。對於長度小於100的短序列,Word RNN表示biLSTM。使用PyTorch 1。0。1和CUDA 10進行基準測試。
從這些資料可以看出,
RTX 2060
比RTX 2070,RTX 2080或RTX 2080 Ti具有更高的成本效益。原因是使用Tensor Cores進行16位計算的能力比僅僅擁有更多Tensor Cores核心要有價值得多。
2)來自Lambda的評測[2,3]
https://
lambdalabs。com/blog/bes
t-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/
https://
lambdalabs。com/blog/cho
osing-a-gpu-for-deep-learning/
GPU平均加速/系統總成本
GPU效能,以每秒處理的影象為單位
以 Quadro RTX 8000 為基準的針對Quadro RTX 8000的影象模型訓練
吞吐量
3) 來自知乎@Aero的「線上」GPU評測[4]
https://www。
zhihu。com/question/2994
34830/answer/1010987691
大家用的最多的可能是
Google Colab
,畢竟免費,甚至能選TPU
不過現在出會員了:
免費版主要是K80,有點弱,可以跑比較簡單的模型,有機率分到T4,有歐皇能分到P100。
付費就能確保是T4或者P100,一個月10美元,說是僅限美國。
Colab畢竟是Google的,那麼你首先要能連得上google,並且得網路穩定,要是掉線很可能要重新訓練,綜合來看國內使用體驗不太好。
下一個是
百度AI Studio
:
免費送V100時長非常良心,以前很多人自己裝tensorflow用,但是現在已經不允許了,實測tensorflow pytorch都不給裝,必須得用paddlepaddle。那麼習慣paddlepaddle的使用者完全可以選這個,其他人不適合。
不過似乎GPU不太夠,白天一直提醒高峰期,真到了22點後才有。
國外的還有
vast。ai
:
5 建議
1)來自Tim Dettmers的建議
總體最佳GPU:RTX 2070 GPU
避免使用 :任何Tesla;任何Quadro;任何Founders Edition;Titan RTX,Titan V,Titan XP
高效但價格昂貴:RTX 2070
高效且廉價:RTX 2060,GTX 1060(6GB)
價格實惠:GTX 1060(6GB)
價格低廉:GTX 1050 Ti(4GB)。或者:CPU(原型設計)+ AWS / TPU(培訓);或Colab。
適合Kaggle比賽:RTX 2070
適合計算機視覺研究人員:GTX 2080 Ti,如果訓練非常大的網路,建議使用RTX Titans
2)來自Lambda的建議
截至2020年2月,以下GPU可以訓練所有SOTA語言和影象模型:
RTX 8000:48 GB VRAM
RTX 6000:24 GB VRAM
Titan RTX:24 GB VRAM
具體建議:
RTX 2060(6 GB):適合業餘時間探索深度學習。
RTX 2070或2080(8 GB):適合深度學習專業研究者,且預算為4-6k
RTX 2080 Ti(11 GB):適合深度學習專業研究者,而您的GPU預算約為8-9k。RTX 2080 Ti比
RTX 2080
快40%。
Titan RTX和Quadro RTX 6000(24 GB):適合廣泛使用SOTA型號,但沒有用於RTX 8000足夠預算的研究者。
Quadro RTX 8000(48 GB):價格相對較高,但效能卓越,適合未來投資。
給大家介紹一下租用GPU做實驗的方法,我們是在智星雲租用的GPU,使用體驗很好。具體大家可以參考:智星雲官網:
http://www。
ai-galaxy。cn/
,淘寶店:
https://
shop36573300。taobao。com
/
公眾號: 智星AI,
參考文獻
[1]
https://
timdettmers。com/2019/04
/03/which-gpu-for-deep-learning/
[2]
https://
lambdalabs。com/blog/bes
t-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/
[3]
https://
lambdalabs。com/blog/cho
osing-a-gpu-for-deep-learning/
[4]
https://www。
zhihu。com/question/2994
34830/answer/1010987691