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