新聞中心
眾所周知,當今業(yè)界性能最強(SOTA)的深度學習模型都會占用巨大的顯存空間,很多過去性能算得上強勁的 GPU,現(xiàn)在可能稍顯內(nèi)存不足。在 lambda 最新的一篇顯卡橫向測評文章中,開發(fā)者們探討了哪些 GPU 可以再不出現(xiàn)內(nèi)存錯誤的情況下訓練模型。當然,還有這些 GPU 的 AI 性能。

成都創(chuàng)新互聯(lián)秉承實現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都網(wǎng)站建設、網(wǎng)站制作,小程序設計,網(wǎng)頁設計制作,成都做手機網(wǎng)站,成都全網(wǎng)營銷幫助傳統(tǒng)企業(yè)實現(xiàn)“互聯(lián)網(wǎng)+”轉型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術人才,對客戶都以感恩的心態(tài)奉獻自己的專業(yè)和所長。
今年的 GPU 評測相比往年有了不小的變化:因為深度學習技術的突飛猛進,以前 12G 內(nèi)存打天下的局面不復存在了。在 2020 年 2 月,你至少需要花費 2500 美元買上一塊英偉達最新款的 Titan RTX 才可以勉強跑通業(yè)界性能最好的模型——那到今年年底會是什么樣就無法想象了?;蛟S我們應該把目光轉向云端 GPU。
一、一句話總結
截止到 2020 年 2 月份,只有以下這幾種 GPU 可以訓練所有業(yè)內(nèi)頂尖的語言和圖像模型:
- RTX 8000:48GB 顯存,約 5500 美元
- RTX 6000:24GB 顯存,約 4000 美元
- Titan RTX:24GB 顯存,約 2500 美元
以下 GPU 可以訓練大多數(shù) SOTA 模型,但不是所有模型都能:
- RTX 2080Ti:11GB 顯存,約 1150 美元
- GTX 1080Ti:11GB 顯存,約 800 美元(二手)
- RTX 2080:8GB 顯存,約 720 美元
- RTX 2070:8GB 顯存,約 500 美元
超大規(guī)模的模型在這一級別的 GPU 上訓練,通常需要調(diào)小 Batch size,這很可能意味著更低的準確性。
以下 GPU 不太能用作高端 AI 模型的訓練:
RTX 2060:6GB 顯存,約 359 美元
1. 圖像模型測試
為測試當前 GPU 性能,研究者們以 CV 和 NLP 兩個方向的頂尖模型進行了測試。處理圖像模型而言,基礎版 GPU 或 Ti 系的處理的效果都不是很好,且相互差異不大。
相較而言 RTX 的有明顯優(yōu)勢且以最新版的 RTX8000 最為突出,不難發(fā)現(xiàn)就目前為止對于 GPU 能處理的批量大小基本都是以 2 的倍數(shù)來提升。相較于性能方面,總體還是以 RTX 系為最優(yōu)。
(1) 顯存能支持的最大批量大小
如下如果要訓練 Pix2Pix HD 模型,至少需要 24GB 的顯存,且批大小還只能是一張圖像。這主要因為輸入圖像為 2048x1024 的高清大圖,訓練所需的顯存與計算都非常大。
帶*符號表示 GPU 顯存不足以運行模型
(2) 性能(每秒處理的圖像數(shù)量)
這些都是大模型,連計算最快的神經(jīng)架構搜索模型 NasNet Large,之前也一直以算力需求大著稱。盡管訓練 NasNet Large 的數(shù)據(jù)集是 ImageNet,其圖像分辨率只有 331x331。
帶*符號表示 GPU 顯存不足以運行模型
2. 語言類模型測試
對于語言類模型而言,批量處理量方面依舊是 RTX 系為最優(yōu)。但單從性能角度而言,跟其他各款相比,Titan RTX 卻有著不錯的表現(xiàn)。
(1) 顯存能支持的最大批量大小
如下前面三個都是機器翻譯模型,后面三個都是預訓練語言模型。兩者的計數(shù)方式不太一樣,一條 Sequences 可能幾十到幾百個 Token。
帶*符號表示 GPU 顯存不足以運行模型
(2) 性能
帶*符號表示 GPU 顯存不足以運行模型
3. 以 RTX 8000 為基準,向右看齊
上面的性能表格可能不夠直觀,lambda 以 Quadro RTX 8000 為基準,將其設定為「1」,其它 GPU 則針對該 GPU 計算出相對性能。如下所示為不同模型在不同 GPU 上進行訓練的數(shù)據(jù)吞吐量:
對于所有測試結果,lambda 給出了測試模型與數(shù)據(jù)集。如說是 CV 中的各種任務,其采用了 ImageNet、MSCOCO 和 CityScape 等主流主數(shù)據(jù)集,模型也直接用原作者在 GitHub 上開源的代碼。如果是 NLP 中的各種任務,除了 WMT 英-德數(shù)據(jù)集,其它 GLUE 基準中的數(shù)據(jù)集也有采用。
從圖像識別、分割、檢測與生成,到機器翻譯、語言模型與 GLUE 基準,這些任務差不多覆蓋了 GPU 使用的絕大多數(shù)場景,這樣的測試也是比較合理了。
二、2020 年,深度學習需要什么樣的 GPU?
「舊模型」都跑不了,更別說什么開發(fā)新模型了。看完上面的測試結果,是不是感覺「生活突然失去了夢想」?除了硬件之外,我們還可以從本次測評中觀察到近段時間深度學習發(fā)展趨勢的變化:
- 語言模型比圖像模型更需要大容量顯存。注意語言模型那張圖的折線變化軌跡要比圖像模型那張更加陡峭。這表明語言模型受內(nèi)存的限制更大,而圖像模型受算力的限制更大。
- 顯存越高,意味著性能越強大。因為顯存越大,batch size 就越大,CUDA 核可以更加接近滿負荷工作。
- 更大的顯存可以按比例用更大的 Batch size,以此推之:24GB 顯存的 GPU 相比 8GB 顯存的 GPU 可以用上 3 倍的 batch。
- 對于長序列來說,語言模型的內(nèi)存占用增長情況不成比例,因為注意力是序列長度的二次方。
有了這些認識,我們就可以愉快地挑選 GPU 了:
- RTX 2060(6GB):如果你想在業(yè)余時間探索深度學習。
- RTX 2070 或 2080(8GB):如果你想認真地研究深度學習,但用在 GPU 上的預算僅為 600-800 美元。8G 的顯存可以適用于大部分主流深度學習模型。
- RTX 2080Ti(11GB):如果你想要認真地研究深度學習,不過用在 GPU 上的預算可以到 1200 美元。RTX 2080Ti 在深度學習訓練上要比 RTX 2080 快大約 40%。
- Titan RTX 和 Quadro RTX 6000(24GB):如果你經(jīng)常研究 SOTA 模型,但沒有富裕到能買 RTX 8000 的話,可以選這兩款顯卡。
- Quadro RTX 8000(48GB):恭喜你,你的投入正面向未來,你的研究甚至可能會成為 2020 年的新 SOTA。
三、GPU 太貴,我選擇薅羊毛
現(xiàn)在訓練個模型,GPU 顯存至少得上 8GB,對應的價格實在有點勸退。
其實,很多大企業(yè)都推出了面向研究和實驗的免費 GPU 計算資源,例如我們熟知的 Kaggle Kernel、Google Colab,它們能提供 K80 或 P100 這種非常不錯的 GPU 資源,其中 Colab 還能提供免費 TPU。國內(nèi)其實也有免費 GPU,百度的 AI Studio 能提供 Tesla V100 這種強勁算力。
這三者都有各自的優(yōu)劣勢,Kaggle Kernel 與 Colab 都需要科學上網(wǎng),且 Kaggle Kernel 只能提供最基礎的 K80 GPU,它的算力并不大。Colab 還會提供 T4 和 P100 GPU,算力確實已經(jīng)足夠了,但 Colab 有時會中斷你的計算調(diào)用,這就需要特殊的技巧解決。
百度 AI Studio 也能提供非常強大的 V100 算力,且現(xiàn)在有免費算力卡計劃,每天運行環(huán)境都能獲得 12 小時的 GPU 使用時長。但問題在于,百度 AI Studio 只能調(diào)用 PaddlePaddle 框架,而不能自由選擇 TF 或 PyTorch。
1. Colab 薅毛要技巧
很多開發(fā)者在使用 Colab 時,總會抱怨時不時的終止,抱怨每一次結束后所有包和文件都會刪除。但實際上,除了科學上網(wǎng),其它很多問題都能解決。
首先最大一個問題是 Colab 會斷,但小編用過很多次,差不多每次只要保證頁面不關閉,連續(xù)運行十多個小時是沒問題的。按照我們的經(jīng)驗,最好是在北京時間上午 9 點多開始運行,因為這個時候北美剛過凌晨 12 點,連續(xù)運行時間更長一些。像 T4 或 P100 這樣的 GPU,連續(xù)運行 10 多個小時已經(jīng)是很劃算了,即使復雜的模型也能得到初步訓練。
那么如果斷了呢?這就要考慮加載 Google Drive 了。Colab 非常好的一點是能與谷歌云硬盤互動,也就是說等訓練一些 Epoch 后,可以將模型保存在云端硬盤,這樣就能做到持久化訓練。每當 Colab 斷了時,我們可以從云端硬盤讀取保存的模型,并繼續(xù)訓練。
如上兩行代碼可以將谷歌云硬盤加載到遠程實例的「content/drive」目錄下,后面各種模型操作與數(shù)據(jù)集操作都可以在這個目錄下完成,即使 Colab 斷了連接,所有操作的內(nèi)容也會保存在谷歌云盤。
只要搞定上面兩個小技巧,Colab 的實用性就很強了。當然,如果讀者發(fā)現(xiàn)分配的 GPU 是 K80,你可以重新啟動幾次 Colab,即釋放內(nèi)存和本地文件的重新啟動,每一次重啟都會重新分配 GPU 硬件,你可以「等到」P100。
此外,開發(fā)者還探索了更多的秘籍來保證 Colab 連接不會斷,例如跑一段模擬鼠標點擊的代碼,讓 Colab 斷了也能自己重連:
- function ClickConnect(){
- console.log("Working");
- document.querySelector("colab-toolbar-button#connect").click()
- }
- setInterval(ClickConnect,60000)
2. AI Studio 算力是真強
Colab 的 P100 已經(jīng)非常不錯了,它有 16GB 的顯存,訓練大模型也沒多大問題,但 AI Studio 的 V100 更強大。AI Studio 即使不申請計算卡,每天登陸項目也能獲得 12 個 GPU 運算時,連續(xù)登陸還能有獎勵。
AI Studio 類似 Jupyter Notebook 的編輯界面也非常容易使用,且中斷運行環(huán)境后保存在磁盤里面的文件并不會刪除,這也是 Colab 局限的地方。但該平臺只能導入 PaddlePaddle 框架,所以對于熟悉 PaddlePaddle 框架的開發(fā)者而言,AI Studio 是最好的免費算力平臺。
我們嘗試了一下,在終端可以安裝其他框架,且進入 Python 自帶 IDE 后也能導入新安裝的框架。但是在 Notebook 界面,會顯示只能導入 PaddlePaddle。
最后,看了這么多頂級 GPU 的性能對比,也了解了免費 GPU 計算資源的特性。所以,你是不是該宅在家搞一搞炫酷的深度學習新模型與新能力?
參考內(nèi)容:https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/
【本文是專欄機構“機器之心”的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】
戳這里,看該作者更多好文
網(wǎng)頁標題:2020年搞深度學習需要什么樣的GPU:請上48G顯存
URL鏈接:http://fisionsoft.com.cn/article/codjsjh.html


咨詢
建站咨詢
