機(jī)器之心報(bào)道
編輯:Panda
Rich Sutton 曾說(shuō)過(guò):「AI 只能在可以自我驗(yàn)證的范圍內(nèi)創(chuàng)造和維持知識(shí)?!箰?ài)因斯坦與英費(fèi)爾德在合著的《物理學(xué)的進(jìn)化》中也寫道:「提出一個(gè)問(wèn)題往往比解決問(wèn)題更重要,后者或許僅僅是數(shù)學(xué)或?qū)嶒?yàn)技巧的問(wèn)題。而提出新的問(wèn)題、新的可能性,從新的角度審視舊的問(wèn)題,則需要?jiǎng)?chuàng)造性的想象力,并標(biāo)志著科學(xué)的真正進(jìn)步。」
隨著大型語(yǔ)言模型(LLM)朝著通用能力邁進(jìn),并以通用人工智能(AGI)為最終目標(biāo),測(cè)試其生成問(wèn)題的能力也正變得越來(lái)越重要。尤其是在將 LLM 應(yīng)用于高級(jí)編程任務(wù)時(shí),因?yàn)槲磥?lái) LLM 編程能力的發(fā)展和經(jīng)濟(jì)整合將需要大量的驗(yàn)證工作。
首先,為編程競(jìng)賽出題需要比解決問(wèn)題更深刻的算法理解
例如,基礎(chǔ)問(wèn)題可能會(huì)被歸結(jié)為可識(shí)別的模板,用簡(jiǎn)單的技巧就能解決;許多標(biāo)準(zhǔn)的編程問(wèn)題也常常允許提交部分正確或樣板化的解決方案,這可能會(huì)掩蓋錯(cuò)誤的推理過(guò)程。而競(jìng)賽編程問(wèn)題有著嚴(yán)格的標(biāo)準(zhǔn),旨在評(píng)估對(duì)底層算法設(shè)計(jì)原則、數(shù)據(jù)結(jié)構(gòu)和復(fù)雜性權(quán)衡的更深層次理解。驗(yàn)證數(shù)量龐大的可能解法,并充分覆蓋各種捷徑或邊界情況是極具挑戰(zhàn)性的,但這對(duì)于競(jìng)賽編程問(wèn)題而言是必需的。因此,出題不僅包含了解決問(wèn)題的所有挑戰(zhàn),甚至還超越了它。
其次,更好的出題能力將帶來(lái)更嚴(yán)謹(jǐn)?shù)母?jìng)賽編程基準(zhǔn)測(cè)試。由于像 Codeforces 和 AtCoder 這類頂級(jí)平臺(tái)的官方測(cè)試數(shù)據(jù)并不公開,研究人員目前依賴于合成的數(shù)據(jù)集,如 CodeContests+、TACO 和 HardTests。
然而,分析表明,現(xiàn)有的測(cè)試數(shù)據(jù)集可能同時(shí)存在高誤報(bào)率(FPR)和高漏報(bào)率(FNR)。例如,一個(gè)時(shí)間復(fù)雜度不佳的貪心算法可能會(huì)通過(guò)一系列小規(guī)模的隨機(jī)測(cè)試,但卻會(huì)在旨在暴露其缺陷的對(duì)抗性構(gòu)造案例面前失敗。這一關(guān)鍵弱點(diǎn)造成了一個(gè)扭曲的評(píng)估環(huán)境,獎(jiǎng)勵(lì)了那些能發(fā)現(xiàn)捷徑的模型。
第三,成功地提出新穎的挑戰(zhàn)可能為模型的自我完善和 AGI 鋪平道路,同時(shí)也能驗(yàn)證模型在復(fù)雜軟件棧中的部署情況
那么,我們能否像訓(xùn)練 AI 解決問(wèn)題一樣,訓(xùn)練它提出高質(zhì)量、甚至是人類想不到的新問(wèn)題呢?最近,LiveCodeBench Pro 團(tuán)隊(duì)給出了一個(gè)響亮的回答:AutoCode。這是一個(gè)系統(tǒng)性的框架,可在一個(gè)閉環(huán)、多角色的系統(tǒng)中使用 LLM,以自動(dòng)化競(jìng)賽編程問(wèn)題創(chuàng)建和評(píng)估的整個(gè)生命周期。
- 論文標(biāo)題:AutoCode: LLMs as Problem Setters for Competitive Programming
- 論文地址:https://arxiv.org/abs/2510.12803v1
- 項(xiàng)目頁(yè)面:https://livecodebenchpro.com/projects/autocode/overview
值得注意的是,該團(tuán)隊(duì)包含來(lái)自十個(gè)機(jī)構(gòu)的研究者,共有 5 位共同一作。此外,作者名單中還包括謝賽寧等著名研究者。
整體而言,這項(xiàng)研究做出了兩大貢獻(xiàn):
- 一個(gè)增強(qiáng)的驗(yàn)證器-生成器-檢查器(Validator-Generator-Checker)框架,它在測(cè)試用例生成方面實(shí)現(xiàn)了最先進(jìn)的可靠性。
- 一個(gè)用于生成高質(zhì)量新問(wèn)題的創(chuàng)新過(guò)程。該過(guò)程是從一個(gè)「種子問(wèn)題」開始,以在一個(gè)有前景的方向上啟發(fā) LLM。
測(cè)試用例生成
該團(tuán)隊(duì)的測(cè)試用例生成過(guò)程是一個(gè)結(jié)構(gòu)化的框架,旨在實(shí)現(xiàn)最大程度的嚴(yán)謹(jǐn)性和覆蓋率。
如圖 1 所示,該框架始于驗(yàn)證器(Validator),它是整個(gè)系統(tǒng)的基石。其功能是確保任何給定的輸入都嚴(yán)格遵守問(wèn)題描述中指定的所有約束。一個(gè)驗(yàn)證器對(duì)于最小化漏報(bào)率(FNR)至關(guān)重要,因?yàn)樗芊乐拐_的程序在格式錯(cuò)誤的數(shù)據(jù)上失敗。
接下來(lái),生成器采用多樣化的策略來(lái)創(chuàng)建廣泛的輸入,旨在減少誤報(bào)率(FPR),即錯(cuò)誤或低效的程序被錯(cuò)誤地判定為正確。生成器產(chǎn)生的任何無(wú)效案例都會(huì)被驗(yàn)證器過(guò)濾掉,從而確保該團(tuán)隊(duì)獲得一套高質(zhì)量的輸入。
最后,為了評(píng)估參賽者的輸出,檢查器會(huì)將其與參考解法的輸出進(jìn)行比較。
而對(duì)于交互式任務(wù),交互器(Interactor)會(huì)與參賽者的程序進(jìn)行多輪對(duì)話以給出最終判決。
由于該團(tuán)隊(duì)的一個(gè)突出目標(biāo)是為 RLVR(Reinforcement Learning from Verified Results)提供高質(zhì)量的驗(yàn)證器,該團(tuán)隊(duì)特別關(guān)注降低誤報(bào)率(FPR)。該團(tuán)隊(duì)將測(cè)試用例(test cases)(輸入 - 答案對(duì))與測(cè)試數(shù)據(jù)(test data)區(qū)分開來(lái),后者還包括評(píng)估所需的檢查器和交互器程序。
基準(zhǔn)測(cè)試:測(cè)試用例的穩(wěn)健性
為了嚴(yán)格評(píng)估該團(tuán)隊(duì)的測(cè)試用例生成框架,他們建立了兩個(gè)不同的基準(zhǔn)。
主要基準(zhǔn)包含 7538 個(gè)問(wèn)題,來(lái)源于著名現(xiàn)有數(shù)據(jù)集的交集:CodeContests+、CodeContests、HardTests 和 TACO。
值得注意的是,這個(gè)大規(guī)模集合不包含交互式問(wèn)題,并且由于這些數(shù)據(jù)集固有的篩選,其測(cè)試數(shù)據(jù)生成的平均難度略低于典型的 Codeforces 比賽。
為了解決這個(gè)問(wèn)題并在更具挑戰(zhàn)性的真實(shí)條件下測(cè)試新系統(tǒng),該團(tuán)隊(duì)創(chuàng)建了第二個(gè)基準(zhǔn),包含了 720 個(gè)來(lái)自 Codeforces 的近期、有評(píng)分的比賽問(wèn)題。這個(gè)集合是完全未經(jīng)過(guò)濾的,包括了那些以難以處理著稱的交互式問(wèn)題和需要復(fù)雜、結(jié)構(gòu)化測(cè)試數(shù)據(jù)的問(wèn)題。該團(tuán)隊(duì)表示,無(wú)法在這個(gè)較新的基準(zhǔn)上評(píng)估先前的方法,因?yàn)樗鼈兊臄?shù)據(jù)生成代碼庫(kù)并未公開。
該團(tuán)隊(duì)的評(píng)估基于三個(gè)關(guān)鍵指標(biāo):
- 一致性(Consistency)衡量該團(tuán)隊(duì)的測(cè)試得出的判決與官方判決之間一致的總體百分比。該團(tuán)隊(duì)進(jìn)一步將不一致的情況分解為兩個(gè)關(guān)鍵的錯(cuò)誤率。
- 誤報(bào)率(FPR)定義為被該團(tuán)隊(duì)的生成測(cè)試錯(cuò)誤地接受的官方不正確解法的比例。
- 漏報(bào)率(FNR)是被該團(tuán)隊(duì)的測(cè)試錯(cuò)誤地拒絕的官方正確解法的比例。
與其他基準(zhǔn)的比較
該團(tuán)隊(duì)在包含 7538 個(gè)問(wèn)題的基準(zhǔn)上,將 AutoCode 與四個(gè)領(lǐng)先的基準(zhǔn)進(jìn)行了評(píng)估。
如表 1 所示,該團(tuán)隊(duì)的框架與官方判決的一致性達(dá)到了 91.1%。這標(biāo)志著一個(gè)重大的飛躍,因?yàn)橹暗姆椒ǖ囊恢滦晕茨艹^(guò) 81.0%。至關(guān)重要的是,AutoCode 將誤報(bào)率(FPR)大幅降低至僅 3.7%,漏報(bào)率(FNR)降低至 14.1%,這代表著這兩項(xiàng)指標(biāo)相較于當(dāng)前最先進(jìn)技術(shù)均減少了約 50%。
圖 2 展示了錯(cuò)誤判決的分布,顯示了大多數(shù)問(wèn)題的判決與地面真實(shí)判決是一致的。
為了進(jìn)一步測(cè)試該系統(tǒng)的穩(wěn)健性,該團(tuán)隊(duì)還整理了一個(gè)更具挑戰(zhàn)性的基準(zhǔn),包含了 720 個(gè)近期的、未經(jīng)過(guò)濾的 Codeforces 問(wèn)題,包括復(fù)雜的交互式任務(wù)。
如表 2 所示,AutoCode 保持了其卓越的性能,實(shí)現(xiàn)了 98.7% 的一致性。這一結(jié)果驗(yàn)證了該團(tuán)隊(duì)的方法在現(xiàn)代、困難問(wèn)題上的有效性,而先前的方法無(wú)法在這些問(wèn)題上進(jìn)行評(píng)估。
該團(tuán)隊(duì)也通過(guò)消融實(shí)驗(yàn)驗(yàn)證了方法的有效性。
在建立起如此強(qiáng)大的測(cè)試用例生成能力之后,研究人員便將目光投向了更具創(chuàng)造性的任務(wù):直接生成全新的高質(zhì)量問(wèn)題
問(wèn)題生成
該團(tuán)隊(duì)新提出的問(wèn)題生成框架建立在前述的穩(wěn)健測(cè)試生成框架(如圖 1 所示)之上,但引入了一個(gè)關(guān)鍵的雙重驗(yàn)證協(xié)議,以確保在沒(méi)有人工干預(yù)的情況下實(shí)現(xiàn)正確性。
每個(gè)生成的問(wèn)題都由頂尖的人類競(jìng)賽程序員根據(jù)一個(gè) 6 級(jí)量表進(jìn)行評(píng)分。該團(tuán)隊(duì)咨詢 8 位人類專家出題人,他們都表示在創(chuàng)作新問(wèn)題時(shí),常常會(huì)基于某個(gè)特定的現(xiàn)有問(wèn)題。通過(guò)對(duì)這樣一個(gè)「種子問(wèn)題」的某些條件進(jìn)行添加、刪除或修改,他們可以創(chuàng)造出新的、通常更困難的、需要新穎洞察力的問(wèn)題。
受他們見解的啟發(fā),該團(tuán)隊(duì)的方法是首先隨機(jī)選擇一個(gè) Codeforces 問(wèn)題(難度評(píng)分低于 2200)作為「種子問(wèn)題」。LLM 的任務(wù)是通過(guò)增、刪、改這個(gè)種子問(wèn)題的某些條件來(lái)生成一個(gè)新問(wèn)題,并同時(shí)提供一個(gè)高效的參考解法(std.cpp)和一個(gè)暴力解法(brute.cpp)
brute.cpp 通常時(shí)間復(fù)雜度更高,但基本不可能出錯(cuò),因此該團(tuán)隊(duì)利用它來(lái)壓力測(cè)試問(wèn)題的有效性。使用該團(tuán)隊(duì)增強(qiáng)的測(cè)試用例生成技術(shù),該團(tuán)隊(duì)構(gòu)建了一套全面的測(cè)試數(shù)據(jù),完全覆蓋了小規(guī)模案例。然后 brute.cpp 和 std.cpp 都在這個(gè)數(shù)據(jù)集上運(yùn)行。只有當(dāng)對(duì)于每一個(gè)測(cè)試用例,兩個(gè)程序的輸出(其中暴力解法可能因超時(shí)而合法地?zé)o法完成)都被檢查器成對(duì)地驗(yàn)證為一致的答案和輸出時(shí),一個(gè)問(wèn)題才被認(rèn)為是正確的。
這種設(shè)計(jì)的巧妙之處在于,它利用了「雖然慢但幾乎絕不會(huì)錯(cuò)」的暴力解法,為「雖然快但可能存在邏輯漏洞」的高效解法提供了一個(gè)無(wú)需人工干預(yù)的、絕對(duì)可靠的「事實(shí)標(biāo)準(zhǔn)」,從而實(shí)現(xiàn)了自動(dòng)化的正確性校驗(yàn)。
這個(gè)雙重驗(yàn)證協(xié)議(其中 brute.cpp 作為初始的地面真實(shí),并且經(jīng)過(guò)驗(yàn)證的參考解法還要再經(jīng)過(guò)一個(gè)完整的測(cè)試生成周期)成功地過(guò)濾掉了 27% 的易錯(cuò)問(wèn)題,將 LLM 提供的參考解法的正確率從 86% 提高到了 94%。
經(jīng)過(guò)篩選后,超過(guò) 80% 的問(wèn)題被標(biāo)注為具有足夠的質(zhì)量,可以作為模型的訓(xùn)練數(shù)據(jù),并且 23% 的問(wèn)題涉及新穎或創(chuàng)造性的設(shè)計(jì)。該團(tuán)隊(duì)在圖 3 中展示了詳細(xì)的評(píng)分標(biāo)準(zhǔn)和分?jǐn)?shù)分布。
接下來(lái),該團(tuán)隊(duì)總結(jié)了關(guān)于 LLM 在問(wèn)題生成方面表現(xiàn)的幾個(gè)關(guān)鍵發(fā)現(xiàn)。
- 發(fā)現(xiàn) 1:LLM 能夠生成它們自己無(wú)法解決的可解問(wèn)題。
- 發(fā)現(xiàn) 2:LLM 傾向于通過(guò)組合現(xiàn)有問(wèn)題框架和強(qiáng)調(diào)知識(shí)與實(shí)現(xiàn)來(lái)創(chuàng)造新問(wèn)題。也就是說(shuō),LLM 更擅長(zhǎng)「知識(shí)重組」,而非原創(chuàng)創(chuàng)新。
- 發(fā)現(xiàn) 3:新問(wèn)題的難度增幅往往大于種子問(wèn)題,且當(dāng)相應(yīng)種子問(wèn)題難度適中時(shí),生成問(wèn)題的質(zhì)量最高。
- 發(fā)現(xiàn) 4:人類專家和 LLM 在對(duì)問(wèn)題質(zhì)量和新穎性的判斷上幾乎沒(méi)有相關(guān)性。
- 發(fā)現(xiàn) 5:生成問(wèn)題的難度和相較于種子問(wèn)題的難度增益,是比 LLM 自我評(píng)估更好的問(wèn)題質(zhì)量指標(biāo)。
總而言之,這些發(fā)現(xiàn)為我們描繪了當(dāng)前 LLM 在創(chuàng)造性任務(wù)上的清晰畫像:LLM 是強(qiáng)大的「知識(shí)重組者」,而非一個(gè)真正的「原創(chuàng)思想家」
總結(jié)
在這項(xiàng)工作中,LiveCodeBench Pro 團(tuán)隊(duì)提出了AutoCode,一個(gè)利用 LLM 作為競(jìng)賽編程出題人的閉環(huán)多角色框架。
通過(guò)將驗(yàn)證器-生成器-檢查器(及交互器)框架與雙重驗(yàn)證協(xié)議相結(jié)合,AutoCode 在測(cè)試用例生成方面實(shí)現(xiàn)了最先進(jìn)的可靠性,并超越了先前的方法,能夠生成全新的、達(dá)到競(jìng)賽質(zhì)量的問(wèn)題。
在超過(guò) 7,500 個(gè)問(wèn)題和近期的 Codeforces 基準(zhǔn)上的大量實(shí)驗(yàn)表明,AutoCode 大大減少了誤報(bào)和漏報(bào),與官方判決的一致性超過(guò) 98%,并成功地產(chǎn)生了經(jīng)專家程序員驗(yàn)證的全新問(wèn)題。除了測(cè)試生成,該團(tuán)隊(duì)的分析還揭示了 LLM 在創(chuàng)造性問(wèn)題創(chuàng)作方面的優(yōu)勢(shì)和劣勢(shì)。
雖然模型擅長(zhǎng)算法知識(shí)的重組,但它們難以引入真正新穎的推理范式或無(wú)懈可擊的樣例設(shè)計(jì)。
盡管如此,該團(tuán)隊(duì)表明,難度和難度增益可以作為問(wèn)題質(zhì)量的可靠智能體信號(hào),為實(shí)現(xiàn)自我博弈提供了一條可擴(kuò)展的路徑。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
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.