近日,獲英偉達(dá)支持、已獲數(shù)億美元風(fēng)投資金的Sakana AI爆出戲劇性反轉(zhuǎn)。 此前,該公司宣稱開發(fā)出「AI CUDA工程師」,能將特定模型訓(xùn)練速度提升最高達(dá)100倍,引發(fā)行業(yè)關(guān)注。 然而,網(wǎng)友卻發(fā)現(xiàn),這個(gè)系統(tǒng)根本不管用。 「AI CUDA工程師」實(shí)際表現(xiàn)堪稱翻車現(xiàn)場(chǎng),不僅未能實(shí)現(xiàn)加速,甚至出現(xiàn)訓(xùn)練速度不升反降的情況。 網(wǎng)友反饋,使用該系統(tǒng)后,訓(xùn)練速度慢了3倍。 問(wèn)題出在哪里呢? 經(jīng)過(guò)一系列的驗(yàn)證,網(wǎng)友「main」發(fā)現(xiàn):「AI CUDA工程師」寫的內(nèi)核有bug! 「它似乎竊取了即時(shí)實(shí)現(xiàn)的結(jié)果(可能是以某種方式的內(nèi)存重用?),從而繞過(guò)了正確性檢查! 如果嘗試以不同的順序執(zhí)行,只有下列第一種順序有效。 torch, cuda cuda, torch 隨后,網(wǎng)友「miru」進(jìn)一步發(fā)現(xiàn),「AI CUDA工程師」之所以能實(shí)現(xiàn)100倍加速,是因?yàn)樗@了評(píng)估腳本的漏洞。 比如,上面這個(gè)任務(wù)的結(jié)果,是下面這個(gè)評(píng)估腳本跑出來(lái)的: 其中,這段代碼會(huì)分配包含答案的中間內(nèi)存,同時(shí)分配正確答案的副本并返回,而中間內(nèi)存則被歸還給PyTorch。 然后,這段有問(wèn)題的代碼會(huì)重用包含正確答案的中間內(nèi)存,并運(yùn)行一個(gè)空操作內(nèi)核,使答案保持不變。 從而讓這段有bug的「AI CUDA工程師」內(nèi)核,被評(píng)估腳本誤判為「正確」,并錯(cuò)誤地顯示出超過(guò)100×的加速。 這里的「hacking」是指把代碼弄得慘不忍睹,導(dǎo)致評(píng)估腳本失靈,而不是刻意設(shè)計(jì)的漏洞利用。 Sakana在遵循KernelBench評(píng)估流程和發(fā)布可復(fù)現(xiàn)的評(píng)估代碼方面做得很好,只是沒(méi)有人工檢查那些異常的結(jié)果。 目前只剩一個(gè)>100×的加速結(jié)果,是任務(wù)23_Conv3d_GroupNorm_Mean。 在這個(gè)任務(wù)中,「AI CUDA工程師」完全遺漏了卷積部分,但評(píng)估腳本并未檢測(cè)出這個(gè)問(wèn)題。 這段代碼(卷積+組歸一化+均值計(jì)算),實(shí)際上跑的卷積。 與這段「AI CUDA工程師」生成的代碼對(duì)比,后者忘記了卷積。卷積的權(quán)重/偏置輸入未被使用,實(shí)際并未執(zhí)行任何卷積操作。 它成功通過(guò)了正確性檢查并實(shí)現(xiàn)了100×加速,因?yàn)樵谠u(píng)估腳本測(cè)試的特定輸入上,兩個(gè)內(nèi)核的輸出都是一個(gè)恒定值0.02。 與此同時(shí),OpenAI研究員Lucas Beyer則用o3-mini-high發(fā)現(xiàn)了「AI CUDA工程師」的問(wèn)題: 「o3-mini-high在11秒內(nèi)找出了CUDA內(nèi)核的問(wèn)題。它快150倍是個(gè)bug,實(shí)際上是慢了3倍! 他指出,Sakana代碼存在關(guān)鍵的錯(cuò)誤,兩次基準(zhǔn)測(cè)試結(jié)果差異極大,如此異常本應(yīng)讓其警醒反思: 這種超直白的CUDA代碼根本不可能比優(yōu)化過(guò)的cublas內(nèi)核更快。如果它快了,那一定是哪里出了問(wèn)題。 如果你的基準(zhǔn)測(cè)試結(jié)果表現(xiàn)得神秘又不一致,那一定是哪里出了問(wèn)題。 o3-mini-high真的很強(qiáng)!它只用了11秒就找出了問(wèn)題,而我花了大約10分鐘來(lái)寫這篇總結(jié)。 Sakana承認(rèn)錯(cuò)誤 Sakana目前正在進(jìn)行更全面的修復(fù)工作,以解決評(píng)估腳本漏洞,并重新評(píng)估他們的技術(shù)。 在周五發(fā)布的事后分析報(bào)告中,Sakana承認(rèn)系統(tǒng)存在「作弊」行為,并將其歸咎于系統(tǒng)的「獎(jiǎng)勵(lì)作弊」傾向。 系統(tǒng)利用了評(píng)估代碼中的漏洞,繞過(guò)準(zhǔn)確性驗(yàn)證等檢查環(huán)節(jié),通過(guò)「獎(jiǎng)勵(lì)作弊」獲得高指標(biāo),卻并未真正實(shí)現(xiàn)加速模型訓(xùn)練的目標(biāo)。 類似「鉆空子」現(xiàn)象,在訓(xùn)練下棋的AI系統(tǒng)中也曾出現(xiàn)。 Sakana稱已著手解決該問(wèn)題,并計(jì)劃在更新材料中修改此前的說(shuō)法。 公司在X平臺(tái)上發(fā)文稱: 「將進(jìn)化優(yōu)化與LLM結(jié)合使用確實(shí)非常強(qiáng)大,但它也可能找到繞過(guò)驗(yàn)證沙盒的方法。幸運(yùn)的是,我們的讀者幫助測(cè)試了我們的CUDA內(nèi)核,并發(fā)現(xiàn)系統(tǒng)找到了某種作弊方式。例如,系統(tǒng)在評(píng)估代碼中發(fā)現(xiàn)了一個(gè)內(nèi)存漏洞,在某些情況下,它能夠繞過(guò)正確性檢查。 此外,我們還發(fā)現(xiàn),系統(tǒng)可以在基準(zhǔn)測(cè)試任務(wù)中找到其他新的漏洞利用方法。 針對(duì)這些問(wèn)題,我們已經(jīng)加強(qiáng)了評(píng)估和運(yùn)行時(shí)分析框架,修復(fù)了許多此類漏洞。目前,我們正在修改論文和實(shí)驗(yàn)結(jié)果,以反映并討論LLM在CUDA內(nèi)核優(yōu)化中的獎(jiǎng)勵(lì)機(jī)制被濫用的問(wèn)題,以及相應(yīng)的應(yīng)對(duì)措施。 我們對(duì)這一疏忽向讀者深表歉意。我們將很快提供修訂版,并分享經(jīng)驗(yàn)和思考! AI CUDA工程師 上周,Sakana AI剛剛發(fā)布了世界上首個(gè)「AI CUDA工程師」。 「AI CUDA工程師」是一個(gè)基于前沿LLM的AI智能體框架,它能將PyTorch代碼自動(dòng)轉(zhuǎn)換為高度優(yōu)化的CUDA內(nèi)核,速度比PyTorch原生實(shí)現(xiàn)快10-100倍。 通過(guò)LLM驅(qū)動(dòng)的進(jìn)化代碼優(yōu)化技術(shù),「AI CUDA工程師」將PyTorch代碼轉(zhuǎn)換為CUDA內(nèi)核,并通過(guò)進(jìn)化算法優(yōu)化CUDA內(nèi)核的執(zhí)行效率,實(shí)現(xiàn)多個(gè)運(yùn)算操作的融合。 這項(xiàng)工作分為4個(gè)階段,分別是轉(zhuǎn)換和翻譯,進(jìn)化優(yōu)化以及創(chuàng)新檔案。 「AI CUDA工程師」首先將PyTorch代碼轉(zhuǎn)換為可運(yùn)行的CUDA內(nèi)核,采用進(jìn)化的方法來(lái)保留最優(yōu)秀的CUDA內(nèi)核。團(tuán)隊(duì)創(chuàng)新性地提出了內(nèi)核交叉提示策略,能將多個(gè)優(yōu)化后的內(nèi)核進(jìn)行有效組合。 通過(guò)構(gòu)建一個(gè)高性能CUDA內(nèi)核的創(chuàng)新檔案庫(kù),以積累的優(yōu)化經(jīng)驗(yàn)為基礎(chǔ),實(shí)現(xiàn)更進(jìn)一步的轉(zhuǎn)換和性能突破。 團(tuán)隊(duì)相信這項(xiàng)技術(shù)能帶來(lái)性能加速,加快LLM或其他AI模型的訓(xùn)練和推理速度,最終讓AI模型在英偉達(dá)GPU上運(yùn)行得更快。 這次大翻車表明,「AI CUDA工程師」通過(guò)作弊實(shí)現(xiàn)了>100×的性能。 Sakana AI也勇敢地承認(rèn)了錯(cuò)誤。 此次事件為AI行業(yè)敲響警鐘,如果一種說(shuō)法聽起來(lái)好得令人難以置信,那很可能就是假的。 參考資料: https://techcrunch.com/2025/02/21/sakana-walks-back-claims-that-its-ai-can-dramatically-speed-up-model-training/ https://x.com/SakanaAILabs/status/1892992938013270019 本文來(lái)源:新智元 |
原創(chuàng)欄目
IT百科
網(wǎng)友評(píng)論
聚超值•精選