Paper2Code:好像復(fù)現(xiàn)論文成了可能
引言
可重復(fù)性是科學(xué)進(jìn)步的基石,然而在機(jī)器學(xué)習(xí)領(lǐng)域,許多已發(fā)表論文并未附帶相應(yīng)的代碼實(shí)現(xiàn),阻礙了結(jié)果驗(yàn)證并延緩了科研進(jìn)程。為了解決這一難題,KAIST 與 DeepAuto.ai 的研究團(tuán)隊(duì)提出了 PaperCoder——一種自動(dòng)化框架,能夠從機(jī)器學(xué)習(xí)研究論文中直接生成可執(zhí)行的代碼庫(kù)。
PaperCoder 框架概述圖 1:PaperCoder 的三階段流程,展示了如何通過(guò)規(guī)劃、分析和編碼,將論文轉(zhuǎn)換為完整的代碼庫(kù)。
相比于依賴(lài)現(xiàn)有代碼片段或 API 的傳統(tǒng)方案,PaperCoder 通過(guò)多代理系統(tǒng),利用大型語(yǔ)言模型(LLM)模擬人類(lèi)的軟件開(kāi)發(fā)流程,自動(dòng)生成端到端、可執(zhí)行的代碼庫(kù)。該系統(tǒng)由規(guī)劃、分析和生成三個(gè)階段組成,每個(gè)階段由專(zhuān)門(mén)的 LLM 代理協(xié)同完成。
機(jī)器學(xué)習(xí)中的可重復(fù)性危機(jī)
機(jī)器學(xué)習(xí)社區(qū)正面臨嚴(yán)峻的可重復(fù)性挑戰(zhàn)。對(duì)近期頂級(jí)會(huì)議論文的統(tǒng)計(jì)顯示,公開(kāi)代碼的比例極低:
機(jī)器學(xué)習(xí)會(huì)議中的代碼可用性圖 2:ICLR、NeurIPS 和 ICML 2024 上公開(kāi)代碼的論文比例。
如圖所示,ICLR 2024 公開(kāi)代碼的論文僅占 21.2%,NeurIPS 2024 為 10.9%,ICML 2024 僅有 31.6%。缺乏實(shí)現(xiàn)細(xì)節(jié)使研究人員難以復(fù)現(xiàn)和擴(kuò)展已有工作,進(jìn)而拖慢整個(gè)領(lǐng)域的發(fā)展。
PaperCoder 框架
PaperCoder 將“從論文到代碼”的任務(wù)形式化為軟件開(kāi)發(fā)問(wèn)題:
?R:包含方法與算法描述的研究論文
?C:生成的代碼庫(kù)
?M:基于 LLM 的轉(zhuǎn)換模型
該框架仿照人類(lèi)開(kāi)發(fā)流程,分為三個(gè)階段:
1.規(guī)劃階段:
? 制定整體架構(gòu)路線(xiàn)圖(UML 類(lèi)圖、時(shí)序圖)
? 確定文件依賴(lài)關(guān)系
? 生成配置文件
2.分析階段:
? 對(duì)每個(gè)文件和函數(shù)進(jìn)行細(xì)粒度解析
? 分析輸入/輸出、模塊交互和算法細(xì)節(jié)
? 標(biāo)注關(guān)鍵組件(例如位置編碼、優(yōu)化器實(shí)現(xiàn))
3.生成階段:
? 按照規(guī)劃階段確定的順序,合成完整代碼庫(kù)
每一階段由相應(yīng)的 LLM 代理執(zhí)行,各代理協(xié)同工作,確保論文中的重要細(xì)節(jié)被準(zhǔn)確提取并融入生成的代碼中。
技術(shù)實(shí)現(xiàn)
PaperCoder 通過(guò)對(duì)比樸素方法,凸顯其結(jié)構(gòu)化流程的優(yōu)勢(shì):
PaperCoder 詳細(xì)實(shí)現(xiàn)圖 3:PaperCoder 與直接輸入 LLM 的樸素方法對(duì)比。
?樸素方法:將整篇論文直接喂入 LLM,往往忽略位置編碼或優(yōu)化器等細(xì)節(jié),導(dǎo)致生成的代碼錯(cuò)誤頻發(fā)。
?PaperCoder:
a.規(guī)劃:整體設(shè)計(jì)、UML 繪制、依賴(lài)規(guī)劃、配置生成
b.分析:細(xì)粒度解析每個(gè)模塊,識(shí)別關(guān)鍵算法組件
c.編碼:基于分析結(jié)果,逐步合成、實(shí)現(xiàn)所有必要功能
通過(guò)這種分層設(shè)計(jì),PaperCoder 能精確捕捉諸如位置編碼實(shí)現(xiàn)、帶特定超參數(shù)的 Adam 優(yōu)化器等細(xì)節(jié),生成高質(zhì)量、易執(zhí)行的代碼。
評(píng)估方法
PaperCoder 的性能評(píng)估包括定量指標(biāo)與人工評(píng)估:
1.參考評(píng)估:將生成代碼與公開(kāi)參考實(shí)現(xiàn)進(jìn)行對(duì)比
2.無(wú)參考評(píng)估:在缺乏參考實(shí)現(xiàn)的場(chǎng)景下,評(píng)估代碼質(zhì)量
3.人工評(píng)估:由原論文作者或領(lǐng)域?qū)<掖蚍?/p>
評(píng)估方法之間的相關(guān)性圖 4:基于參考評(píng)估與無(wú)參考評(píng)估得分的相關(guān)性 (r = 0.79)。
相關(guān)性高達(dá) 0.79,表明即使在無(wú)參考實(shí)現(xiàn)的情況下,也能可靠評(píng)估生成代碼的正確性。
結(jié)果與性能
實(shí)驗(yàn)結(jié)果表明,PaperCoder 相較基線(xiàn)方法具有顯著優(yōu)勢(shì):
1.超越現(xiàn)有基線(xiàn):優(yōu)于 ChatDev、MetaGPT 等通用方案
2.組件貢獻(xiàn)明顯:規(guī)劃、分析、生成三階段均對(duì)性能提升有所貢獻(xiàn)(通過(guò)消融實(shí)驗(yàn)驗(yàn)證)
3.高執(zhí)行率:生成代碼幾乎無(wú)誤,僅需對(duì) 0.48% 的行數(shù)做小幅修改即可運(yùn)行
4.出色的復(fù)現(xiàn)能力:在 Paper2Code 與 PaperBench 基準(zhǔn)上均表現(xiàn)優(yōu)異,成功復(fù)現(xiàn)論文關(guān)鍵組件
人工評(píng)估
由原論文作者及多位領(lǐng)域?qū)<疫M(jìn)行的人工評(píng)估顯示:
?77%的評(píng)審者認(rèn)為生成的代碼庫(kù)最佳
?85%的評(píng)審者反饋生成結(jié)果對(duì)其研究有顯著幫助
人工評(píng)估表格圖 5:人工評(píng)估示例表格
評(píng)估涵蓋數(shù)據(jù)處理、方法實(shí)現(xiàn)及實(shí)驗(yàn)流程,充分驗(yàn)證了 PaperCoder 在真實(shí)科研場(chǎng)景中的應(yīng)用價(jià)值。
局限性和未來(lái)工作
盡管 PaperCoder 已展現(xiàn)強(qiáng)大能力,但仍存在以下局限:
1.領(lǐng)域局限:目前僅針對(duì)機(jī)器學(xué)習(xí)論文,尚未擴(kuò)展到其他科學(xué)領(lǐng)域
2.評(píng)估依賴(lài):主要依賴(lài)模型指標(biāo),缺乏更多自動(dòng)化執(zhí)行評(píng)估方式
3.復(fù)雜算法:對(duì)高度復(fù)雜或全新算法的支持仍有挑戰(zhàn)
4.依賴(lài)管理:跨環(huán)境兼容性及外部依賴(lài)管理需進(jìn)一步完善
未來(lái)工作可聚焦于:
? 將框架擴(kuò)展至更多學(xué)科
? 引入自動(dòng)化調(diào)試與故障定位評(píng)估
? 集成更豐富的執(zhí)行評(píng)估指標(biāo)
? 強(qiáng)化依賴(lài)性管理與環(huán)境適配
結(jié)論
Paper2Code 引領(lǐng)了從科研論文到可執(zhí)行代碼的自動(dòng)化新范式,通過(guò)多代理 LLM 系統(tǒng)重塑人類(lèi)軟件開(kāi)發(fā)流程,實(shí)現(xiàn)端到端的代碼生成與復(fù)現(xiàn)。三階段方法確保關(guān)鍵細(xì)節(jié)無(wú)遺漏,定量與人工評(píng)估均證明了其有效性。PaperCoder 有望加速機(jī)器學(xué)習(xí)及其他領(lǐng)域的研究進(jìn)展,為構(gòu)建更加開(kāi)放、高效的科研生態(tài)注入新動(dòng)能。
本文轉(zhuǎn)載自??芝士AI吃魚(yú)??,作者:芝士AI吃魚(yú)
