隨著機(jī)器學(xué)習(xí)越來越多地進(jìn)入社會的每一個角落,相應(yīng)的訓(xùn)練任務(wù)也成為了云端數(shù)據(jù)中心最關(guān)鍵的運算負(fù)載之一,同時這也推動了半導(dǎo)體相關(guān)芯片市場的蓬勃發(fā)展。在云端訓(xùn)練芯片領(lǐng)域,雖然一直有不同的挑戰(zhàn)者,但是Nvidia一直保持著龍頭的位置。從2012年深度學(xué)習(xí)復(fù)興,依靠Nvidia GPU的CUDA生態(tài)成功克服訓(xùn)練效率難題并成功掀起這一代人工智能潮流之后,Nvidia的GPU一直是訓(xùn)練市場的首選芯片。
上周MLperf公布的最新訓(xùn)練榜單也再次印證了Nvidia的穩(wěn)固地位。MLPerf是由機(jī)器學(xué)習(xí)業(yè)界的行業(yè)組織ML Commons牽頭做的標(biāo)準(zhǔn)榜單,其中訓(xùn)練榜單的具體測評方法是ML Commons提供一些業(yè)界最流行的機(jī)器學(xué)習(xí)模型的訓(xùn)練任務(wù),而不同的機(jī)構(gòu)會自行去使用不同的處理器和AI加速芯片配合相應(yīng)的軟件框架去搭建系統(tǒng)執(zhí)行這些訓(xùn)練任務(wù),并且將結(jié)果提交到MLPerf來匯總和公布。每過一段時間,該榜單都會更新一次以包括新的芯片以及新的訓(xùn)練任務(wù)。在最新的6月29日公布的MLPerf訓(xùn)練2.0版本的結(jié)果中,Nvidia的領(lǐng)先地位可以從榜單中的兩個地方看出:
首先是使用Nvidia GPU提交結(jié)果的數(shù)量。在這次MLPerf的最新訓(xùn)練榜單中,絕大多數(shù)(90%以上)機(jī)構(gòu)提交的訓(xùn)練結(jié)果都是基于Nvidia的GPU做訓(xùn)練加速,而如果再仔細(xì)看結(jié)果,會發(fā)現(xiàn)Nvidia的GPU是和不同的機(jī)器學(xué)習(xí)訓(xùn)練框架兼容性最好的。例如,Google、Intel和GraphCore都上傳了使用非Nvidia GPU的結(jié)果(Google使用TPU v4,Intel使用Habana Gaudi芯片,而Graphcore使用Bow IPU),但是這些競爭芯片對于深度學(xué)習(xí)框架支持的廣度都不及Nvidia——基本上所有深度學(xué)習(xí)框架都會支持Nvidia的GPU,但是支持其他芯片的深度學(xué)習(xí)框架種類則有限。這也從一個角度說明了Nvidia在生態(tài)上的領(lǐng)先。
其次是性能上的比較。值得注意的是,本次絕大多數(shù)機(jī)構(gòu)提交的基于Nvidia GPU的結(jié)果都是基于Nvidia A100 GPU,換句話說這已經(jīng)是兩年前的芯片的結(jié)果了(Nvidia官方宣布基于下一代GPU H100的結(jié)果將會在下一次MLPerf榜單更新時提交),但是其結(jié)果仍然很有競爭力,相較于其他更新的芯片的結(jié)果并不遑多讓。例如,相比最新的Google TPUv4,在大規(guī)模語言模型預(yù)訓(xùn)練(BERT)任務(wù)上,同樣使用4096張加速卡TPU v4需要的時間是0.179分鐘,而Nvidia A100需要的時間是0.206分鐘,相差并不大。相比Intel Habana Gaudi2,同樣使用8張加速卡Nvidia A100 的BERT訓(xùn)練結(jié)果是17.624分鐘,而Habana Gaudi2需要的時間是17.209分鐘。相比Graphcore Bow IPU,在BERT任務(wù)上128張A100的訓(xùn)練時間是2.655分鐘,而Bow IPU需要4.415分鐘。在一些物體識別任務(wù)中,Habana Gaudi2的性能確實強(qiáng)于A100,但是這樣的優(yōu)勢在Nvidia H100發(fā)布后是否還能保持還有很大的不確定性。
Nvidia的軟硬件生態(tài)是關(guān)鍵護(hù)城河
如前所述,Nvidia目前仍然在機(jī)器學(xué)習(xí)訓(xùn)練市場可以說是獨孤求敗,并沒有受到強(qiáng)大的挑戰(zhàn)。我們認(rèn)為,這得益于Nvidia在芯片和軟件方面的全面能力,而這從另一個角度又與人工智能芯片發(fā)展的規(guī)律相得益彰。
首先,人工智能的發(fā)展規(guī)律中,人工智能模型始終和相關(guān)的加速硬件一起發(fā)展,也正因為這個原因,有能力掌握軟硬件協(xié)同設(shè)計的公司將會有巨大的優(yōu)勢。即使單從芯片設(shè)計的角度來看,人工智能加速芯片中的架構(gòu)設(shè)計也是極其重要,從性能提升角度比芯片的半導(dǎo)體工藝要更重要。
縱觀MLPerf公布的榜單,從第一個榜單公布到現(xiàn)在的時間周期內(nèi),摩爾定律主導(dǎo)的芯片性能(時鐘頻率)提升約為四倍,但是芯片對機(jī)器學(xué)習(xí)任務(wù)的處理能力卻增強(qiáng)了四十倍,由此可見芯片架構(gòu)以及軟硬件協(xié)同設(shè)計恰恰是人工智能加速芯片的核心要素,而半導(dǎo)體工藝提升只是一個輔助因素。在這個領(lǐng)域,Nvidia確實具有巨大的優(yōu)勢,因為Nvidia在擁有強(qiáng)大的芯片架構(gòu)設(shè)計團(tuán)隊來為人工智能模型設(shè)計芯片架構(gòu)的同時,也擁有很強(qiáng)的軟件團(tuán)隊來優(yōu)化在芯片上的人工智能模型運行效率,兩者相結(jié)合確實威力無窮。
縱觀Nvidia針對機(jī)器學(xué)習(xí)的GPU設(shè)計,其軟硬件協(xié)同設(shè)計的思路可以說是一以貫之;在深度學(xué)習(xí)還未成為主流的時候,Nvidia就相當(dāng)具有前瞻性地大力投入CUDA通用計算(包括軟件架構(gòu)以及相應(yīng)的芯片架構(gòu)支持)讓GPU在曾經(jīng)CPU一統(tǒng)天下高性能計算領(lǐng)域的打出一片天,而在深度學(xué)習(xí)成為主流之后,Nvidia的做法并非一味暴力增強(qiáng)算力,而是通過有針對性地優(yōu)化來以最佳的效率提升性能,其中的例子包括支持混合精度訓(xùn)練和推理,對于INT8的大力支持,在GPU中加入Tensor Core來提升卷積計算能力,以及最新的在H100 GPU中加入Transformer Engine來提升相關(guān)模型的性能。這些投入都包括了軟件和芯片架構(gòu)上的協(xié)同設(shè)計,而同時也收到了很好的回報,使得Nvidia能使用最小的代價(芯片面積,功耗)來保持性能的領(lǐng)先。
時至今日,Nvidia的GPU架構(gòu)已經(jīng)能在通用性(即對于各種模型算子的支持)和效率(即對于重要模型算子的運行效率)上獲得了很好的平衡,因此即使在“GPU架構(gòu)并不是最適合機(jī)器學(xué)習(xí)模型加速”的觀點盛行多年后,Nvidia的GPU仍然是機(jī)器學(xué)習(xí)訓(xùn)練市場的最優(yōu)選擇——因為其他的加速芯片對于某些算子做專用優(yōu)化之后往往通用性無法顧及,而通用型的加速芯片則很難與擁有巨大系統(tǒng)團(tuán)隊支持的Nvidia設(shè)計的GPU性能相抗衡。
在性能領(lǐng)先之外,Nvidia在軟件生態(tài)上也擁有很高的護(hù)城河。如前所述,Nvidia的芯片架構(gòu)能夠在通用性和效率之間實現(xiàn)一個很好的平衡,而在這個基礎(chǔ)上,一套易用且能充分調(diào)動芯片架構(gòu)潛力的軟件生態(tài)則會讓Nvidia在機(jī)器學(xué)習(xí)模型社區(qū)擁有巨大的影響力——這使得模型設(shè)計者在設(shè)計模型時將會自發(fā)針對Nvidia的GPU做模型優(yōu)化,從而更進(jìn)一步提高Nvidia的競爭力。Nvidia擁有CUDA這樣成熟而性能良好的底層軟件架構(gòu),因此目前幾乎所有的深度學(xué)習(xí)訓(xùn)練和推理框架都把對于Nvidia GPU的支持和優(yōu)化作為必備的目標(biāo),相比較而言對于其他競爭芯片來說,軟件生態(tài)方面的支持就少得多了(例如對于Google TPU的主要生態(tài)支持來自Google自己的TensorFlow,然而TensorFlow目前在人工智能社區(qū)使用人數(shù)正在慢慢落后于Pytorch,這也成為TPU在生態(tài)上的一個瓶頸),這也成為了Nvidia GPU的一大護(hù)城河。
未來的市場格局會如何發(fā)生變化?
目前Nvidia在人工智能訓(xùn)練市場的領(lǐng)先地位仍然非常穩(wěn)固,但是隨著挑戰(zhàn)者的出現(xiàn),在未來市場格局有可能會出現(xiàn)變化。我們認(rèn)為,可以把競品分成幾類,而不同的競品也將會有不同的市場格局影響。
第一類是科技公司自研芯片:他們走和Nvidia相似的路線(即軟硬件結(jié)合設(shè)計),通過調(diào)動自身對于人工智能模型的深入理解,來實現(xiàn)有競爭力的芯片。另一方面,這類芯片通常不需要在生態(tài)方面與Nvidia競爭,因為其主要的客戶就是這些科技公司自己,因此從市場格局上來說會部分減少這些公司對于Nvidia的依賴度,但是總體來說并不會對Nvidia直接競爭。典型的例子是Google的TPU系列,Google本身對于人工智能的研發(fā)能力甚至比Nvidia更強(qiáng),那么通過這樣的積累結(jié)合軟硬件協(xié)同設(shè)計就能實現(xiàn)性能很強(qiáng)的自研芯片,但是這樣的芯片并不會對外出售也不會在市場上和Nvidia正面競爭,因此對市場格局影響不大。
第二類是在芯片架構(gòu)設(shè)計上做出和Nvidia不同的取舍,從而在某些模型中實現(xiàn)超過Nvidia的性能(包括運行速度,功耗,能效比等),從而和Nvidia實現(xiàn)差異化競爭。Intel Habana和Graphcore都是屬于這類思路,他們的芯片在一些重要模型類型中有相對Nvidia更高的性能或效率,從而隨著這些模型相關(guān)算力需求增大,也有更多理由來使用這些芯片。這些芯片將會在模型運行效率的維度(而非通用平均性能)和Nvidia有競爭,但是也不太可能顛覆Nvidia。
第三類是直接復(fù)制Nvidia的整個技術(shù)鏈條,和Nvidia打白刃戰(zhàn),并通過實打?qū)嵉娜轿恍阅芎托詢r比等因素來獲得市場。這樣做的公司主要是AMD,目前AMD的MI系列高性能計算GPU雖然還沒有獲得廣泛應(yīng)用,在這次MLPerf上也沒有相關(guān)的結(jié)果,但是事實上整體高性能計算和云端計算市場對于這類Nvidia的替代性產(chǎn)品有很強(qiáng)的需求,因為Nvidia成為該領(lǐng)域的單一供應(yīng)商將會對供應(yīng)鏈造成風(fēng)險,同時也降低系統(tǒng)公司的議價能力。AMD在該領(lǐng)域的努力正在慢慢獲得業(yè)界的支持,在主流深度學(xué)習(xí)框架(例如PyTorch)已經(jīng)加入了對于AMD系列GPU后端的支持,而相信云端計算廠商也在逐漸增加基于AMD GPU機(jī)器學(xué)習(xí)系統(tǒng)的投入。我們認(rèn)為,AMD可能會是該領(lǐng)域?qū)τ贜vidia的最有力競爭對手,也最有可能獲得較大的市場份額。
聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)發(fā)僅為更大范圍傳播,若有異議請聯(lián)系我們修改或刪除:zhangkai@cgbtek.com