女人夜夜春高潮爽A∨片传媒_国产精品VIDEOS麻豆_在线精品亚洲一区二区三区_亚洲熟妇无码av

計算機相關
新聞詳情

深度學習選什么顯卡性價比最高?看完你就不再愁!

發布時間:2020-11-02 11:51:31 最后更新:2020-11-23 10:04:08 瀏(liu)覽次數:14361

如果你在從事了AI相關的工作,那(nei)你應(ying)該就(jiu)明(ming)白一(yi)件(jian)事:讓GPU執行(xing)(xing)不(bu)同的任(ren)務,最佳選擇也隨之變化,用(yong)于計算(suan)機(ji)視覺和做NLP就(jiu)都不(bu)太一(yi)樣(yang)。而且(qie),真正的業務應(ying)用(yong)場景用(yong)云端TPU、GPU行(xing)(xing)不(bu)行(xing)(xing)?和本(ben)地(di)GPU在處理任(ren)務時應(ying)該如何(he)分配,才能更省(sheng)錢?這些問(wen)題我想都是大伙(huo)拿著(zhu)很棘手的問(wen)題。

所以本篇文(wen)章就要讓大伙不僅(jin)了解GPU,還要讓大家在選(xuan)擇(ze)各(ge)種GPU時有明(ming)確的認識和方向(xiang)!現在,為了幫(bang)你(ni)找到最適合(he)的裝備,小編跟大家分享一份測(ce)評,來看看到底誰能在眾多(duo)GPU中脫穎而出?話不多(duo)說,馬上揭曉。

1、最(zui)重要的(de)參數

針對不(bu)同深度學習架構,GPU參(can)數(shu)的選(xuan)擇優(you)先級是(shi)不(bu)一樣的,總體(ti)來說分(fen)兩條路線:

卷積網(wang)絡和Transformer:

張量核(he)心(xin)(Tensor Core)>FLOPs(每秒浮(fu)點運(yun)算次數)>顯存(cun)帶寬>16位(wei)浮(fu)點計(ji)算能力

循環神經網絡:顯存帶寬>16位浮(fu)點計算能力>張量核(he)心>FLOPs

這個(ge)(ge)排序背后有一(yi)套邏輯,下(xia)面將詳(xiang)細解(jie)釋(shi)一(yi)下(xia)。在說清楚(chu)哪(na)個(ge)(ge)GPU參數對(dui)速度尤為重(zhong)要(yao)之前,先看看兩(liang)個(ge)(ge)最(zui)重(zhong)要(yao)的(de)張量(liang)運算(suan)(suan):矩陣(zhen)(zhen)乘(cheng)法和(he)卷(juan)積。舉個(ge)(ge)栗子,以運算(suan)(suan)矩陣(zhen)(zhen)乘(cheng)法A×B=C為例,將A、B復(fu)制到顯存上(shang)比直接計算(suan)(suan)A×B更耗費資(zi)源。也就是說,如果(guo)你想用LSTM等(deng)處理大(da)量(liang)小型矩陣(zhen)(zhen)乘(cheng)法的(de)循環神經網絡(luo),顯存帶寬是GPU最(zui)重(zhong)要(yao)的(de)屬性(xing)。矩陣(zhen)(zhen)乘(cheng)法越小,內存帶寬就越重(zhong)要(yao)。

相反,卷積運(yun)(yun)算受(shou)計算速度(du)的約束比較(jiao)大。因此,要(yao)(yao)衡量(liang)(liang)GPU運(yun)(yun)行(xing)ResNets等(deng)卷積架構的性能,最佳(jia)指標就是FLOPs。張量(liang)(liang)核(he)(he)心可以明顯(xian)(xian)增(zeng)加(jia)FLOPs。Transformer中(zhong)用到的大型矩(ju)(ju)陣(zhen)乘法介于卷積運(yun)(yun)算和RNN的小(xiao)型矩(ju)(ju)陣(zhen)乘法之間,16位存儲(chu)、張量(liang)(liang)核(he)(he)心和TFLOPs都(dou)對大型矩(ju)(ju)陣(zhen)乘法有(you)好處,但它仍需要(yao)(yao)較(jiao)大的顯(xian)(xian)存帶寬。需要(yao)(yao)特別注意,如果想借助張量(liang)(liang)核(he)(he)心的優(you)勢,一定(ding)要(yao)(yao)用16位的數據和權重(zhong),避免(mian)使用RTX顯(xian)(xian)卡(ka)進(jin)行(xing)32位運(yun)(yun)算!

