隨著機(jī)器學(xué)習(xí)越來越多地進(jìn)入社會的每一個角落,,相應(yīng)的訓(xùn)練任務(wù)也成為了云端數(shù)據(jù)中心最關(guān)鍵的運(yù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的性能確實(shí)強(qiáng)于A100,,但是這樣的優(yōu)勢在Nvidia H100發(fā)布后是否還能保持還有很大的不確定性。
Nvidia的軟硬件生態(tài)是關(guān)鍵護(hù)城河
如前所述,,Nvidia目前仍然在機(jī)器學(xué)習(xí)訓(xùn)練市場可以說是獨(dú)孤求敗,,并沒有受到強(qiáng)大的挑戰(zhàn)。我們認(rèn)為,,這得益于Nvidia在芯片和軟件方面的全面能力,,而這從另一個角度又與人工智能芯片發(fā)展的規(guī)律相得益彰。
首先,,人工智能的發(fā)展規(guī)律中,,人工智能模型始終和相關(guān)的加速硬件一起發(fā)展,也正因?yàn)檫@個原因,,有能力掌握軟硬件協(xié)同設(shè)計(jì)的公司將會有巨大的優(yōu)勢,。即使單從芯片設(shè)計(jì)的角度來看,人工智能加速芯片中的架構(gòu)設(shè)計(jì)也是極其重要,,從性能提升角度比芯片的半導(dǎo)體工藝要更重要,。
縱觀MLPerf公布的榜單,從第一個榜單公布到現(xiàn)在的時間周期內(nèi),,摩爾定律主導(dǎo)的芯片性能(時鐘頻率)提升約為四倍,,但是芯片對機(jī)器學(xué)習(xí)任務(wù)的處理能力卻增強(qiáng)了四十倍,由此可見芯片架構(gòu)以及軟硬件協(xié)同設(shè)計(jì)恰恰是人工智能加速芯片的核心要素,,而半導(dǎo)體工藝提升只是一個輔助因素,。在這個領(lǐng)域,Nvidia確實(shí)具有巨大的優(yōu)勢,,因?yàn)镹vidia在擁有強(qiáng)大的芯片架構(gòu)設(shè)計(jì)團(tuán)隊(duì)來為人工智能模型設(shè)計(jì)芯片架構(gòu)的同時,,也擁有很強(qiáng)的軟件團(tuán)隊(duì)來優(yōu)化在芯片上的人工智能模型運(yùn)行效率,兩者相結(jié)合確實(shí)威力無窮,。
縱觀Nvidia針對機(jī)器學(xué)習(xí)的GPU設(shè)計(jì),,其軟硬件協(xié)同設(shè)計(jì)的思路可以說是一以貫之;在深度學(xué)習(xí)還未成為主流的時候,,Nvidia就相當(dāng)具有前瞻性地大力投入CUDA通用計(jì)算(包括軟件架構(gòu)以及相應(yīng)的芯片架構(gòu)支持)讓GPU在曾經(jīng)CPU一統(tǒng)天下高性能計(jì)算領(lǐng)域的打出一片天,,而在深度學(xué)習(xí)成為主流之后,Nvidia的做法并非一味暴力增強(qiáng)算力,,而是通過有針對性地優(yōu)化來以最佳的效率提升性能,,其中的例子包括支持混合精度訓(xùn)練和推理,,對于INT8的大力支持,在GPU中加入Tensor Core來提升卷積計(jì)算能力,,以及最新的在H100 GPU中加入Transformer Engine來提升相關(guān)模型的性能。這些投入都包括了軟件和芯片架構(gòu)上的協(xié)同設(shè)計(jì),,而同時也收到了很好的回報(bào),,使得Nvidia能使用最小的代價(芯片面積,功耗)來保持性能的領(lǐng)先,。
時至今日,,Nvidia的GPU架構(gòu)已經(jīng)能在通用性(即對于各種模型算子的支持)和效率(即對于重要模型算子的運(yùn)行效率)上獲得了很好的平衡,因此即使在“GPU架構(gòu)并不是最適合機(jī)器學(xué)習(xí)模型加速”的觀點(diǎn)盛行多年后,,Nvidia的GPU仍然是機(jī)器學(xué)習(xí)訓(xùn)練市場的最優(yōu)選擇——因?yàn)槠渌募铀傩酒瑢τ谀承┧阕幼鰧S脙?yōu)化之后往往通用性無法顧及,,而通用型的加速芯片則很難與擁有巨大系統(tǒng)團(tuán)隊(duì)支持的Nvidia設(shè)計(jì)的GPU性能相抗衡。
在性能領(lǐng)先之外,,Nvidia在軟件生態(tài)上也擁有很高的護(hù)城河,。如前所述,Nvidia的芯片架構(gòu)能夠在通用性和效率之間實(shí)現(xiàn)一個很好的平衡,,而在這個基礎(chǔ)上,,一套易用且能充分調(diào)動芯片架構(gòu)潛力的軟件生態(tài)則會讓Nvidia在機(jī)器學(xué)習(xí)模型社區(qū)擁有巨大的影響力——這使得模型設(shè)計(jì)者在設(shè)計(jì)模型時將會自發(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è)計(jì)),,通過調(diào)動自身對于人工智能模型的深入理解,,來實(shí)現(xiàn)有競爭力的芯片。另一方面,,這類芯片通常不需要在生態(tài)方面與Nvidia競爭,,因?yàn)槠渲饕目蛻艟褪沁@些科技公司自己,,因此從市場格局上來說會部分減少這些公司對于Nvidia的依賴度,但是總體來說并不會對Nvidia直接競爭,。典型的例子是Google的TPU系列,,Google本身對于人工智能的研發(fā)能力甚至比Nvidia更強(qiáng),那么通過這樣的積累結(jié)合軟硬件協(xié)同設(shè)計(jì)就能實(shí)現(xiàn)性能很強(qiáng)的自研芯片,,但是這樣的芯片并不會對外出售也不會在市場上和Nvidia正面競爭,,因此對市場格局影響不大。
第二類是在芯片架構(gòu)設(shè)計(jì)上做出和Nvidia不同的取舍,,從而在某些模型中實(shí)現(xiàn)超過Nvidia的性能(包括運(yùn)行速度,,功耗,能效比等),,從而和Nvidia實(shí)現(xiàn)差異化競爭,。Intel Habana和Graphcore都是屬于這類思路,他們的芯片在一些重要模型類型中有相對Nvidia更高的性能或效率,,從而隨著這些模型相關(guān)算力需求增大,,也有更多理由來使用這些芯片。這些芯片將會在模型運(yùn)行效率的維度(而非通用平均性能)和Nvidia有競爭,,但是也不太可能顛覆Nvidia,。
第三類是直接復(fù)制Nvidia的整個技術(shù)鏈條,和Nvidia打白刃戰(zhàn),,并通過實(shí)打?qū)嵉娜轿恍阅芎托詢r比等因素來獲得市場,。這樣做的公司主要是AMD,目前AMD的MI系列高性能計(jì)算GPU雖然還沒有獲得廣泛應(yīng)用,,在這次MLPerf上也沒有相關(guān)的結(jié)果,,但是事實(shí)上整體高性能計(jì)算和云端計(jì)算市場對于這類Nvidia的替代性產(chǎn)品有很強(qiáng)的需求,因?yàn)镹vidia成為該領(lǐng)域的單一供應(yīng)商將會對供應(yīng)鏈造成風(fēng)險,,同時也降低系統(tǒng)公司的議價能力,。AMD在該領(lǐng)域的努力正在慢慢獲得業(yè)界的支持,在主流深度學(xué)習(xí)框架(例如PyTorch)已經(jīng)加入了對于AMD系列GPU后端的支持,,而相信云端計(jì)算廠商也在逐漸增加基于AMD GPU機(jī)器學(xué)習(xí)系統(tǒng)的投入,。我們認(rèn)為,AMD可能會是該領(lǐng)域?qū)τ贜vidia的最有力競爭對手,,也最有可能獲得較大的市場份額,。