【經驗】深度學習如何挑選GPU?

2021-02-13 深度學習自然語言處理

點擊上方,選擇星標置頂,每天給你送乾貨!

閱讀大概需要9分鐘

跟隨小博主,每天進步一丟丟

編輯:Sophia
計算機視覺聯盟  報導  | 公眾號 CVLianMeng

轉載於 :極市平臺

深度學習是一個對計算有著大量需求的領域,從一定程度上來說,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 > FLOPs2 如何選擇NVIDIA/AMD/GoogleNVIDIA的標準庫使在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內核要有價值得多。https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/ 以 Quadro RTX 8000 為基準的針對Quadro RTX 8000的圖像模型訓練吞吐量3) 來自知乎@Aero的「在線」GPU評測[4]https://www.zhihu.com/question/299434830/answer/1010987691大家用的最多的可能是Google Colab,畢竟免費,甚至能選TPU免費版主要是K80,有點弱,可以跑比較簡單的模型,有概率分到T4,有歐皇能分到P100。付費就能確保是T4或者P100,一個月10美元,說是僅限美國。Colab畢竟是Google的,那麼你首先要能連得上google,並且得網絡穩定,要是掉線很可能要重新訓練,綜合來看國內使用體驗不太好。免費送V100時長非常良心,以前很多人自己裝tensorflow用,但是現在已經不允許了,實測tensorflow pytorch都不給裝,必須得用paddlepaddle。那麼習慣paddlepaddle的用戶完全可以選這個,其他人不適合。不過似乎GPU不太夠,白天一直提醒高峰期,真到了22點後才有。5 建議

總體最佳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

截至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):價格相對較高,但性能卓越,適合未來投資。

[1] https://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/[2] https://lambdalabs.com/blog/best-gpu-tensorflow-2080-ti-vs-v100-vs-titan-v-vs-1080-ti-benchmark/[3] https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/[4] https://www.zhihu.com/question/299434830/answer/1010987691交流學習,進群備註:暱稱-學校(公司)-方向,進入DL&NLP交流群。
方向有很多:機器學習、深度學習,python,情感分析、意見挖掘、句法分析、機器翻譯、人機對話、知識圖譜、語音識別等。