下面總結了一張GPU和TPU的標(biao)準(zhun)性能(neng)數據,值越高代(dai)表性能(neng)

越好。RTX系列(lie)(lie)假定(ding)用了16位計(ji)算,WordRNN數(shu)值是(shi)指長(chang)度<100的(de)段序列(lie)(lie)的(de)biLSTM性能。

這項基(ji)準測試(shi)是用PyTorch 1.0.1和(he)CUDA 10完成的。

2、性價(jia)比分析

性(xing)價比可能(neng)是選(xuan)擇(ze)一張(zhang)GPU最重要的考慮指標。在攻略中,進行了如(ru)下運算測試各顯卡的性(xing)能(neng):

·用(yong)語(yu)言(yan)模型Transformer-XL和BERT進行Transformer性能的基準測試。

·用最先(xian)進的biLSTM進行了單詞和字符級RNN的基準測試。

·上述(shu)兩種測試是針對Titan Xp、Titan RTX和(he)RTX2080 Ti進(jin)行的,對于其他GPU則線性(xing)縮放了性(xing)能差異。

·借用了現有的CNN基(ji)準測試。

·用(yong)了亞馬遜和eBay上(shang)顯卡的(de)平(ping)均售(shou)價作為GPU的(de)參考成本。

·最后,可以得(de)出CNN、RNN和Transformer的歸一(yi)化性(xing)能/成本比值,如(ru)下所(suo)示:

在(zai)上面(mian)這(zhe)張圖中,數字越大(da)代表每一美元能買到的(de)(de)性(xing)(xing)(xing)能越強。可以看(kan)出(chu), RTX 2060比(bi)RTX 2070,RTX2080或RTX 2080 Ti更(geng)具成(cheng)本效益,甚至是Tesla V100性(xing)(xing)(xing)價(jia)(jia)比(bi)的(de)(de)5倍(bei)以上。所(suo)以此輪的(de)(de)性(xing)(xing)(xing)價(jia)(jia)比(bi)之(zhi)王已經確定(ding),是RTX 2060無疑了(le)。不(bu)過(guo),這(zhe)種考量方式(shi)更(geng)偏向于(yu)小型(xing)GPU,且因為游(you)戲(xi)玩(wan)家(jia)不(bu)喜歡RTX系(xi)(xi)列顯(xian)卡(ka),導致GTX 10xx系(xi)(xi)列的(de)(de)顯(xian)卡(ka)售價(jia)(jia)虛高(gao)。此外,還存在(zai)一定(ding)的(de)(de)單GPU偏差,一臺有4個RTX 2080 Ti的(de)(de)計算(suan)機(ji)比(bi)兩臺帶8個RTX 2060的(de)(de)計算(suan)機(ji)性(xing)(xing)(xing)價(jia)(jia)比(bi)更(geng)高(gao)。

3、所需顯存與16位訓練(lian)

GPU的(de)顯(xian)存(cun)(cun)對(dui)某些應用(yong)至關重要(yao),比如(ru)常見(jian)的(de)計算(suan)(suan)機視覺、機器翻譯和(he)一(yi)(yi)部分NLP應用(yong)。可(ke)能你認為RTX 2070具(ju)有成本(ben)效益,但需要(yao)注意其顯(xian)存(cun)(cun)很小,只有8 GB。不過,也有一(yi)(yi)些補救辦法。通(tong)過16位(wei)訓練,你可(ke)以(yi)擁有幾乎16位(wei)的(de)顯(xian)存(cun)(cun),相(xiang)(xiang)當于(yu)將顯(xian)存(cun)(cun)翻了一(yi)(yi)倍(bei),這(zhe)個方(fang)法對(dui)RTX 2080和(he)RTX 2080 Ti同樣適用(yong)。也就是說,16位(wei)計算(suan)(suan)可(ke)以(yi)節省50%的(de)內存(cun)(cun),16位(wei) 8GB顯(xian)存(cun)(cun)大小與12GB 32位(wei)顯(xian)存(cun)(cun)大小相(xiang)(xiang)當。

