夢晨 西風 發(fā)自 凹非寺,量子位 | 公眾號 QbitAI
英偉達剛剛從DeepSeek-R1引發(fā)的4萬億元暴跌中緩過勁來,又面臨新的壓力?
硬件媒體Tom‘s Hardware帶來開年最新熱議:
DeepSeek甚至繞過了CUDA,使用更底層的編程語言做優(yōu)化。
這一次是DeepSeek-V3論文中的更多細節(jié),被人挖掘出來。
來自Mirae Asset Securities Research(韓國未來資產證券)的分析稱,V3的硬件效率之所以能比Meta等高出10倍,可以總結為“他們從頭開始重建了一切”。
在使用英偉達的H800 GPU訓練DeepSeek-V3時,他們針對自己的需求把132個流式多處理器(SMs)中的20個修改成負責服務器間的通信,而不是計算任務。
變相繞過了硬件對通信速度的限制。
這種操作是用英偉達的PTX(Parallel Thread Execution)語言實現(xiàn)的,而不是CUDA。
PTX在接近匯編語言的層級運行,允許進行細粒度的優(yōu)化,如寄存器分配和Thread/Warp級別的調整。
這種編程非常復雜且難以維護,所以行業(yè)通用的做法是使用CUDA這樣的高級編程語言。
換句話說,他們把優(yōu)化做到了極致。
有網友表示,如果有一群人嫌CUDA太慢而使用PTX,那一定是前量化交易員。
一位亞馬遜工程師提出靈魂質問:CUDA是否還是護城河?這種頂尖實驗室可以有效利用任何GPU。
甚至有網友開始暢想,如果“新源神”DeepSeek開源了一個CUDA替代方案……
那么事情是否真會如此?
DeepSeek真的繞過了CUDA?
首先要明確的是,PTX仍然是英偉達GPU架構中的技術,它是CUDA編程模型中的中間表示,用于連接CUDA高級語言代碼和GPU底層硬件指令。
PTX類似匯編語言,代碼大概長這樣:
在實際編譯流程中,CUDA代碼首先被編譯為PTX代碼,PTX代碼再被編譯為目標GPU架構的機器碼(SASS,Streaming ASSembler)。
CUDA起到了提供高級編程接口和工具鏈的作用,可以簡化開發(fā)者的工作。而PTX作為中間層,充當高級語言和底層硬件之間的橋梁。
另外,這種兩步編譯流程也使得CUDA程序具有跨架構的兼容性和可移植性。
反過來說,像DeepSeek這種直接編寫PTX代碼的做法,首先不僅非常復雜,也很難移植到不同型號的GPU。
有從業(yè)者表示,針對H100優(yōu)化的代碼遷移到其他型號上可能效果打折扣,也可能根本不工作了。
所以說,DeepSeek做了PTX級別的優(yōu)化不意味著完全脫離了CUDA生態(tài),但確實代表他們有優(yōu)化其他GPU的能力。
事實上,我們也能看到DeekSeek已經與AMD、華為等團隊緊密合作,第一時間提供了對其他硬件生態(tài)的支持。
One More Thing
還有人提出,如此一來,讓AI擅長編寫匯編語言是AI自我改進的一個方向。
我們不知道DeepSeek內部是否使用AI輔助編寫了PTX代碼——
但是確實剛剛見證DeepSeek-R1編寫的代碼顯著提升大模型推理框架的運行速度。
Llama.cpp項目中的一個新PR請求,使用SIMD指令(允許一條指令同時處理多個數(shù)據(jù))顯著提升WebAssembly在特定點積函數(shù)上的運行速度,提交者表示:
這個PR中的99%的代碼都是由DeekSeek-R1編寫的。我唯一做的就是開發(fā)測試和編寫提示(經過一些嘗試和錯誤)。
是的,這個PR旨在證明大模型現(xiàn)在能夠編寫良好的底層代碼,甚至能夠優(yōu)化自己的代碼。
llama.cpp項目的創(chuàng)始人檢查了這段代碼后表示“比預期的更爆炸”。
參考鏈接:
[1]https://www.tomshardware.com/tech-industry/artificial-intelligence/deepseeks-ai-breakthrough-bypasses-industry-standard-cuda-uses-assembly-like-ptx-programming-instead
[2]https://x.com/bookwormengr/status/1883355712191123666
[3]https://tinkerd.net/blog/machine-learning/cuda-basics/
[4]https://www.amd.com/en/developer/resources/technical-articles/amd-instinct-gpus-power-deepseek-v3-revolutionizing-ai-development-with-sglang.html
[5]https://x.com/ggerganov/status/1883888097185927311