英偉達剛剛從DeepSeek-R1引發的4萬億元暴跌中緩過勁來,又面臨新的壓力?
硬件媒體Tom‘s Hardware帶來開年新熱議:
DeepSeek甚至繞過了CUDA,使用更底層的編程語言做優化。
這一次是DeepSeek-V3論文中的更多細節,被人挖掘出來。
來自Mirae Asset Securities Research(韓國未來資產證券)的分析稱,V3的硬件效率之所以能比Meta等高出10倍,可以總結為“他們從頭開始重建了一切”。
在使用英偉達的H800 GPU訓練DeepSeek-V3時,他們針對自己的需求把132個流式多處理器(SMs)中的20個修改成負責服務器間的通信,而不是計算任務。
變相繞過了硬件對通信速度的限制。
△ DeepSeek-V3 Technical Report
這種操作是用英偉達的PTX(Parallel Thread Execution)語言實現的,而不是CUDA。
PTX在接近匯編語言的層級運行,允許進行細粒度的優化,如寄存器分配和Thread/Warp級別的調整。
這種編程非常復雜且難以維護,所以行業通用的做法是使用CUDA這樣的高級編程語言。
換句話說,他們把優化做到了極致。
有網友表示,如果有一群人嫌CUDA太慢而使用PTX,那一定是前量化交易員。
一位亞馬遜工程師提出靈魂質問:CUDA是否還是護城河?這種頂尖實驗室可以有效利用任何GPU。
甚至有網友開始暢想,如果“新源神”DeepSeek開源了一個CUDA替代方案……
那么事情是否真會如此?
DeepSeek真的繞過了CUDA?
首先要明確的是,PTX仍然是英偉達GPU架構中的技術,它是CUDA編程模型中的中間表示,用于連接CUDA高級語言代碼和GPU底層硬件指令。
PTX類似匯編語言,代碼大概長這樣:
△來自tinkerd.net
在實際編譯流程中,CUDA代碼首先被編譯為PTX代碼,PTX代碼再被編譯為目標GPU架構的機器碼(SASS,Streaming ASSembler)。
CUDA起到了提供高級編程接口和工具鏈的作用,可以簡化開發者的工作。而PTX作為中間層,充當高級語言和底層硬件之間的橋梁。
另外,這種兩步編譯流程也使得CUDA程序具有跨架構的兼容性和可移植性。
反過來說,像DeepSeek這種直接編寫PTX代碼的做法,首先不僅非常復雜,也很難移植到不同型號的GPU。
有從業者表示,針對H100優化的代碼遷移到其他型號上可能效果打折扣,也可能根本不工作了。
所以說,DeepSeek做了PTX級別的優化不意味著完全脫離了CUDA生態,但確實代表他們有優化其他GPU的能力。
事實上,我們也能看到DeekSeek已經與AMD、華為等團隊緊密合作,第一時間提供了對其他硬件生態的支持。
One More Thing
還有人提出,如此一來,讓AI擅長編寫匯編語言是AI自我改進的一個方向。
我們不知道DeepSeek內部是否使用AI輔助編寫了PTX代碼——
但是確實剛剛見證DeepSeek-R1編寫的代碼顯著提升大模型推理框架的運行速度。
Llama.cpp項目中的一個新PR請求,使用SIMD指令(允許一條指令同時處理多個數據)顯著提升WebAssembly在特定點積函數上的運行速度,提交者表示:
這個PR中的99%的代碼都是由DeekSeek-R1編寫的。我唯一做的就是開發測試和編寫提示(經過一些嘗試和錯誤)。
是的,這個PR旨在證明大模型現在能夠編寫良好的底層代碼,甚至能夠優化自己的代碼。
llama.cpp項目的創始人檢查了這段代碼后表示“比預期的更爆炸”。
本文鏈接:http://www.tebozhan.com/showinfo-17-127882-0.html“DeepSeek甚至繞過了CUDA”!論文細節再引熱議 工程師靈魂提問:英偉達護城河還在嗎
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com