4、云端or本地(di)?TPU or GPU?

搞清楚了參數,還(huan)有更眼花繚亂的選項擺(bai)在面前:

谷歌云、亞馬遜AWS、微(wei)軟的(de)云計算平(ping)臺都能搞機器學(xue)習,是不是可以不用自己買GPU?英(ying)偉(wei)達(da)、AMD、英(ying)特爾(er)、各種創(chuang)業(ye)(ye)公司……AI加速芯片也有不少品牌可選。面對整個(ge)行業(ye)(ye)的(de)圍(wei)攻分析(xi)了各家平(ping)臺的(de)優缺點。

英偉達

英(ying)偉達(da)無(wu)疑是深度(du)學習(xi)硬(ying)件(jian)領域(yu)的(de)領導(dao)者,大(da)多數(shu)深度(du)學習(xi)庫(ku)都對英(ying)偉達(da)GPU提(ti)供最佳支持。而AMD的(de)OpenCL沒有這樣強大(da)的(de)標準庫(ku)。軟件(jian)是英(ying)偉達(da)GPU非常強大(da)的(de)一部分(fen)。在過去的(de)幾個(ge)月里,NVIDIA還在為軟件(jian)注入更多資源。例如,Apex庫(ku)對PyTorch中(zhong)的(de)16位(wei)梯度(du)提(ti)供支持,還包括像FusedAdam這樣的(de)融合快速優化器。

但是英偉達(da)現在有一項非常坑爹的(de)政策,如果在數據(ju)中心(xin)使用(yong)(yong)CUDA,那么只(zhi)允許使用(yong)(yong)Tesla GPU而(er)不能用(yong)(yong)GTX或RTX GPU。由于擔心(xin)法律問題(ti),研究機(ji)構(gou)和大學經(jing)常被迫購買低(di)性(xing)價比的(de)Tesla GPU。然而(er),Tesla與(yu)GTX和RTX相比并沒有真正的(de)優(you)勢(shi),價格卻高(gao)出10倍。這里特別(bie)注(zhu)意,在選擇(ze)英偉達(da)的(de)顯(xian)卡時(shi),一定要區分顯(xian)卡的(de)類型(xing)。NVIDIA主要有三(san)個系列的(de)顯(xian)卡:GeForce,Quadro,Tesla。

GeForce面向(xiang)游戲,Quadro面向(xiang)3D設計、專業(ye)圖像和CAD等(deng),Tesla面向(xiang)科學計算。GeForce面向(xiang)游戲,性能高(gao),但(dan)精度低,穩定性比Telsa差(cha)很多。畢竟玩游戲的(de)時(shi)候如果(guo)程序崩(beng)了也就丟個存檔,但(dan)服務器(qi)崩(beng)了沒準掛掉一個公司(si)。

Tesla從誕(dan)生之初就(jiu)瞄準高(gao)精度(du)科學計算,所以(yi)Tesla嚴格意義上不(bu)是(shi)塊(kuai)顯(xian)卡(ka),是(shi)個計算加速卡(ka)。(對(dui)于不(bu)帶視頻輸出(chu)的(de)Tesla顯(xian)卡(ka)而言,玩(wan)游(you)戲是(shi)指望不(bu)上的(de))。Tesla的(de)設計上雙(shuang)精度(du)浮(fu)點(dian)(dian)數的(de)能力比起Geforce系(xi)列強很多,不(bu)過從深度(du)學習(xi)的(de)角度(du)看,雙(shuang)精度(du)顯(xian)得不(bu)那么重要(yao),經典的(de)AlexNet就(jiu)算兩塊(kuai)GTX580訓練出(chu)來的(de)。除了(le)精度(du),Tesla主要(yao)面(mian)向工作站和服務(wu)器(qi),所以(yi)穩定(ding)性(xing)很好,同時會有很多針(zhen)對(dui)服務(wu)器(qi)的(de)優化。當然,Tesla系(xi)列最(zui)大的(de)特點(dian)(dian)是(shi)貴。