相關焦點

  • 2020年深度學習如何挑選 GPU?這篇 GPU 最全攻略請查收
    深度學習是一個對計算有著大量需求的領域,從一定程度上來說,GPU的選擇將從根本上決定深度學習的體驗。
  • 2020 年深度學習如何挑選 GPU?這篇 GPU 最全攻略請查收
    深度學習是一個對計算有著大量需求的領域,從一定程度上來說,GPU
  • 2020年深度學習如何挑選GPU?這篇 GPU 最全攻略請查收
    關注 極市平臺 公眾號 ,回復 加群,立刻申請入群~深度學習是一個對計算有著大量需求的領域,從一定程度上來說,GPU的選擇將從根本上決定深度學習的體驗。因此,選擇購買合適的GPU是一項非常重要的決策。那麼2020年,如何選擇合適的GPU呢?
  • 從深度學習gpu選擇來談談gpu的硬體架構
    tesla的M40是專門為深度學習製作的,如果只有深度學習的訓練,這張卡雖然貴,企業或者機構購買還是比較合適的(百度的深度學習研究院就用的這一款[3]),相對於K40單精度浮點運算性能是4.29Tflops,M40可以達到7Tflops。QUADRO系列比較少被人提起,它的M6000價格比K80還貴,性能參數上也並沒有好多少。
  • 在深度學習中餵飽GPU
    【新智元導讀】深度學習模型訓練是不是大力出奇蹟本文作者分析了他的實踐經驗。前段時間訓練了不少模型,發現並不是大力出奇蹟,顯卡越多越好,有時候 1 張 v100 和 2 張 v100 可能沒有什麼區別,後來發現瓶頸在其他地方,寫篇文章來總結一下自己用過的一些小 trick,最後的效果就是在 cifar 上面跑 vgg 的時間從一天縮到了一個小時,imagenet 上跑 mobilenet 模型只需要 2 分鐘每個 epoch。
  • 如何使用keras,python和深度學習進行多GPU訓練
    在今天文章的其他部分中,我將演示如何使用keras,python和深度學習訓練圖像分類的CNN。MiniGoogLeNet 深度學習框架在做了一些研究後,我發現這張圖片來自張等人2017的文章https://arxiv.org/abs/1611.03530然後我開始在keras和python中應用MiniGoogLe架構——甚至使用python進行計算機視覺深度學習這本書的一部分。
  • 如何使用 Keras,Python 和深度學習進行多 GPU 訓練
    在今天文章的其他部分中,我將演示如何使用keras,python和深度學習訓練圖像分類的CNN。MiniGoogLeNet 深度學習框架在做了一些研究後,我發現這張圖片來自張等人2017的文章https://arxiv.org/abs/1611.03530然後我開始在keras和python中應用MiniGoogLe架構——甚至使用python進行計算機視覺深度學習這本書的一部分。
  • 如何在CDSW中使用GPU運行深度學習
    Fayson的github:https://github.com/fayson/cdhproject提示:代碼塊部分可以左右滑動查看噢GPU是一種專門的處理器,對於加速高度並行化的計算密集型工作負載效果非常明顯,尤其是在深度學習領域。理想的情況是你將GPU和CPU結合起來用於數據工程和數據科學的工作負載。
  • 深度學習 | 介紹深度學習如何配置帶GPU電腦環境
    最近開始學習深度學習(Deep Learning)技術,特別是google的Tensorflow深度學習包開源後,深度學習已經成為大數據領域的重大計算革命
  • 在深度學習中餵飽 GPU
    ,但是gpu的使用率非常低,這基本可以確定瓶頸是在cpu的處理速度上了。後來查了一些資料發現nvidia有一個庫叫dali可以用gpu來做圖像的前處理,從輸入,解碼到transform的一整套pipeline,看了下常見的操作比如pad/crop之類的還挺全的,並且支持pytorch/caffe/mxnet
  • 啟用Docker虛擬機GPU,加速深度學習
    但我覺得還是有必要記錄一下我最近一次的深度學習環境配置,主要原因在於各種軟體在快速更新,對應的安裝配置方法也會有一些變化。這篇深度學習環境配置有兩個關鍵詞,一個是Docker虛擬機,另一個是GPU加速。開始之前Docker虛擬機首先說一下Docker虛擬機。為什麼需要虛擬機?
  • 如何使用Kubernetes GPU集群自動化深度學習訓練?
    該指南能幫助同行研究者和愛好者們輕鬆地使用 Kubernetex GPU 集群來自動化和加速他們的深度學習訓練。因此,我將解釋如何輕鬆地在多個 Ubuntu 16.04 裸機伺服器上搭建一個 GPU 集群,並提供一些有用的腳本和.yaml 文件來完成這些工作。另外,如果你需要把 Kubernetes GPU 集群用於其他地方,該指南可能對你也有幫助。
  • 如何在AWS GPU示例上設置深度學習環境
    為此,需要選擇正確的硬體和軟體包來構建深度學習模型。深度學習模型需要消耗大量的計算能力來進行非常大的矩陣運算。AWS上有兩個硬體選項:僅CPU或GPU。GPU代表圖形處理單元。CPU和GPU架構的主要區別在於GPU是並行處理器,但更為專業化。相反,CPU是通用計算架構,在並行計算方面做得不好。亞馬遜允許構建具有專用GPU內核的虛擬機用於大量計算。
  • 如何用雲端 GPU 為你的 Python 深度學習加速?
    這是來自於 「Deep Learning with Python」 書上的一個例子。那是在一門深度學習網課上。授課老師跟 AWS 合作,為全體學生免費提供若干小時的 AWS 計算能力,以便大家順利完成練習和作業。我記得那麼清楚,是因為光如何配置 AWS ,他就專門錄了數十分鐘的視頻。AWS 雖然已經夠簡單,但是對於新手來說,還是有些門檻。
  • 【人工智慧&深度學習】Win10安裝tensoflow_gpu詳細教程(1)
    Tensorflow的CPU版本安裝相對容易,而tensorflow-gpu版本的安裝相對來說較為複雜,需要考慮版本匹配,很容易出問題導致一遍遍重裝。這篇文章仍然很刻板,只教給大家適合很小範圍內電腦配置的Tensorflow_gpu的安裝方法,步驟也相當繁瑣,但我會說明整個安裝邏輯和注意事項,讓大家根據這篇文章操作便可安裝成功。文章選用和總結了目前網上的各種經驗,這裡向各位前輩致敬!
  • 深度學習GPU加速,一文搞定所有Windows問題
    大家都知道,深度學習運行耗時漫長,有些任務在GPU上速度也是非常慢,更別提CPU了。
  • 居然有免費的GPU可以跑深度學習代碼!
    後臺回復【入門資料】送你十本Python電子書作者:凌逆戰原文:https://www.cnblogs.com/LXP-Never/p/11614053.html從事深度學習的研究者都知道,深度學習代碼需要設計海量的數據,需要很大很大很大(重要的事情說三遍)的計算量,以至於CPU算不過來,需要通過GPU幫忙,但這必不意味著CPU的性能沒GPU強,CPU是那種綜合性的,GPU是專門用來做圖像渲染的,這我們大家都知道,做圖像矩陣的計算GPU更加在行,應該我們一般把深度學習程序讓GPU來計算,事實也證明GPU的計算速度比CPU塊,但是(但是前面的話都是廢話
  • 教程 | 如何使用深度學習硬體的空餘算力自動挖礦
    如果沒有 GPU,現代深度學習是不可能發展到今天的水平的。即使是 MNIST 數據集上的簡單示例算法在 GPU 和 CPU 上運行速度的差別也有 10-100 倍。但是,當你沒有優化所有設置時,GPU 空閒的算力該作何用?
  • Win10深度學習GPU開發環境搭建步驟 | 教程
    深度學習需要進行大量矩陣運算,如果不考慮雲端服務提供的TPU資源,一塊足夠好的GPU就是普通人的性價比之選。目前最常用的是NVIDIA顯卡,主要關注的GPU性能參數是顯存和CUDA計算能力。顯存關係到你能訓練多大的深度學習模型。
  • 通過Docker部署深度學習項目環境
    深度學習環境部署的方法有很多種,其中Docker化深度學習環境和項目是一個很不錯的選擇。