算力芯片的“CUDA難題”

姬曉婷
CUDA之所以會成為算力芯片硬件廠商必須要認真考慮的一個選擇,最直接的原因,是其已經(jīng)實現(xiàn)了與算法客戶的強綁定。眾多算法工程師已經(jīng)習(xí)慣了CUDA提供的工具庫及其編程語言,向外遷移總是會存在不習(xí)慣的問題。

1.png

本文來自微信公眾號“中國電子報”,作者/姬曉婷。

“生成式AI時代和AI的iPhone時刻已經(jīng)到來”。北京時間8月8日晚間,英偉達創(chuàng)始人黃仁勛在計算機圖形學(xué)頂會SIGGRAPH上發(fā)布了GH200 Grace Hopper超級芯片、AI Workbench等成果時這樣講道,并透露首批GH200預(yù)計于2024年第二季度出貨。在全球范圍內(nèi)白熱化算力爭霸的當(dāng)下,英偉達已經(jīng)贏得了競爭先機,而其并行計算和編程平臺CUDA可能是最重要的“幕后英雄”。憑借強大而豐富的計算庫,CUDA得到了算法工程師的認可,甚至被認為是“鞏固英偉達硬件市場地位的護城河”。因此,CUDA成為擺在其他算力芯片企業(yè)眼前的兩難問題:兼容還是不兼容?

兼容CUDA是因為“好用”

CUDA之所以會成為算力芯片硬件廠商必須要認真考慮的一個選擇,最直接的原因,是其已經(jīng)實現(xiàn)了與算法客戶的強綁定。眾多算法工程師已經(jīng)習(xí)慣了CUDA提供的工具庫及其編程語言,向外遷移總是會存在不習(xí)慣的問題。

因此,很多算力芯片硬件廠商選擇了兼容CUDA的路線——使硬件能夠直接用CUDA調(diào)動起來,這樣可以降低用戶更換硬件平臺的不適感。

換手機有“一鍵遷移”功能。而如果兼容CUDA——記者在采訪中了解到——換芯片硬件也可以像換手機一樣容易。如果芯片客戶原本用的是CUDA軟件和英偉達的卡,在向兼容CUDA的算力硬件遷移過程中,原有的代碼一個都不改,直接就能用起來。這樣一來,客戶嘗試選用新的算力芯片的意愿將大大提升。

算法工程師對CUDA的使用習(xí)慣并不是一天養(yǎng)成的。

英偉達GPU及其并行計算和編程平臺CUDA進入行業(yè)時間早,這為英偉達積累了非常明顯的先發(fā)優(yōu)勢。從當(dāng)前火熱的大模型的發(fā)展歷程來看,許多大模型發(fā)展之初都是基于開源機器學(xué)習(xí)庫PyTorch訓(xùn)練,最早期使用的也是英偉達的GPU,與之相配套,算法工程師便會大量地用到CUDA庫代碼。從機器學(xué)習(xí)出現(xiàn)到大模型盛行,經(jīng)過十幾年的發(fā)展,算法工程師們不可避免地會用到CUDA庫支持的算子。這樣一來,如果使用CUDA驅(qū)動硬件,大模型寫好之后,編程語言就能直接運行起來,實現(xiàn)無縫對接。

1.png

CUDA主頁

包括大模型企業(yè)在內(nèi),使用計算芯片的企業(yè)所采用的硬件基礎(chǔ)也基本上是由英偉達的產(chǎn)品搭建的。在一次計算訓(xùn)練中,統(tǒng)一硬件品牌,也能更好保證其訓(xùn)練的穩(wěn)定性。因為英偉達產(chǎn)品入局早,許多工程師對CUDA的使用習(xí)慣甚至是從學(xué)校受教育階段便培養(yǎng)起來的,在畢業(yè)參加工作后,各企業(yè)采用的軟硬件工具也是英偉達廠牌。這樣一來,算法工程師在軟件工具使用上存在非常大的慣性。