綜(zong)上(shang),如(ru)果在大(da)規模(mo)集群上(shang)進行深度(du)學習研發和(he)部署(shu),Tesla是(shi)首選,尤其是(shi)M和(he)P子系列。單(dan)機上(shang)開(kai)發的(de)話(hua),土豪或者追求穩定性(xing)高(gao)的(de)人請(qing)選Tesla,最有(you)性(xing)價比(bi)且能(neng)兼顧日常使用的(de)選擇(ze)是(shi)GeForce.


AMD

AMD GPU性(xing)能強大(da)(da)但(dan)(dan)是(shi)軟(ruan)件太弱。雖然有(you)ROCm可(ke)以讓CUDA轉換成可(ke)移(yi)植(zhi)的C++代(dai)碼(ma),但(dan)(dan)是(shi)問題在于(yu),移(yi)植(zhi)TensorFlow和(he)PyTorch代(dai)碼(ma)庫很難,這大(da)(da)大(da)(da)限制了AMD GPU的應(ying)用。TensorFlow和(he)PyTorch對AMD GPU有(you)一(yi)定的支(zhi)持(chi)(chi),所有(you)主要的網絡都可(ke)以在AMD GPU上(shang)運行,但(dan)(dan)如果想開發(fa)新(xin)的網絡,可(ke)能有(you)些細節會(hui)不支(zhi)持(chi)(chi)。對于(yu)那些只希望GPU能夠順(shun)利運行的普(pu)通用戶,并不推薦AMD。但(dan)(dan)是(shi)支(zhi)持(chi)(chi)AMD GPU和(he)ROCm開發(fa)人員(yuan),會(hui)有(you)助(zhu)于(yu)打(da)擊英(ying)偉達的壟(long)斷地位(wei),將使每個人長期受益。


英(ying)特(te)爾(er)

一(yi)些人(ren)曾(ceng)(ceng)經嘗試過至強融核(Xeon Phi)處理(li)器,但體驗讓人(ren)失望。英特(te)爾目前還不是英偉達或AMD GPU真正(zheng)的(de)競爭對(dui)手。至強融核對(dui)深度(du)學習的(de)支持(chi)比較差(cha),不支持(chi)一(yi)些GPU的(de)設計(ji)特(te)性,編(bian)寫優化代碼困難,不完全(quan)支持(chi)C++ 11的(de)特(te)性,與(yu)NumPy和SciPy的(de)兼容性差(cha)。英特(te)爾曾(ceng)(ceng)計(ji)劃在今年下半(ban)年推出(chu)神經網絡處理(li)器(NNP),希(xi)望與(yu)GPU和TPU競爭,但是該項目已經跳票(piao)。


?谷歌

谷歌TPU已經發(fa)展(zhan)成為一(yi)(yi)種非常成熟的(de)云端產(chan)品。你(ni)可以這樣簡單(dan)理解TPU:把它(ta)看(kan)做打包在(zai)一(yi)(yi)起(qi)的(de)多(duo)個(ge)專(zhuan)用GPU,它(ta)只有一(yi)(yi)個(ge)目的(de)——進(jin)行(xing)快(kuai)速(su)矩陣乘(cheng)法(fa)。如果看(kan)一(yi)(yi)下具有張量核(he)心的(de)V100 GPU與(yu)TPUv2的(de)性能(neng)指標,可以發(fa)現兩個(ge)系統的(de)性能(neng)幾乎(hu)相(xiang)同。TPU本身支持TensorFlow,對(dui)PyTorch的(de)支持也在(zai)試驗中(zhong)。TPU在(zai)訓練大(da)型Transformer GPT-2上取(qu)得了巨大(da)的(de)成功,BERT和機器翻譯(yi)模(mo)型也可以在(zai)TPU上高效地進(jin)行(xing)訓練,速(su)度相(xiang)比GPU大(da)約快(kuai)56%。

