華為(昇騰+CANN)+Deepseek,能解決英偉達(dá)GPU+CUDA的“卡脖子”嗎?
據(jù)tomshardware等多家媒體報道,華為最新的AI處理器昇騰910C(Ascend 910C)的推理性能已達(dá)NVIDIA H100 GPU的六成。
根據(jù)DeepSeek 研究人員的測試,在推理任務(wù)中,昇騰910C性能可達(dá)H100的60%。據(jù)悉,升騰910C采用chiplet封裝,第二代7nm級(N+2)工藝,整合約530億個晶體管。
雖然昇騰910C并非當(dāng)前最強(qiáng)AI芯片,但它有助于降低中國對NVIDIA GPU的依賴。
此外,通過手動優(yōu)化CANN內(nèi)核,其效率可以進(jìn)一步提高。DeepSeek對昇騰處理器及其 PyTorch存儲庫的原生支持允許以最小的的資源代價,實現(xiàn)CUDA到CANN的無縫轉(zhuǎn)換,從而更容易將華為的硬件集成到AI工作流程中。
據(jù)了解,DeepSeek的支持為華為芯片帶來了關(guān)鍵優(yōu)勢:從第一天起就支持華為昇騰芯片,自主維護(hù)PyTorch倉庫,只需一行代碼就能將CUDA轉(zhuǎn)換為CANN;而且性能優(yōu)化潛力巨大,通過定制優(yōu)化可達(dá)到更高性能。
據(jù)華為官網(wǎng)介紹,CANN(Compute Architecture for Neural Networks)是昇騰針對AI場景推出的異構(gòu)計算架構(gòu),對上支持多種AI框架,對下服務(wù)AI處理器與編程,發(fā)揮承上啟下的關(guān)鍵作用,是提升昇騰AI處理器計算效率的關(guān)鍵平臺。同時針對多樣化應(yīng)用場景,提供高效易用的編程接口,支持用戶快速構(gòu)建基于昇騰平臺的AI應(yīng)用和業(yè)務(wù)。
據(jù)了解,CANN分社區(qū)版和商用版。前者是快速提供新特性的體驗版,供開發(fā)者提前試用;而后者是滿足商用標(biāo)準(zhǔn)的穩(wěn)定版本。
目前,CANN社區(qū)版已經(jīng)來到了8.0.0.alpha003版本,針對Ascend C進(jìn)行了特性增強(qiáng)。而商用版CANN 8.0.RC3版本也已經(jīng)發(fā)布,新增適配7個操作系統(tǒng),簡化了CANN安裝流程。
DeepSeek的Yuchen Jin表示,長期訓(xùn)練可靠性是中國處理器的一個關(guān)鍵弱點。
主要是NNVIDIA硬件和軟件生態(tài)系統(tǒng)的深度集成,該生態(tài)系統(tǒng)已經(jīng)發(fā)展了二十多年。雖然推理性能可以優(yōu)化,但持續(xù)的訓(xùn)練工作負(fù)載需要華為的硬件和軟件堆棧進(jìn)一步改進(jìn)。
而隨著AI模型架構(gòu)向Transformer收斂,CUDA和PyTorch編譯器的重要性將降低。DeepSeek團(tuán)隊的加入將顯著降低對NVIDIA的依賴,大幅節(jié)省成本。
無獨有偶。此前有消息稱,DeepSeek開發(fā)的大語言模型繞過了英偉達(dá)的CUDA框架,正為未來兼容國產(chǎn)GPU芯片做準(zhǔn)備。
最新發(fā)現(xiàn)顯示,DeepSeek使用英偉達(dá)的H800芯片訓(xùn)練時,使用英偉達(dá)底層硬件指令PTX(Parallel Thread Execution)語言,而非高級編程語言CUDA。
這樣意味著DeepSeek繞過了CUDA,使用更底層的編程語言做優(yōu)化。
對于程序開發(fā)人員來說,CUDA是一種更加友好的高級語言,開發(fā)者只需要專注于程序和算法最相關(guān)的運(yùn)行邏輯,而不太需要考慮具體的程序是如何在GPU等硬件上具體如何執(zhí)行計算的,從而能夠降低開發(fā)難度。
而PTX在接近匯編語言的層級運(yùn)行,允許進(jìn)行細(xì)粒度的優(yōu)化,如寄存器分配和Thread / Warp級別的調(diào)整。這種編程非常復(fù)雜且難以維護(hù),所以行業(yè)通用的做法是使用CUDA這樣的高級編程語言。
換句話說,DeepSeek把優(yōu)化做到了極致。
北京航空航天大學(xué)副教授黃雷表示,繞過CUDA可以直接根據(jù)GPU的驅(qū)動函數(shù)做一些新的開發(fā),從而實現(xiàn)更加細(xì)粒度的操作。
這也說明DeepSeek擁有一些擅長寫PTX語言的內(nèi)部開發(fā)者。假如它之后使用國產(chǎn)GPU,其在硬件適配方面將會更得心應(yīng)手,其只要了解這些硬件驅(qū)動提供的一些基本函數(shù)接口,就可以仿照英偉達(dá)GPU硬件的編程接口去寫相關(guān)的代碼,從而讓自家大模型更加容易適配國產(chǎn)硬件。