【GPU選擇指南】性價比最高深度學習解決方案要這么選!
從不到1k的1050 Ti到數萬元的Tesla A100顯卡,GPU價格的跨度這么大,該從何價位下手?誰才是性價比之王?張量核心、顯存帶寬、16位能力...參數紛繁復雜,讓人頭昏眼花。所以此次就要讓大家深度了解GPU.
針對不同深度學習架構,GPU參數的選擇優先級是不一樣的,總體來說分兩條路線: 卷積網絡和Transformer:張量核心(Tensor Core)>FLOPs(每秒浮點運算次數)>顯存帶寬>16位浮點計算能力 循環神經網絡:顯存帶寬>16位浮點計算能力>張量核心>FLOPs 下面總結了一張GPU和TPU的標準性能數據,值越高代表性能越好。RTX系列假定用了16位計算,WordRNN數值是指長度<100的段序列的biLSTM性能。 這項基準測試是用PyTorch 1.0.1和CUDA 10完成的。 ▲GPU和TPU的性能數據 性價比可能是選擇一張GPU最重要的考慮指標。在攻略中,進行了如下運算測試各顯卡的性能: 用語言模型Transformer-XL和BERT進行Transformer性能的基準測試。 用最先進的biLSTM進行了單詞和字符級RNN的基準測試。 上述兩種測試是針對Titan Xp、Titan RTX和RTX2080 Ti進行的,對于其他GPU則線性縮放了性能差異。 借用了現有的CNN基準測試。 用了亞馬遜和eBay上顯卡的平均售價作為GPU的參考成本。 最后,可以得出CNN、RNN和Transformer的歸一化性能/成本比值,如下所示: ▲CNN、RNN和Transformer的每美元性能 在上面這張圖中,數字越大代表每一美元能買到的性能越強??梢钥闯?, RTX 2060比RTX 2070,RTX2080或RTX 2080 Ti更具成本效益。 不過,這種考量方式更偏向于小型GPU,且因為游戲玩家不喜歡RTX系列顯卡,導致GTX 10xx系列的顯卡售價虛高。此外,還存在一定的單GPU偏差,一臺有4個RTX 2080 Ti的計算機比兩臺帶8個RTX 2060的計算機性價比更高。 GPU的顯存對某些應用至關重要,比如常見的計算機視覺、機器翻譯和一部分NLP應用??赡苣阏J為RTX 2070具有成本效益,但需要注意其顯存很小,只有8 GB。 不過,也有一些補救辦法。 通過16位訓練,你可以擁有幾乎16位的顯存,相當于將顯存翻了一倍,這個方法對RTX 2080和RTX 2080 Ti同樣適用。 也就是說,16位計算可以節省50%的內存,16位 8GB顯存大小與12GB 32位顯存大小相當。 搞清楚了參數,還有更眼花繚亂的選項擺在面前:谷歌云、亞馬遜AWS、微軟的云計算平臺都能搞機器學習,是不是可以不用自己買GPU? 英偉達、AMD、英特爾、各種創業公司……AI加速芯片也有不少品牌可選。 面對整個行業的圍攻分析了各家平臺的優缺點。 英偉達無疑是深度學習硬件領域的領導者,大多數深度學習庫都對英偉達GPU提供最佳支持。而AMD的OpenCL沒有這樣強大的標準庫。 軟件是英偉達GPU非常強大的一部分。在過去的幾個月里,NVIDIA還在為軟件注入更多資源。例如,Apex庫對PyTorch中的16位梯度提供支持,還包括像FusedAdam這樣的融合快速優化器。 如果在數據中心使用CUDA,那么只能使用Tesla GPU而不能用GTX或RTX GPU。 這里特別注意,在選擇英偉達的顯卡時,一定要區分顯卡的類型。NVIDIA主要有三個系列的顯卡:GeForce,Quadro,Tesla。 GeForce面向游戲,Quadro面向3D設計、專業圖像和CAD等,Tesla面向科學計算。GeForce面向游戲,性能高,但精度低,穩定性比Telsa差很多。畢竟玩游戲的時候如果程序崩了也就丟個存檔,但服務器崩了沒準掛掉一個公司。 Tesla從誕生之初就瞄準高精度科學計算,所以Tesla嚴格意義上不是塊顯卡,是個計算加速卡。(對于不帶視頻輸出的Tesla顯卡而言,玩游戲是指望不上的)。 Tesla的設計上雙精度浮點數的能力比起Geforce系列強很多,不過從深度學習的角度看,雙精度顯得不那么重要,經典的AlexNet就是兩塊GTX580訓練出來的。 除了精度,Tesla主要面向工作站和服務器,所以穩定性很好,同時會有很多針對服務器的優化。 綜上,如果在大規模集群上進行深度學習研發和部署,Tesla是首選。單機上開發的話,土豪或者追求穩定性高的人請選Tesla,最有性價比且能兼顧日常使用的選擇是GeForce. AMD GPU性能強大但是軟件太弱。雖然有ROCm可以讓CUDA轉換成可移植的C++代碼,但是問題在于,移植TensorFlow和PyTorch代碼庫很難,這大大限制了AMD GPU的應用。 TensorFlow和PyTorch對AMD GPU有一定的支持,所有主要的網絡都可以在AMD GPU上運行,但如果想開發新的網絡,可能有些細節會不支持。 對于那些只希望GPU能夠順利運行的普通用戶,并不推薦AMD。但是支持AMD GPU和ROCm開發人員,會有助于穩定GPU市場價格均勢,將使每個人長期受益。 一些人曾經嘗試過至強融核(Xeon Phi)處理器,但體驗讓人失望。英特爾目前還不是英偉達或AMD GPU真正的競爭對手。 至強融核對深度學習的支持比較差,不支持一些GPU的設計特性,編寫優化代碼困難,不完全支持C++ 11的特性,與NumPy和SciPy的兼容性差。 英特爾曾計劃在今年下半年推出神經網絡處理器(NNP),希望與GPU和TPU競爭,但是該項目已經跳票。 谷歌TPU已經發展成為一種非常成熟的云端產品。你可以這樣簡單理解TPU:把它看做打包在一起的多個專用GPU,它只有一個目的——進行快速矩陣乘法。 TPU本身支持TensorFlow,對PyTorch的支持也在試驗中。 TPU長時間使用時,卻面臨著累積成本的問題。TPU具有高性能,最適合在訓練階段使用。在原型設計和推理階段,應該依靠GPU來降低成本。 總而言之,目前TPU最適合用于訓練CNN或大型Transformer,并且應該補充其他計算資源而不是主要的深度學習資源。 亞馬遜AWS和Microsoft Azure的云GPU非常有吸引力,人們可以根據需要輕松地擴大和縮小使用規模,對于論文截稿或大型項目結束前趕出結果非常有用。 然而,與TPU類似,云GPU的成本會隨著時間快速增長。目前,云GPU過于昂貴,且無法單獨使用,建議在云GPU上進行最后的訓練之前,先使用一些本地GPU進行原型開發。 有一系列初創公司在生產下一代深度學習硬件。但問題在于,這些硬件需要開發一個完整的軟件套件才能具有競爭力。英偉達和AMD的對比就是鮮明的例子。 小結: 總的來說,本地運算首選英偉達GPU,它在深度學習上的支持度比AMD好很多;云計算首選谷歌TPU,它的性價比超過亞馬遜AWS和微軟Azure。 訓練階段使用TPU,原型設計和推理階段使用本地GPU,可以幫你節約成本。如果對項目deadline或者靈活性有要求,請選擇成本更高的云GPU。 總之,在GPU選擇上有3個原則: 1、使用GTX 1070或更好的GPU; 2、購買帶有張量核心(Tensor Core)的RTX GPU; 3、在GPU上進行原型設計,然后在TPU或云GPU上訓練模型。 針對不同研究目的、不同預算,給出了如下的建議: 高性價比: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 NLP研究人員:RTX 2080 Ti 大規模集群:Tesla系列 已經開始研究深度學習:RTX 2070起步,以后按需添置更多RTX 2070 嘗試入門深度學習:GTX 1050 Ti(2GB或4GB顯存) 寬泛科技旗下Cloudhin?云軒支持Deep learning和高性能計算服務器定制,針對主要深度學習框架(如TensorFlow、Caffe 2、Theano或Torch)進行了優化和設置,在桌面上即可提供強大的深度學習功能。 Cloudhin?云軒GS4288-P4采用Intel C612最高速芯片組,性能穩定,把握十足。其支持兩顆E5-2600 v4/v3(24核48線程),內存最大支持3TB內存。 最高可搭載8個NVIDIA圖形處理器,RTX 2080/S/TI、RTX TITAN/V、TESLA T4/P100/V100,均支持按需定制。它可以讓你輕松應對分子動力學模擬、排序,生命科學與醫療分析、石油天然氣勘探、GPU虛擬化服務器,是復雜模型計算的理想選擇。 專業勤修,銳意進取。云軒技術工程師畢業于NVIDIA深度學習研究所,豐富經驗,值得信賴。更多定制方案請聯系客服,我們將實時響應您的定制需求。