但(dan)是TPU也并(bing)非沒有問(wen)題(ti),有些文獻指出在(zai)TPUv2上(shang)使(shi)用(yong)(yong)LSTM沒有收斂。TPU長時(shi)間使(shi)用(yong)(yong)時(shi)還面臨著累積(ji)成本的(de)問(wen)題(ti)。TPU具有高性(xing)能,最適合在(zai)訓練階段使(shi)用(yong)(yong)。在(zai)原型(xing)設計和推(tui)理階段,應(ying)該依靠GPU來降低成本。總而言之,目前TPU最適合用(yong)(yong)于訓練CNN或大型(xing)Transformer,并(bing)且應(ying)該補充其他計算(suan)資源而不(bu)是主要的(de)深度(du)學習資源。


亞馬遜和(he)微軟云(yun)GPU

亞馬遜AWS和Microsoft Azure的云GPU非(fei)常有(you)吸引力,人們可以根據需(xu)要輕松地擴大(da)和縮(suo)小(xiao)使(shi)用(yong)規模(mo),對于論文截稿或大(da)型項(xiang)目結束前(qian)趕出結果非(fei)常有(you)用(yong)。

然而,與TPU類似,云(yun)GPU的(de)成本會(hui)隨著(zhu)時(shi)間(jian)快速增長。目前(qian),云(yun)GPU過于昂貴,且無法(fa)單獨(du)使用,Tim建(jian)議在云(yun)GPU上進行最后的(de)訓(xun)練之前(qian),先使用一(yi)些廉價GPU進行原型開發。

初創公(gong)司(si)的AI硬(ying)件

有一系(xi)列初創公(gong)司在生產(chan)下(xia)一代深度學習硬件(jian)。但問(wen)題在于(yu),這些(xie)硬件(jian)需(xu)要開發一個(ge)完(wan)整的(de)軟件(jian)套件(jian)才能具有競爭力。英偉達和AMD的(de)對比就是鮮明的(de)例子。

總(zong)結:

總的(de)(de)來說,本地運算首(shou)選英偉達GPU,它在深(shen)度學(xue)習上的(de)(de)支持度比(bi)AMD好很多(duo);云計算首(shou)選谷歌TPU,它的(de)(de)性價(jia)比(bi)超(chao)過亞馬(ma)遜AWS和(he)微(wei)軟Azure。訓(xun)練階段使用(yong)TPU,原型設(she)計和(he)推理(li)階段使用(yong)本地GPU,可以幫你節(jie)約成(cheng)(cheng)本。如(ru)果對(dui)項目deadline或(huo)者(zhe)靈活(huo)性有要求(qiu),請選擇成(cheng)(cheng)本更高的(de)(de)云GPU。

總(zong)之,在(zai)GPU的(de)(de)選(xuan)擇上(shang)有(you)三(san)個(ge)原則(ze):1、使用GTX 1070或(huo)更好的(de)(de)GPU;2、購(gou)買帶(dai)有(you)張(zhang)量核心(Tensor Core)的(de)(de)RTX GPU;3、在(zai)GPU上(shang)進行(xing)原型設計,然后在(zai)TPU或(huo)云GPU上(shang)訓(xun)練(lian)模(mo)型。

針對不同(tong)研究目的(de)、不同(tong)預算(suan),給出了如下的(de)建議:

最佳(jia)GPU:RTX 2070

避(bi)免的坑:所有Tesla、Quadro、創始人版(ban)(Founders Edition)的顯卡(ka),還(huan)有Titan RTX、Titan V、TitanXP

高性價比(bi):RTX 2070(高端),RTX 2060或GTX 1060 (6GB)(中低(di)端)

窮人之(zhi)選:GTX 1060 (6GB)

破產之選:GTX 1050 Ti(4GB),或者CPU(原型)+ AWS/ TPU(訓練),或者Colab 但小編認為(wei)已經有點丐(gai)了(le)!

Kaggle競賽:RTX 2070

計算(suan)機視覺或機器(qi)翻譯研究人員:采用(yong)鼓(gu)風設計的(de)GTX 2080 Ti,如果訓(xun)練非常大的(de)網絡(luo),請選擇RTX Titans

NLP研究人員:RTX 2080 Ti

已經開始研究深度(du)學習:RTX 2070起步,以(yi)后按(an)需(xu)添置更多RTX 2070

嘗試入門(men)深(shen)度學(xue)習:GTX 1050 Ti(2GB或4GB顯存)

在線客服
客(ke)服電話
  • 0755-23712116
  • 13310869691