這對于英偉達之外的算力芯片來說意味著,如果不兼容CUDA,市場推廣過程將存在一定的困難。

某算力芯片企業(yè)告訴記者,要想打開市場,短期內(nèi)必須兼容CUDA生態(tài)。如果不兼容CUDA,就會出現(xiàn)很多問題,包括要在代碼上做微調(diào),跑模型時要實現(xiàn)收斂等問題,這背后的工作量相當(dāng)大。但如果整個軟硬件能夠支持CUDA,客戶就無需再做二次開發(fā)或者修改算法。這被認為是降低客戶使用成本最簡單的方式。

兼容CUDA也是在幫助客戶節(jié)約時間。對于以大模型為主營業(yè)務(wù)的企業(yè)而言,時間就是生命。模型推演快一天、比競爭對手的產(chǎn)品早一天上線都是非常重要的。因此,若是硬件遷移需要工程師花大量的時間適應(yīng)軟件工具,將極大地降低客戶對新產(chǎn)品的接受意愿。

1.png

來源:CUDA官網(wǎng),《中國電子報》整理

“要站在用戶的角度思考問題”,這是企業(yè)選擇兼容CUDA的立足基點??蛻糸_發(fā)大模型,是以效率為第一要義的,很多軟件工程,也都是拿到現(xiàn)成的代碼再做調(diào)優(yōu)?,F(xiàn)在很火的大模型的開發(fā)也是同樣的,很多廠家先拿到小模型和機器學(xué)習(xí)的代碼,再在此基礎(chǔ)上做累加和調(diào)優(yōu),最終實現(xiàn)規(guī)?;?。

要讓客戶覺得“好用”,首先要解決的是“能用”的問題。也就是首先得將客戶積累了十幾甚至二十幾年的軟件基礎(chǔ)跑起來,解決“從0到1”的問題。只有這個問題解決了,才能考慮“好用”的問題、“從1到100”的問題——能幫助客戶通過編程支持新功能。

從企業(yè)戰(zhàn)略的角度來看,英偉達的生態(tài)已經(jīng)形成比較成熟的市場、標(biāo)準(zhǔn)和護城河?;谶@樣的事實,在既有標(biāo)準(zhǔn)的基礎(chǔ)上切入,對于算力芯片企業(yè)而言,將是更加便利且高效的路徑。

兼容CUDA也是一把“雙刃劍”

不過,也有業(yè)界專家提醒記者,許多宣稱“兼容”CUDA的產(chǎn)品,并不是真的“兼容”,而是通過架構(gòu)的相似性,使產(chǎn)品可以比較容易地運行CUDA的代碼。因為CUDA不是開源代碼,是“黑盒子”,因此100%兼容CUDA在技術(shù)上是無法實現(xiàn)的。同時在安全、知識產(chǎn)權(quán)方面存在風(fēng)險。

“兼容”CUDA就像一把雙刃劍,一方面可以降低算力芯片企業(yè)的獲客成本,另一方面,也會在一定程度上給產(chǎn)品的創(chuàng)新潛能帶來限制。

許多算力芯片企業(yè)選擇在軟件棧上另辟蹊徑,主要是因為擔(dān)心“兼容”CUDA會成為自家產(chǎn)品發(fā)展“天花板”。當(dāng)前“兼容”CUDA的方式,主要是試圖將編程模型做到與CUDA一致,但實際底層的硬件架構(gòu)難以實現(xiàn)與英偉達的GPU完全相同。由此,兼容CUDA很有可能只能是短期行為,長期來看將不利于芯片架構(gòu)創(chuàng)新與性能的提升。而自研軟件棧,則相當(dāng)于將創(chuàng)新的“天花板”掌握在自己手中。

