2023「煉丹」GPU選購指南來了:英偉達3080和4070Ti成性價比之王
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
春暖花開,各位深度學習er想不想給自己的“丹爐”升級一波?
“煉丹”愛好者們應該知道,在該領域中,**GPU的總體表現完勝CPU。
那么GPU應該怎么選?不妨來看看這篇超級詳盡的“2023版GPU選購指南”。
知名測評博主、華盛頓大學在讀博士Tim Dettmers親測后,寫下萬字長文,手把手教你Pick性價比最高的顯卡,避免踩雷。
△光是目錄就有這么長……
至于誰是性價比之王,不賣關子,這里先放上Tim哥的結論:
對于16位訓練過程,RTX 3080的性價比最高;對于8位和16位推理,RTX 4070Ti的性價比最高。
有意思的是,不只這倆,他在本文推薦的顯卡全是英偉達家的——Tim哥覺得,對于深度學習,“AMD GPU+ROCm”目前還打不過“NVIDIA GPU+CUDA”。
手把手教你挑GPU
Tim哥自制了一張表格,展示出在訓練和推理過程中,一美元能買到多少算力;這在一定程度上體現了英偉達眾顯卡的性價比。
△藍色-16位訓練;紅色-16位推理;黃色-8位推理
看到這個,你可能一臉問號:從表格來看,不是RTX 4080在8位和16位推理上的性價比更高嗎?
其實,咱們開頭說的是“綜合性價比”——
除了看一美元能買多少算力,還要結合顯卡的運行成本,比如電費。所以總的來說,還是RTX 4070Ti的性價比更高。
雖然RTX3080和RTX 4070 Ti性價比高,但這倆的內存是個明顯短板:
Tim哥指出,12GB在很多情況下都不夠用,要運行Transformer模型的話,至少需要24GB。
于是,Tim哥又貼心地做了一個小程序,幫你根據不同的任務選擇最合適的GPU。
其背后的核心思想是:不管干啥,一定要保證GPU的內存滿足你的需求。
首先,要弄清楚這個GPU是個人用還是公用,還有就是要處理什么任務——比如,是要訓練語言大模型(LLM)嗎、參數量有沒有超過130億?還是就做點小項目?
然后再根據自己的錢包情況,參考上面的表格,選擇最合適的GPU。
舉個例子:
如果要訓練LLM且參數量超過130億,不差錢的可以選擇支持Azure公有云的A100或者H100;追求性價比的話,可以選支持AWS的A100或者H100。
但如果預算實在有限,建議放棄……
(在亞馬遜上,40GB的英偉達Tesla A100售價為11769美元起,約合人民幣79529元。當然這都是針對國外的情況,在國內煉丹僅供參考)
另外,Tim哥還支了一招:最好用云GPU(比如Lambda云)來估測一下所需的GPU內存(至少12GB用于圖像生成,至少24GB用于處理Transformer)。
其實假如GPU僅偶爾使用(每隔幾天用幾小時),甚至都不用去買個實體的,用云GPU就可以了。
對了~如果你真的不在乎這點(?)錢,就要追求極致性能,那可以看看這張表,即GPU的原始性能排行。
那如果實在錢不夠,即使是Tim哥推薦的最便宜的GPU也買不起,還有辦法嗎?
那可以考慮二手呀!
先去買個便宜的GPU用于原型設計和測試,然后在云端進行全面的實驗和測試。
關鍵性能點有哪些?
盤點完英偉達的一堆GPU后,再來敘一敘關乎深度學習速度的幾大GPU性能關鍵點。
(如果你想稍微深入了解一些,請接著往下看。)
Tim哥指出,重點有四:GPU的內存、核心、Tensor Core和緩存。
而其中最重要的是Tensor Core。
Tensor Core是英偉達為其高端GPU開發的一項技術,本質上,就是加速矩陣乘法的處理單元。其中Tensor即張量,是一種能表示所有類型數據的數據類型。
Tim表示,在所有深度神經網絡中,最昂貴的部分是矩陣乘法,而有了Tensor Core,運算速度會變得非常快,有助于大大減少成本。
就拿一個入門級的32×32矩陣乘法來說,通過Tensor Core,將矩陣乘法的運算時間從504個周期,降低到235個周期,直接減半。
而且即便是超大規模的矩陣運算,Tensor Core也能輕松處理。在規模堪比GPT-3的訓練中,Tensor Core的TFLOPS利用率也就約為45-65%。
而當兩個GPU都有Tensor Cores時,要比較它們性能,最佳指標之一就是內存帶寬。
例如,A100 GPU的內存帶寬為1555GB/s,而V100為900GB/s。因此,A100和V100相比,運算速度大概是后者的1555/900=1.73倍。
由此可見,內存帶寬會影響到Tensor Core的性能發揮。于是研究人員開始尋找其他GPU屬性,使內存數據傳輸到Tensor Core的速度更快。
然后,他們發現,GPU的一級緩存、二級緩存、共享內存和使用的寄存器數量也都是相關因素。
對于緩存來說,數據塊越小,計算速度越快;所以需要把大的矩陣乘法,劃分成小的子矩陣乘法。研究者們把這些小的子矩陣乘法稱為“內存碎片”*(memory tiles)。
一部分“碎片”被加載到Tensor Core中,由寄存器直接尋址。
根據英偉達Ampere架構的規則,舉個例子~
把每一個權重矩陣都切成4個“碎片”,并假設其中兩個為零——于是就得到了一堆稀疏權重矩陣。
然后把這些稀疏權重矩陣與一些密集輸入相乘,Tensor Core功能啟動,將稀疏矩陣壓縮為密集表示,其大小為下圖所示的一半。
在壓縮之后,密集壓縮的“碎片”被送入Tensor Core,計算的矩陣乘法是一般大小的兩倍。這樣,運算速度就成了通常的2倍。
Tim哥表示,上述性能點,他在統計英偉達GPU性能時都考慮在內了。
如果你把這些東西吃透了話,以后就能完全靠自己配置出最合適的“煉丹爐”了。
原文傳送門:
?https://timdettmers.com/2023/01/30/which-gpu-for-deep-learning/