今天小編分享的科學經驗:o3拿下IOI 2024金牌!新論文公布RL秘訣:AI自己設計測試時推理策略,無需人類幹預,歡迎閲讀。
IOI 2024 金牌,OpenAI o3 輕松高分拿下!
剛剛,OpenAI 發布了關于推理模型在競技編程中應用的研究論文報告,論文中放出了 OpenAI 家推理模型三兄弟在 IOI 和 CodeForce 上的具體成績。
三兄弟分别是 OpenAI o1、o1-ioi(以 o1 為基礎微調等改進而來)、o3,三者成績如下。
IOI 2024,國際信息學奧林匹克競賽:
o1-ioi在嚴格規則下拿到 213 分(49th percentile),放寬提交限制後飙升至 362.14 分;
o3在嚴格規則下就拿到了 395.64 分,達成金牌成就。
CodeForeces,模拟真實競賽環境評估模型。
其中,o1-ioi 和 o3 的評分顯著高于 o1,尤其是 o3,已經接近頂級人類選手:
o1:1673(89th percentile)
o1-ioi:2214(98th percentile)
o3:2724(99.8th percentile)
論文迅速在全網擴散開來,網友競相傳閲并激烈讨論。
有網友注意到,o1-ioi 在 IOI 2024 上表現出色,是因為它為每個問題生成了 10000 個候選解決方案,還用上了復雜的 test-time 策略;而 o3 在嚴格限制下達到頂級選手水平,僅用了 50 次提交,且無人工策略幹預。
這就引出了 OpenAI 在論文中的一個高亮結論——
o3 的表現,證明了通過大規模端到端 RL(強化學習),無需依賴人工設計的測試時推理策略,就能自己學會先寫暴力求解代碼提高效率,再用其他方法交叉驗證的策略。
網友滿嘴喊着 "impressive":
下一個裏程碑,是出現「單次提交就能搞定每個問題」的模型。
或許 OpenAI o4 會帶來這個時刻。
目前,這篇名為《Competitive Programming with Large Reasoning Models》的報告論文已經挂在了 arXiv 上,文末可見直通車。
o 系三兄弟,競賽編程各顯神通
競技編程,是評估大模型推理和編碼能力的理想測試場景。
OpenAI 表示,這篇論文的研究目的,是探究在復雜編碼和推理任務中,RL 對大模型所起到的作用。
研究過程還對比了通用推理模型與領網域特定系統的性能,探索提升 AI 推理能力的有效路徑。
參與研究的推理模型共 3 個,均出自 OpenAI 自家家門,分别是:
OpenAI o1
OpenAI o1-ioi
OpenAI o3
通用推理模型 o1
o1 是一個經過 RL 訓練的大模型,用于處理復雜的推理任務。
通過 RL 訓練,o1 能生成 CoT(chain-of-thought,思維鏈),其作用是思考和解決復雜問題,幫助模型識别和糾正錯誤,将復雜任務分解為可管理的部分,并在方法失敗時探索替代解決方案路徑。
除此之外,o1 還可調用外部工具驗證代碼。
在 CodeForce 基準測試中,o1 拿下了 1673 分(89th percentile)。
相比非推理模型(如 GPT-4o),和早期推理模型(如 o1-preview),o1 成績均有顯著提升。
此外,研究人員在對 o1 進行開發和評估的過程中,發現增加「RL 計算量」以及「test-time 推理計算量」兩方面的工作,都能持續提升模型性能。
如下圖所示,擴展 RL 訓練和擴展 test-time 推理均帶來了顯著的收益。
針對性訓練推理模型 o1-ioi
在發現增加「RL 計算量」以及「test-time 推理計算量」的重要性後,OpenAI 團隊在 o1 基礎上進行針對性訓練,得到 o1-ioi,目标直指 IOI 2024。
除了針對編碼任務的持續 RL 訓練外,o1-ioi 還結合了專為競賽編程而設計的專用 test-time 推理策略(類似 AlphaCode 的人工設計的 test-time 推理策略)。
此過程第一步是擴展 o1 的 RL 階段,專注于編碼任務。
通過将額外的訓練計算專用于編程問題,團隊增強了模型規劃、實施和調試更多涉及的解決方案的能力。
具體如下:
從 o1 的 checkpoint 恢復了 RL 訓練。
特别強調了具有挑戰性的編程問題,幫助模型改進 C++ 生成和運行時檢查。
指導模型以 IOI 提交格式生成輸出。
這種對編碼的額外關注,使 o1-ioi 能在推理期間編寫和執行 C++ 程式。
該模型通過迭代運行和優化解決方案來改進其推理能力,從而增強了其編碼和解決問題的能力。
o1-ioi 參與了人類選手相同條件的 IOI 2024。
它有 10 個小時的時間,來解決 6 個具有挑戰性的算法問題,每個問題最多允許提交 50 次。
參賽期間,系統為每個問題生成了 10000 個候選解決方案,并使用 test-time 推理策略選了 50 個方案來提交——這裏的 test-time 推理策略是,根據 IOI 公共測試用例、模型生成測試用例和學習的評分函數上的表現,來确定每個提交内容的優先級。
最終,o1-ioi 在 IOI 2024 獲 213 分,排名前 49%。
在 CodeForces 基準測試上,o1-ioi 的評分達到 1807,超過了 93% 的競争對手。
論文中寫道," 這表明,在編碼任務上的額外 RL 訓練有了明顯的改進。"
然後,團隊用一個簡單的篩選條件來拒絕任何未通過公開測試的解決方案時,評分上升到 2092。
最終,在完整的 test-time 推理策略推動下,o1-ioi 的評分飙升到 2214。
這些結果證實,特定領網域的 RL 微調與高級選擇啓發式相結合,可以顯著提高有競争力的編程結果。
研究人員表示,o1-ioi 的表現,證明特定領網域的 RL 微調與先進選擇策略,是可以提升競技編程成績的。
通用推理模型 o3
第三個參戰的是 OpenAI 最新推理模型 o3。
基于 o1 和 o1-ioi 的表現,OpenAI 團隊探索了純 RL 訓練、不依賴人工設計的 test-time 策略的局限性。
甚至試圖探索用 RL 進一步訓練,該模型是否能夠自主開發和執行自己的 test-time 推理策略
為此,團隊取得了 o3 的早期 checkpoint 的訪問權限,來評估競賽編程。
參與 IOI 2024 競賽時,o3 與 o1-ioi 一樣嚴格遵守官方規則,每個問題最多允許提交 50 次。
與 o1-ioi 為每個子任務單獨采樣解決方案不同,團隊在評估 o3 時,采用了不同的方法:
從包含原始問題的單個提示中采樣。
△o3 測試自己的解決方案
多提一句,參加 IOI 2024 的 o3 版本比參加 CodeForce 的 o3 版本更新,包含了額外的更新的訓練數據。
不過團隊确認了 IOI 2024 的測試集不包含在新的訓練測試裏。
在單個問題只能提交 50 次的限制下,o3 在 IOI 2024 的最終得分是 395.64,超過了 IOI 2024 金牌門檻。
(IOI 2024 共產生 34 名金牌選手,金牌線為≥ 359.71)
而在 CodeForce 基準測試上,僅僅依靠進一步的 RL,o3 就獲得了 2724 分的成績,力壓 99.8% 的選手。
這個成績直逼人類頂尖選手的水準!
值得注意的是,從得分 2214 的 o1-ioi(超越 98% 選手),到得分 2724 的 o3(超越 99.8% 選手),反映了推理模型在競賽編程中的顯著提升。
這表明 o3 能夠以更高的可靠性,解決更廣泛的復雜算法問題,使其能力更接近 CodeForces 的頂級人類競争對手。
更有意思的是,o3 在 CodeForce 參賽期間展現出了更深思熟慮的思維鏈。
它不僅能寫代碼、執行并驗證,還會根據反饋不斷完善解法。
面對驗證復雜的難題,o3 在端到端 RL 期間,竟然學會了先寫出暴力解法,再用最優算法的結果來交叉驗證。
這種自主學習的驗證機制,有效提高了方案的可靠性。
綜上,團隊表明,o3 的性能優于 o1-ioi 的原因,不依賴于針對 IOI 的特定人工設計的 test-time 策略。
相反,o3 訓練期間出現的復雜 test-time 技術——如用暴力解法來驗證輸出——成為了人工設計策略的替代品,讓 o3 不需要 o1-ioi 所需的手動設計聚類、選擇 pipeline 等需求。
且比人工設計策略的性能高出不少。
軟體工程任務表現如何?
除了競賽編程,論文還在真實的軟體工程任務上測試了 OpenAI 推理模型三兄弟的表現。
團隊主要是在 2 個數據集上測試了仨模型:
HackerRank Astra:用于評估大模型在跨網域多檔案項目問題上正确性和一致性的測試集
SWE-bench:用于評估和預測軟體工程的基準測試和模型評估集,由普林斯頓大學 NLP 團隊開發
令人驚喜的是,推理能力的增強對軟體工程任務也有顯著提升。
三兄弟不僅能在競賽編程中直逼人類頂尖選手,在真實的軟體工程任務上也有亮眼表現。
HackerRank Astra
HackerRank Astra 由 65 個面向項目的編碼挑戰組成,每個挑戰都是為了模拟真實的軟體開發任務而精心設計的。
這些挑戰涵蓋了一系列框架,包括 React.js、Django 和 Node.js,允許獲得構建功能和應用程式的實踐經驗。
該數據集的與眾不同之處在于,它專注于評估反映實際開發環境的復雜、多檔案、長上下文場景中的問題解決技能。
與典型的競争性編程數據集不同,HackerRank Astra 不提供公開的測試用例,這使 OpenAI 團隊無法依賴人工制作的測試時策略。
使用此數據集評估性能可以揭示推理能力是單獨提高算法問題解決的成功率,還是擴展到更實際的、與行業相關的編碼任務。
上圖中的 pass@1,表示首次嘗試成功完成任務的概率;平均分數,代表了通過的測試用例的平均比例。
結果顯示,與 GPT-4o 相比,o1-preview 的 pass@1 提高了 9.98%,平均分提高了 6.03 分。
而 RL 進一步微調可以提升 o1 的性能,其 pass@1 為 63.92%,比 o1-preview 提高了 3.03%;平均得分為 75.80。
這些指标證明了 o1 增強的推理和适應性,使其能夠有效地處理復雜的、與行業相關的軟體開發任務。
SWE-bench
SWE-bench 由普林斯頓大學 NLP 團隊開發,而 SWE-bench Verified 是 OpenAI 的 preparedness 團隊經過人工驗證的 SWE-bench 的子集。
它可以更可靠地評估 AI 模型解決實際軟體問題的能力。
這組經過驗證的 500 個任務,修復了 SWE-bench 的某些問題,如正确解決方案的不正确評分、未指定的問題陳述以及過于具體的單元測試——這有助于确保基準測試準确地對模型功能進行分級。
所有模型都嘗試 5 次來生成候選 patch。
如上圖所示,與 GPT-4o 相比,o1-preview 在 SWE-bench 上的性能提高了 8.1%,展示了推理能力的顯着進步。
通過在訓練期間應用額外的 RL 計算,o1 進一步改進了 8.6%。
值得注意的是,訓練計算資源比 o1 多得多的 o3,比 o1 改進了 22.8%," 非常 impressive"。
這些結果表示,推理模型對軟體工程等實際任務,也有很大适用性和使用價值。
One More Thing
OpenAI 員工表示,一張梗圖可以很好地總結這篇論文。
略顯遺憾的是,OpenAI 這篇新作雖然挂在了 arXiv 上,但更像是報告而非論文——因為整篇論文沒怎麼透露方法細節,光曬成績單了。
但其中所寫還是引起了網友的感慨:
任何可以測量的東西,都将得到改善。
論文直通車:
https://arxiv.org/pdf/2502.06807
參考鏈接:
[ 1https://x.com/arankomatsuzaki/status/1889522974467957033
[ 2 ] https://x.com/iScienceLuvr/status/1889517116816244995
[ 3 ] https://x.com/jennywxiao/status/1889517249033281631