從全球來看,許多國外的做算力芯片企業(yè),例如Graphcore、SambaNova、tenstorrent,沒有一家兼容CUDA。而之所以不去兼容CUDA,歸根結(jié)底,是因為各家希望探索出更適合做AI計算的路。英偉達的GPU早期只做GPU圖形渲染,只是因為其產(chǎn)品能夠借助CUDA在通用計算領(lǐng)域,也就是在包括AI在內(nèi)的領(lǐng)域用起來,才使其逐漸成為AI算力芯片領(lǐng)域的領(lǐng)頭羊。但從英偉達產(chǎn)品的計算架構(gòu)和性價比來看,都不是最合適的AI計算的產(chǎn)品。

換句話說,如果英偉達是最合適的,可能也就沒有這么多AI芯片公司存在了。

算力芯片的后來者,要做的是從前人的發(fā)展中吸取經(jīng)驗,但依然要摸索自己的路。CUDA的出現(xiàn),最初只是為了使GPU能夠滿足除視覺處理之外的其他通用計算功能。而之所以CUDA會富有市場競爭力,核心在于它實現(xiàn)了從硬件層到軟件層的全跑通,且基于其百萬級的客戶體量,實現(xiàn)了對性能的優(yōu)化。

芯片設(shè)計、軟件開發(fā),這是一件亟需創(chuàng)新能力的事情。如果還想走CUDA的老路,只是盡可能模仿英偉達的產(chǎn)品,其實就沒有往把AI芯片做得更好的路徑上走,兼容CUDA某種程度也是在壯大英偉達的生態(tài),增強對CUDA的依賴性。

而如果不兼容CUDA,走自主創(chuàng)新的道路,產(chǎn)品和企業(yè)發(fā)展的路徑都將更寬。因此有的企業(yè)選擇了走自定義編程模型的路線,提供從硬件平臺到開發(fā)者工具包、計算庫和框架的一整套方案。

而對于這條路可能存在的獲客困難問題,有的算力芯片企業(yè)向《中國電子報》記者表示,如果客戶下定決心向英偉達生態(tài)之外的其他產(chǎn)品遷移,其實平臺間遷移的困難并沒有想象中那么大,客戶還是能獲得豐厚商業(yè)價值回報的。

底層邏輯是構(gòu)建開發(fā)者生態(tài)

軟硬件協(xié)同完善的生態(tài)是客戶選擇CUDA的根本原因,也是英偉達領(lǐng)先于其他算力芯片企業(yè)最核心的競爭力。

盡管在是否兼容CUDA的問題上,算力芯片設(shè)計企業(yè)具有不同的觀點,但在搭建企業(yè)生態(tài)的問題上,記者接觸的算力芯片企業(yè)都給出了一致的回答:要建設(shè)企業(yè)自己的生態(tài)體系。

至于何為生態(tài)、如何搭建生態(tài),業(yè)界的觀點存在些許差異。

有的企業(yè)選擇從指令集開始,到計算庫和編譯器等層次進行自研,構(gòu)建軟硬件相結(jié)合的生態(tài)。構(gòu)建自己的軟件棧首先是打好基礎(chǔ),對標(biāo)CUDA及以下的抽象層次,充分發(fā)揮自己芯片的特色,開發(fā)出一套用戶可用、易用的編程模型。積硅步以至千里,最終幫助目標(biāo)客戶完成從英偉達到自家芯片的平滑遷移,同時又能使客戶在使用自己的軟件棧時充分感受到新特性帶來的更優(yōu)體驗。

CUDA生態(tài)合作伙伴

1.png

所謂的“生態(tài)”底層邏輯是開發(fā)者生態(tài)。AI芯片作為技術(shù)屬性很強的產(chǎn)品,其核心價值是幫助開發(fā)者在這個硬件的基礎(chǔ)上加速其算法開發(fā)與業(yè)務(wù)部署。生態(tài)建設(shè)的成功與否取決于這款產(chǎn)品能否給客戶帶來價值。例如學(xué)生學(xué)習(xí)了這款產(chǎn)品的知識能夠幫助其找到工作,企業(yè)使用該產(chǎn)品后能實現(xiàn)其業(yè)務(wù)目標(biāo),并且市場上也有相應(yīng)熟悉該產(chǎn)品的人才儲備等等;生態(tài)里的每一個角色都能獲得利益才是生態(tài)健康成長的關(guān)鍵。

