![]()
新智元報道
編輯:定慧 好困
【新智元導讀】壟斷全球的CUDA,迎來重大更新。
就在這個周末,英偉達干了兩件大事。
不僅在硬件底層生態上扔下了一枚深水炸彈,還在軟實力上秀了一把肌肉。
兩件大事:
1.軟件生態的「地基」重塑:NVIDIA CUDA 13.1正式推出。這是CUDA平臺誕生二十年來最大、最全面的一次更新。它引入了CUDA Tile編程模型,旨在屏蔽底層硬件細節,讓開發者能更輕松地駕馭下一代GPU(如Blackwell)的恐怖性能。
2.贏下AGI比賽:Kaggle ARC Prize 2025競賽中,特級大師團隊KGMoN以27.64%的分數奪得冠軍。令人震驚的是,他們使用的并非千億參數的巨型模型,而是一個僅4B的小模型變體,單次任務推理成本僅需20美分。
這周五,來自英偉達的Ivan Sorokin和Jean-Francois Puget,在Kaggle ARC Prize 2025的公開榜單上,以27.64%的分數奪得冠軍。
這場比賽被業內許多人視為衡量人類向通用AGI進度的「實時晴雨表」。
![]()
值得一提的是,他們的方案是在ARC-AGI-2基準測試背后的同一數據集上進行評估的。
NVARC一下子超過Claude Opus 4.5,并且成本很低(注意橫軸每個任務消耗為對數坐標軸)!
![]()
與此同時,英偉達還推出了自CUDA平臺誕生二十年以來最大、最全面的更新——NVIDIA CUDA 13.1。
NVIDIA CUDA Tile:基于Tile的編程模型,用于屏蔽包括Tensor Core在內的專用硬件底層細節。
Green Context:正式向運行時API開放。
NVIDIA cuBLAS:支持雙精度和單精度模擬。
CUDA編程指南:完全重寫,專為CUDA新手和資深程序員設計。
![]()
拿下AGI「圣杯」
4B小模型碾壓全場
如今,ARC-AGI已經成為了觀察AI通用推理真正進展的,最受關注的指標之一。
跟典型的機器學習基準不同,ARC-AGI的任務沒法靠堆規模、死記硬背或者抓取模式來搞定。
它是AI界公認的「智商測試」,由Keras之父Fran?ois Chollet提出,專門測試AI面對陌生問題的舉一反三能力,而不僅僅是死記硬背。
![]()
核心秘訣:320萬合成數據的「暴力美學」
NVARC方案最震撼的地方,在于他們構建了一個極其復雜的合成數據生成流水線。
他們沒有依賴原本稀缺的幾百個訓練題,而是自己造了320萬個!
他們的邏輯很簡單:如果AI沒見過類似的推理題,那就生成無窮無盡的類似題目讓它看個夠。
思路:合成數據、測試時訓練(Test-timetraining)以及嚴謹的工程化。
![]()
數據生成的「四步走」戰略
他們使用了一個120B參數的開源大模型(gpt-oss-120b),通過NeMo-Skills框架搭建了如下流水線:
![]()
收集描述(Descriptions):收集ARC題目的人類自然語言描述(比如「把紅色方塊向右移動直到碰到墻壁」)。
混合重組(MixSummaries):讓LLM將兩個不同謎題的描述「雜交」,生成一個新的、更復雜的謎題描述。這一步生成了26萬+的新創意。
生成輸入邏輯(InputLogic):這是最關鍵的一步!他們不直接生成像素圖,而是讓LLM寫Python代碼來生成輸入網格。為什么?因為代碼蘊含了邏輯,比純像素更「懂」推理。
生成輸出邏輯(OutputLogic):有了輸入代碼,再讓LLM寫出將輸入變換為輸出的Python代碼(即解題規則)。
最終,他們構建了一個包含320萬個增強樣本的超級數據集!
模型選擇:小模型,大智慧
有了海量數據,用什么模型來學呢?
NVARC并沒有使用乃至微調那種幾千億參數的巨型模型,而是選擇了Qwen3(4B參數)。
![]()
為什么選小模型?
1.速度快:ARC競賽有嚴格的時間限制,小模型推理飛快。
2.效果好:在特定領域(Coding/Reasoning)的海量高質量合成數據喂養下,4B模型的表現完全可以吊打未經微調的巨型模型。
他們使用NeMoRL框架和Megatron后端進行了高效的全量微調(SFT),讓模型學會了「看圖寫代碼」的能力。
推理時的魔法:TTT與DFS
模型訓練好了,在考場上(推理階段)怎么發揮最大威力?
NVARC用了兩個大招:
測試時訓練(Test-Time Training,TTT)
對于測試集中的每一個新謎題,他們不會直接預測答案,而是先利用該謎題給出的幾個示例,快速用LoRA技術微調一下模型。
讓模型在做題前,先「適應」一下這個題目的獨特風格。
![]()
深度優先搜索(DFS)
模型生成的不僅僅是答案,而是生成答案的Python代碼。這意味著,他們可以運行這些代碼來驗證結果是否符合示例。
通過Batch DFS算法,他們批量生成多種可能的代碼路徑,一旦某段代碼完美解決了所有示例,大概率也能解決測試題。
![]()
在比賽的最后10天,NVARC團隊還嘗試引入了ARC社區非常火的TRM(微型遞歸模型)。
雖然由于時間倉促,TRM并沒有成為得分的主力(主要還是靠Qwen3+合成數據),但這種將「遞歸推理」與「大模型直覺」結合的思路,非常有啟發性。
在最終的集成方案中,TRM也為分數的提升貢獻了微薄但寶貴的力量。
NVARC的勝利再次證明了Scaling Law在推理任務上的有效性,但這次Scaling的對象不是模型參數量,而是高質量的合成推理數據。
數據:用LLM生成代碼,用代碼生成數據。
模型:專精的小模型+針對性微調。
策略:推理時不要只做一次預測,要利用測試樣本進行TTT。
通往AGI的路上,也許不需要更復雜的架構,只需要更聰明的「造題」方法。
為此,團隊除了合成數據,還用了一些真實的謎題數據集。
最終數據集包含了320萬個增強樣本,每個樣本包含多達7對輸入/輸出。
![]()
在后訓練(post-training)階段,團隊基于NeMoRL框架,并用Megatron后端進行了監督微調(SFT),這樣能高效利用多節點H100GPU的顯存和計算資源。
期間,為了全量微調4B模型,團隊用了4個8xH100節點跑了27個小時。
在測試時,團隊對每個謎題獨立進行了LoRA微調(test-timefine-tuning),參數設為r=256和alpha=32。
期間,既要去掉梯度檢查點,也要去掉4-bit量化,并且微調要用bfloat16精度去跑。
除了這些,團隊還配合Unsloth框架使用了FlashAttention2。
![]()
開源項目:https://github.com/1ytic/NVARC
技術報告:https://github.com/1ytic/NVARC/blob/main/nvarc_2025.pdf
團隊在ARChitects方法中做的主要優化,是在解碼階段實現了深度優先搜索(DFS)算法的批處理(batch)。
并且,還使用了額外的增強(augmentations)來對DFS階段的候選結果進行重打分。
團隊在這里做了一點小改動。
也就是,對每個候選解只用了8次增強,但確保對每個候選解使用完全相同的增強。
如此一來,不同解法的分數更有可比性。
比賽期間,團隊在不同比例的合成數據上微調了模型。
從下圖中可以看到,在預訓練階段增加更多數據對損失函數的影響。
最好的模型在比賽期間拿到了27.64%的分數。
![]()
20年最大更新
CUDA 13.1徹底重構
CUDA Tile編程
為了幫助開發者為當前和未來的GPU構建軟件,CUDA 13.1重磅推出了CUDA Tile。
基于此,開發者可以直接在SIMT之上的一層編寫GPU Kernel(核函數)。
在SIMT編程中,開發者需要通過劃分數據和定義每個線程的執行路徑來指定Kernel。而通過CUDA Tile,則可以將代碼提升一個層級,指定為Tile數據塊。
開發者只需指定要在這些Tile上執行的數學運算,編譯器和運行時會自動確定將工作分發到各個線程的最佳方式。
不僅如此,由于Tile模型屏蔽了使用Tensor Core等專用硬件的細節,因此開發者現在寫的Tile代碼將直接兼容未來的GPU架構。
除此之外,CUDA13.1還發布了兩個用于Tile編程的組件:
CUDATileIR:一種用于對英偉達GPU進行編程的新虛擬指令集架構(ISA)。
cuTile Python:一種新的領域特定語言(DSL),用于在Python中編寫基于數組和Tile的Kernel。
CUDA軟件更新
Green Context現已向運行時API開放
CUDA中的Green Context(綠色上下文)是傳統CUDA Context的輕量級替代方案,目的是在為開發者提供一種在GPU上進行更細粒度空間分區和資源預置的機制。
Green Context使開發者能夠定義和管理GPU資源(主要是流多處理器,即SM)的獨特分區,并將一組特定的SM專用給某個特定的Context。
然后,開發者可以啟動CUDA Kernel,并管理僅在這個Green Context預置的資源內運行的流(Stream)。
CUDA13.1還引入了一個更可定制的split() API。
開發者可以構建以前需要多次API調用才能實現的SM分區,并且能夠配置工作隊列以最大限度地減少提交到不同Green Context的工作之間的虛假依賴。
CUDA多進程服務(MPS)更新
CUDA13.1為多進程服務(MPS)帶來了新特性和功能,其中的一些亮點包括:
內存局部性優化分區
內存局部性優化分區(MLOPart)是部分Blackwell(計算能力10.0和10.3)及更新GPU上的一項功能。開發者可以創建專門用于提高內存局部性的專用CUDA設備。
在受支持的GPU上使用MLOPart時,每個分區都顯示為一個獨立的CUDA設備,具有關聯的計算和內存資源。
靜態流多處理器分區
作為MPS中當前動態執行資源預置的替代方案,靜態流多處理器(SM)分區是Ampere架構(計算能力8.0)及更新GPU的一項功能,它提供了一種為MPS客戶端創建獨占SM分區的方法。
這個模式的主要目的是提供確定性的資源分配并改善MPS客戶端之間的隔離,可以通過使用-S或--static-partitioning標志啟動MPS控制守護進程來啟用。
開發者工具
CUDA Tile Kernel分析
NVIDIA Nsight Compute 2025.4增加了對分析CUDA Tile Kernel的支持。
更新包括:
摘要頁面上新的「Result Type(結果類型)」列,用于區分Tile與SIMT Kernel。
詳情頁面上新的「Tile Statistics(Tile統計)」部分總結了Tile維度和重要管道的利用率。
源頁面還支持將指標映射到高級cuTile Kernel源碼。
此外,還增加了對分析設備啟動的Graph中的CUDA Graph節點的支持,以及源頁面導航的改進,為編譯器生成和用戶生成的標簽提供了可點擊的鏈接。
![]()
Nsight Compute分析概況,突出顯示了分析輸出的Tile Statistics部分
編譯時修補
NVIDIA Compute Sanitizer 2025.4通過-fdevice-sanitize=memcheck編譯器標志增加了對CUDA編譯器(NVCC)編譯時修補的支持。這種修補增強了內存錯誤檢測并提高了Compute Sanitizer的性能。
編譯時插樁將錯誤檢測直接集成到NVCC中,以實現更快的運行速度,同時通過高級的基址和邊界分析捕獲更隱蔽的內存問題,例如相鄰分配之間的非法訪問。
這意味著用戶可以在不犧牲速度的情況下調試內存問題,運行更多測試并保持生產力。
要使用此新功能,請使用如下NVCC標志編譯代碼:
nvcc -fdevice-sanitize=memcheck -o myapp myapp.cu然后使用memcheck工具通過compute-sanitizer運行你的應用程序:
compute-sanitizer --tool memcheck myappNVIDIA Nsight Systems
NVIDIA Nsight Systems 2025.6.1與CUDA Toolkit 13.1同步發布,其中包括了多個全新的追蹤功能:
系統級CUDA追蹤:--cuda-trace-scope啟用跨進程樹或整個系統的追蹤。
CUDA主機函數追蹤:增加了對CUDA Graph主機函數節點和cudaLaunchHostFunc()的追蹤支持,后者在主機上執行并阻塞Stream。
CUDA硬件追蹤:在支持的情況下,基于硬件的追蹤現在是默認設置;使用--trace=cuda-sw可恢復到軟件模式。
Green Context時間軸行現在在工具提示中顯示SM分配,幫助開發者了解GPU資源利用率。
數學庫
核心CUDA Toolkit數學庫的新功能包括:
NVIDIA cuBLAS
一個新的帶有Grouped GEMM的實驗性API,支持Blackwell GPU上的FP8和BF16/FP16。
針對上述數據類型的Grouped GEMM,提供了一種無需主機同步的實現,在MoE用例中比多流GEMM實現速度提升高達4倍。
NVIDIA cuSPARSE
一個新的稀疏矩陣向量乘法(SpMVOp)API,與CsrMV API相比性能有所提高。
此API支持CSR格式、32位索引、雙精度和用戶定義的epilogue(后處理)。
NVIDIA cuFFT
一組cuFFT device API,提供用于在C++頭文件中查詢或生成設備函數代碼和數據庫元數據的主機函數。
它專為cuFFTDx庫設計,通過查詢cuFFT來促進cuFFTDx代碼塊的生成,這些代碼塊可以與cuFFTDx應用程序鏈接來提高性能。
cuBLAS Blackwell性能
CUDA Toolkit 12.9在Blackwell上引入了塊縮放(block-scaled)的FP4和FP8 matmul。
CUDA13.1增加了對這些數據類型和BF16的性能支持。
![]()
在不同數值精度下,Blackwell GPU相對于H200的加速比
cuSOLVER Blackwell性能
CUDA13.1繼續改進用于特征值分解的批處理SYEVD和GEEV API,提供了性能增強。
批處理SYEV(cusolverDnXsyevBatched)是cuSOLVER SYEV例程的統一批處理版本,用于計算對稱/厄米矩陣的特征值和特征向量,非常適合并行求解許多小矩陣。
在批量大小為5000(24-256行)的測試中,與L40S相比,RTX Pro 6000實現了約2倍的加速.
![]()
cusolverDnXgeev(GEEV)是一種混合CPU/GPU算法,用于計算一般(非對稱)稠密矩陣的特征值和特征向量。
在矩陣大小從1024到32768的測試中,RTX PRO 6000相對于L40S實現了最大超1.5倍的性能。
![]()
NVIDIA CUDA Core Compute Libraries(CCCL)
確定性浮點歸約
由于浮點加法的非結合性,cub::DeviceReduce歷史上僅保證在同一GPU上的運行之間結果是按位相同的。這是作為一個兩遍算法(two-passalgorithm)實現的。
作為CUDA 13.1的一部分,NVIDIA CCCL 3.1提供了兩個額外的浮點確定性選項,以便在確定性和性能之間進行權衡。
不保證(Not-guaranteed):使用原子操作的單遍歸約。這不保證提供按位相同的結果。
GPU-to-GPU:基于Kate Clark在GTC 2024演講中的可重現歸約。結果總是按位相同的。
可以通過標志設置確定性選項,如下面的代碼所示。
cub::DeviceReduce::Sum(..., env);![]()
CUB::DeviceReduce的三種不同浮點確定性選擇的歸一化執行時間
更方便的單階段CUB API
幾乎每個CUB算法都需要臨時存儲用于中間暫存空間。
之前,開發者必須通過兩階段調用模式來查詢和分配必要的臨時存儲,這種模式很繁瑣,并且如果兩次調用之間傳遞的參數不同,則容易出錯。
CCCL 3.1為一些CUB算法添加了新的重載,這些算法接受一個memory resource(內存資源),因此開發者可以跳過臨時存儲的查詢/分配/釋放模式。
之前(兩階段)
cudaFreeAsync(temp_storage, stream);之后(單階段)
cub::DeviceScan::ExclusiveSum(d_input,..., mr);參考資料:
https://developer.nvidia.com/blog/nvidia-cuda-13-1-powers-next-gen-gpu-programming-with-nvidia-cuda-tile-and-performance-gains
https://developer.nvidia.com/blog/nvidia-kaggle-grandmasters-win-artificial-general-intelligence-competition/
秒追ASI
?點贊、轉發、在看一鍵三連?
點亮星標,鎖定新智元極速推送!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.