因此,有的算力芯片廠商給出了這樣的發(fā)展建議:國內(nèi)廠商協(xié)同定義自研編程模型,以此聯(lián)合拓展開發(fā)者,集聚企業(yè)的力量,讓更多的高校、商業(yè)伙伴使用。

大模型的出現(xiàn),為生態(tài)搭建從芯片廠各自為戰(zhàn)走向產(chǎn)業(yè)聯(lián)合提供了契機。

如果沒有大模型,各家都會選擇適合自己的通用方式,缺少將供應(yīng)鏈上下游集合到一起解決問題的利益取向。用簡單的話來說,如果是三五張卡一臺服務(wù)器就能解決的問題,一家企業(yè)單點調(diào)優(yōu)就可以實現(xiàn)了。而大模型是需要大算力和大互聯(lián)的東西,動輒要調(diào)動上萬張卡、上千臺服務(wù)器,還要考慮供電等各種問題,最后呈現(xiàn)的是關(guān)乎生產(chǎn)基礎(chǔ)甚至國計民生的東西,它所需要的資源就不是一家企業(yè)能夠做到的,因此更需要產(chǎn)業(yè)鏈的協(xié)作,更有機會調(diào)動產(chǎn)業(yè)鏈更多的資源。

不僅如此,大模型的出現(xiàn),也為算力芯片市場突破提供了機會。大模型的發(fā)展使人工智能的技術(shù)路線出現(xiàn)了收斂的趨勢。在大模型出現(xiàn)之前,對應(yīng)一個需求的解決方案非常繁雜,每個企業(yè)都會提出自己的方案。而大模型的發(fā)展,使得算法技術(shù)路線逐漸統(tǒng)一于Transformer模型,從而也為算力芯片日后需要瞄準(zhǔn)的技術(shù)方向樹立了“靶子”。在這種情況下,如果算力芯片企業(yè)能夠爭取到大的算力供應(yīng)商(例如大的互聯(lián)網(wǎng)公司)作為合作伙伴,再以此為基礎(chǔ)推出結(jié)合其他行業(yè)的特點做微調(diào),進而產(chǎn)出適合多行業(yè)的解決方案,就有很大的機會贏得更廣闊的市場前景,也就有了打破英偉達商業(yè)壁壘的機會。

關(guān)于如何實現(xiàn)產(chǎn)業(yè)鏈協(xié)作,實現(xiàn)算力芯片的破局,記者采訪的企業(yè)表示,可以聯(lián)通可控的供應(yīng)鏈,在所有的供應(yīng)鏈成員中了解自己有哪些獨特的技術(shù),評估有競爭力的地方,結(jié)合自己的技術(shù)特色解決人工智能發(fā)展中存在的問題。、

要做好自己的產(chǎn)業(yè)生態(tài),當(dāng)前最缺的是大量工程師的調(diào)優(yōu)工作。英偉達的GPU加速庫中有數(shù)學(xué)庫、并行算法庫、圖像和視頻庫、通信庫、深度學(xué)習(xí)庫等多個類型,有100個加速庫,每個計算庫又積累了開源代碼。這是英偉達幾萬工程師耕耘了20年,通過解決客戶的問題所積累起來的結(jié)果。

對于算力芯片企業(yè)而言,要做好自己的軟件生態(tài),當(dāng)前不存在很多科研問題,很多問題都可以通過開源代碼找到答案。當(dāng)前業(yè)內(nèi)存在的是工程問題,需要安下心來一點一點做,需要依靠眾多工程師的力量,集中力量辦大事?,F(xiàn)在算力芯片從0到1的突破已經(jīng)實現(xiàn)了,剩下的就要看時間和積累。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論