偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

o3斬獲IOI金牌沖榜全球TOP 18,自學(xué)碾壓頂尖程序員!48頁技術(shù)報告公布

人工智能 新聞
o3一舉拿下IOI 2024金牌,躋身全球TOP 18頂尖程序員之列!OpenAI團隊48頁新作揭秘原理:強化學(xué)習(xí)+Scaling測試時計算,讓o3逐漸從「編程菜鳥」進階到拿下奧賽金牌!

幾天前,谷歌AlphaGeometry 2拿下IMO金牌,震驚了所有人。

這次,o3在IOI 2024競賽中取得驚人的394分(滿分600),一舉奪得金牌,實力相當于全球第18名賽級選手。

不僅如此,在世界級編程競賽CodeForces上,o3位居全球Top 200之列,堪比人類頂尖程序員。

早在去年8月,OpenAI團隊便開始全力準備讓o系模型參賽IOI 2024,o1作為第一個代表上陣。

為了提升AI性能,他們當時用盡了幾乎所有的技巧——微調(diào)、基于測試用例進行過濾、提示模型生成額外的測試用例、基于相似度對解決方案進行聚類、對聚類進行排序等等。

誰曾想,那個「苦澀的教訓(xùn)」依然和往常一樣苦澀......

而o3卻在無人啟發(fā)的情況下,通過強化學(xué)習(xí)中自己摸索出了一些技巧,就比如,用隨機測試用例對比暴力解來測試代碼。

o3通過「思維鏈」來scaling測試時計算的能力是多么強大。


當我們檢查思維鏈過程時,我們發(fā)現(xiàn)模型自主發(fā)展出了自己的測試時策略。其中一個有趣的策略是:模型會 1)先寫一個簡單的暴力解決方案,然后 2)用它來驗證一個更復(fù)雜的優(yōu)化方案。

這些關(guān)鍵發(fā)現(xiàn),現(xiàn)如今已全部公開了。

本月初,OpenAI團隊在arXiv發(fā)表了一篇,超全48頁推理模型參與競爭性編程的研究。

論文鏈接:https://arXiv.org/pdf/2502.06807

論文中,他們展示了LLM如何從「菜鳥」進階到全球Top程序員,甚至拿下了IOI金牌的全過程!

最新研究,重點強調(diào)了「推理」在編程任務(wù)中的重要性,詳細呈現(xiàn)了o系推理模型在編程方面的進展,以及在各類競賽編程、編碼基準測試中評估方法和結(jié)果。

其中,關(guān)鍵亮點有以下四個:

  1. 展示了CoT推理的強大作用:從競賽編程基準到復(fù)雜軟件工程難題,編程表現(xiàn)都有提高
  2. 同時增加強化學(xué)習(xí)訓(xùn)練和測試時計算資源,能持續(xù)提升模型表現(xiàn),幾乎達到世界頂尖人類水平
  3. 利用CodeForces、IOI等多個權(quán)威平臺及數(shù)據(jù)集,全面驗證模型在競賽和實際任務(wù)中的表現(xiàn)
  4. 發(fā)現(xiàn)LLM通過強化學(xué)習(xí)可超越特定領(lǐng)域模型,證實CoT推理提升模型性能

半個月前,奧特曼曾在采訪中劇透,「OpenAI內(nèi)部的一個推理模型已躍升至全球第50名,而且很可能在年底前霸榜」。

用不了多久,AI真的要踏平編程界了么。

AI拿下IOI金牌,卷趴頂尖程序員

競技編程,被廣泛認為是評估推理和編程能力的具有挑戰(zhàn)性的基準。

從文檔字符串合成程序,OpenAI早期某模型的正確率為28.8%,而GPT-3對這類問題甚至完全無能為力。

解決復(fù)雜的算法問題,需要高級的計算思維和問題解決技巧。此外,這些問題還具有客觀的可評分性,使其成為評估AI系統(tǒng)推理能力的理想試驗平臺。

AlphaCode通過大規(guī)模代碼生成和推理過程中的啟發(fā)式方法,成功解決了競賽編程任務(wù)。隨后推出的AlphaCode2,幾乎使AlphaCode的解決問題數(shù)量翻倍,并使其在CodeForces平臺上躋身前15%。

論文地址:https://www.science.org/doi/10.1126/science.abq1158

這兩種系統(tǒng)都在問題上大規(guī)模采樣,最多生成一百萬個候選解決方案,然后通過手工設(shè)計的測試策略選擇前10個提交結(jié)果。

自那時以來,利用強化學(xué)習(xí)提升大規(guī)模語言模型(LLM)推理能力取得了顯著進展。這促使了大規(guī)模推理模型(LRM)的出現(xiàn):這些語言模型通過強化學(xué)習(xí)進行訓(xùn)練,以「推理」和「思考」復(fù)雜的思維鏈。

一個尚未解決的問題是,領(lǐng)域特定的手工設(shè)計推理策略與模型自主生成并執(zhí)行的學(xué)習(xí)方法相比,效果如何?

為了解決這個問題,團隊希望從o1、o1-ioi和o3的早期checkpoint中獲得靈感。

OpenAI o1使用通用方法來提升編程性能。而o1-ioi是一個針對2024年國際信息學(xué)奧林匹克(IOI)競賽進行微調(diào)的系統(tǒng),采用了類似于AlphaCode系統(tǒng)的測試時策略。與o1-ioi或AlphaCode不同,o3不依賴于由人工定義的特定編碼的測試時策略。

值得注意的是,o3在2024年IOI中贏得了金牌,并獲得了與人類頂尖選手相當?shù)腃odeForces評級。

o1:推理模型先鋒

o1通過強化學(xué)習(xí)訓(xùn)練的大型語言模型,利用CoT將復(fù)雜任務(wù)分解為易于處理的部分,用于處理復(fù)雜的推理任務(wù)。

此外,o1能夠使用外部工具,特別是在安全環(huán)境中編寫和執(zhí)行代碼,讓o1能夠驗證生成的代碼是否能編譯、能否通過測試用例并滿足其他正確性檢查。

通過測試和優(yōu)化其輸出,o1在單次樣本過程中不斷改進其解決方案。

CodeForces是一個舉辦實時編程競賽的網(wǎng)站,吸引了世界上頂尖的競賽程序員。

為了評估模型在競賽編程中的能力,模擬了與實際比賽條件非常相似的CodeForces競賽,包括使用每個問題的完整測試集,并為解決方案設(shè)定適當?shù)臅r間和內(nèi)存限制。

o1與非推理模型gpt4o和早期的推理模型o1-preview進行了比較。如圖1顯示,o1-preview和o1的表現(xiàn)遠遠超越了gpt-4o,突顯了強化學(xué)習(xí)在復(fù)雜推理中的有效性。

o1-preview模型在CodeForces上的評分為1258(第62百分位),相比之下,gpt-4o的評分為808(第11百分位)。進一步的訓(xùn)練使o1的評分提高到1673(第89百分位),為AI在競賽編程中的表現(xiàn)設(shè)立了新的里程碑。

圖1:在CodeForces上不同大語言模型OpenAI o1-preview、o1與GPT-4o的表現(xiàn)

o1-ioi:為競賽「量身定制」

o1-ioi起源

在開發(fā)和評估OpenAI o1的過程中,發(fā)現(xiàn)增加強化學(xué)習(xí)(RL)計算量和測試時間推理計算量,都能持續(xù)提高模型性能。

圖2:更多的強化學(xué)習(xí)訓(xùn)練/測試時計算資源提升了競賽數(shù)學(xué)表現(xiàn)

基于這些洞察,研究團隊創(chuàng)建了o1-ioi系統(tǒng),用于參加2024年國際信息學(xué)奧林匹克(IOI)。

除了針對編程任務(wù)進行的持續(xù)強化學(xué)習(xí)訓(xùn)練,o1-ioi還結(jié)合了專門為競賽編程設(shè)計的測試時推理策略。

編程任務(wù)的強化微調(diào)

第一步是擴展OpenAI o1的強化學(xué)習(xí)階段,重點聚焦于編程任務(wù)。

通過將額外的訓(xùn)練計算資源投入到編程問題中,我們增強了模型規(guī)劃、實現(xiàn)和調(diào)試更復(fù)雜解決方案的能力。具體來說:

  1. 從OpenAI o1的checkpoint恢復(fù)了強化學(xué)習(xí)訓(xùn)練
  2. 特別強調(diào)了具有挑戰(zhàn)性的編程問題,幫助模型提升C++代碼生成和運行時檢查能力
  3. 引導(dǎo)模型生成符合IOI提交格式的輸出

這種額外的編程訓(xùn)練使得o1-ioi在推理過程中能夠編寫并執(zhí)行C++程序。通過反復(fù)運行和優(yōu)化解決方案,模型在推理過程中不斷改進其推理能力,從而增強了編程和解決問題的技能。

o1-ioi測試時策略

從整體上看,測試時策略將每個IOI問題分解成多個子任務(wù)。

對于每個子任務(wù),從o1-ioi中采樣了10,000個解決方案,然后采用基于聚類和重新排序的方法,來決定從這些解決方案中提交哪些結(jié)果。

問題設(shè)定

o1-ioi選擇單獨解決每個問題的各個子任務(wù),因為IOI的評分是基于每個子任務(wù)進行的,并且每個選手的最終得分是所有子任務(wù)中最佳嘗試的得分。

因此,將每個IOI問題分解為其組成的子任務(wù)(根據(jù)每個問題的評分指南中的劃分)。具體做法是為每個子任務(wù)創(chuàng)建一個版本的文檔,刪除其他子任務(wù)的信息。

聚類

基于模型生成的測試輸入的輸出,對生成的解決方案進行了聚類。

對于每個子任務(wù),首先讓模型根據(jù)問題規(guī)格和子任務(wù)要求生成隨機的C++測試輸入生成器。研究團隊使用這些生成器生成256個隨機測試輸入。

為了確保這些測試輸入的有效性,接著讓模型編寫C++的測試輸入驗證器,檢查每個測試輸入是否滿足子任務(wù)的約束條件。

最終,只接受通過至少75%驗證器檢查的測試輸入。對于每個子任務(wù),生成了256個這樣的隨機測試輸入,并基于這些測試輸入的輸出進行了聚類。所有在所有測試輸入上輸出相同的程序?qū)⒈粴w為同一類。

重新排序

接著,研究團隊實現(xiàn)了測試時計算策略中的重新排序核心部分。根據(jù)以下幾個方面,對每個解決方案進行了評分:

  • 根據(jù)學(xué)習(xí)得來的評分函數(shù)評估解決方案的質(zhì)量
  • 在模型生成的測試輸入上出現(xiàn)的錯誤
  • 未通過提供的公共測試用例

每個聚類都被賦予了一個分數(shù),該分數(shù)定義為該聚類中包含的樣本的平均分數(shù)減去每次從該聚類提交樣本時所受到的懲罰。所有這些懲罰的權(quán)重是通過對過去幾年IOI問題的解決方案進行隨機搜索調(diào)整的,具體方法是通過直接模擬提交過程來進行調(diào)優(yōu)。

模擬提交

隨后以輪詢的方式提交了最多50個解決方案(這是人類參賽者允許的最大提交次數(shù)),從最難的子任務(wù)開始,覆蓋所有子任務(wù)。

研究團隊為每個子任務(wù)選擇排名靠前的集群中的最高排名解決方案。

當某個子任務(wù)被解決(即獲得了最高分)時,停止對該子任務(wù)的采樣。

在提交任何嚴格包含已解決子任務(wù)的子任務(wù)的解決方案時,會過濾掉那些與已解決子任務(wù)的測試輸入輸出不匹配的解決方案,從而通過剔除幾乎肯定會在較簡單子任務(wù)上失敗的解決方案,快速縮小較難子任務(wù)上的候選解決方案范圍。

CodeForces基準測試

研究團隊再次模擬了CodeForces競賽,以評估o1-ioi的編程能力,競賽條件與實際比賽高度一致,包括每個問題的完整測試集和適當?shù)臅r間與內(nèi)存限制。

圖3顯示,o1-ioi達到了1807的CodeForces評分,超越了93%的競爭者——這清楚地展示了通過在編程任務(wù)上進行額外強化學(xué)習(xí)訓(xùn)練所帶來的改進。

當應(yīng)用簡單的篩選器,拒絕任何未通過公共測試的解決方案時,評分提高到了2092(第96百分位)。完整的測試時策略進一步提升了性能,達到了2214的評分(第98百分位)。

這些結(jié)果驗證了領(lǐng)域特定的強化學(xué)習(xí)微調(diào)與先進的選擇啟發(fā)式方法相結(jié)合,可以顯著提升競賽編程的成果。

圖3:通過對OpenAI o1進行編碼任務(wù)的進一步訓(xùn)練并結(jié)合測試時策略,可以提升性能

CodeForces維護著一個全球活動參與者的排行榜。研究團隊直接將o3在測試競賽中的解題率與其他參賽者進行比較。

圖10展示了這兩種比較,展示了他們在參賽的競賽中的平均解題率與他們的評分,并標出了關(guān)鍵績效水平的評分閾值。

其中,每個點代表至少參加了8場測試競賽的參賽者。水平線表示全球CodeForces活躍競爭者排行榜上的表現(xiàn)閾值。

盡管最頂尖的人類參賽者仍然遠遠強于o3,他們的解題率超過85%,但評分和解題率都表明,o3可以位列全球前200名活躍參與者之中。

圖10:o3位居全球Top 200競賽程序員之列

IOI 2024

o1-ioi系統(tǒng)在與人類參賽者相同的條件下參加了2024年國際信息學(xué)奧林匹克競賽(IOI)。它有10小時的時間解決六個高難度算法問題,每個問題最多允許提交50次。

在競賽期間,系統(tǒng)為每個問題生成了10,000個候選解決方案,并使用設(shè)計的測試時選擇策略從中挑選50個提交方案。

該策略根據(jù)提交方案在IOI公開測試用例、模型生成的測試用例以及學(xué)習(xí)得到的評分函數(shù)上的表現(xiàn)進行優(yōu)先級排序。該模型最終得分213分,位列競賽的第49百分位。

相比之下,隨機選擇50個提交方案的平均得分僅為156分,這表明選擇策略在競賽的限制條件下額外貢獻了近60分。

當每個問題的提交限制放寬到10,000次時,模型的表現(xiàn)顯著提升。在不采用任何測試時選擇策略的情況下,其得分達到了362.14分,超過了金牌門檻。

圖4:o1-ioi在IOI 2024競賽中的表現(xiàn)

o3:自主推理新SOTA

o3在o1和o1-ioi的基礎(chǔ)上,進行了更具創(chuàng)新性的探索。它致力于僅依靠強化學(xué)習(xí)訓(xùn)練,擺脫對人工設(shè)計測試時策略的依賴,挖掘模型自主推理的極限。

研究人員獲取了o3的早期checkpoint,在編程競賽任務(wù)上對其進行評估。

在CodeForces基準測試中,o3的表現(xiàn)堪稱驚艷。進一步的RL訓(xùn)練讓o3相較于o1和o1-ioi有了質(zhì)的飛躍。

o3的評分從o1-ioi的2214(98百分位)提升至 2724(99.8百分位),這一巨大的提升反映出o3在解決復(fù)雜算法問題的能力有了顯著增強,可靠性更高,在CodeForces平臺上的實力已經(jīng)接近頂尖人類選手。

o3在推理過程中展現(xiàn)出更具洞察力和深度思考的思維鏈。

對于驗證過程較為復(fù)雜的問題,o3會采用一種獨特的策略:先編寫簡單的暴力解法,犧牲一定效率來確保正確性,然后將暴力解法的輸出與更優(yōu)化的算法實現(xiàn)進行交叉檢查。

這種自我驗證機制有效地幫助o3發(fā)現(xiàn)潛在錯誤,提高了解決方案的可靠性。

在2024年IOI基準測試中,研究人員對o3在相同的6個IOI問題上進行了回溯評估。o3采用了與o1-ioi不同的采樣和選擇策略。

o3從包含原始問題陳述的單個提示中采樣,每個問題僅采樣1000個解決方案,選擇策略也更為簡潔,即從1024個樣本中選取測試時計算得分最高的50個解決方案。

即便采用如此簡化的方法,o3依然能夠生成強大的解決方案,覆蓋大部分甚至全部子任務(wù),而無需像o1-ioi那樣依賴子任務(wù)特定的提示、手動分區(qū)或復(fù)雜的提交策略。

最終,o3在僅提交50次的情況下,得分達到395.64分,超過了金牌分數(shù)線,而o1-ioi在相同提交次數(shù)下僅得到213分,提交次數(shù)增加到10000次才超過金牌分數(shù)線。

這充分證明了o3無需依賴特定領(lǐng)域的啟發(fā)式方法或基于聚類的復(fù)雜策略,僅靠大規(guī)模強化學(xué)習(xí)訓(xùn)練就能實現(xiàn)卓越的編碼和推理性能。

編程中的「實戰(zhàn)」表現(xiàn)

編程競賽雖然能展示AI的能力,在實際的軟件開發(fā)任務(wù)中,模型的表現(xiàn)又如何呢?

研究人員通過HackerRank Astra和SWE-bench Verified這兩個數(shù)據(jù)集,對模型進行了進一步的測試。

HackerRank Astra數(shù)據(jù)集包含65個編碼挑戰(zhàn),旨在模擬現(xiàn)實世界的軟件開發(fā)任務(wù)。

這些挑戰(zhàn)涵蓋了React.js、Django和Node.js等多種框架,要求開發(fā)者在復(fù)雜的多文件、長上下文場景中解決問題,并且不提供公共測試用例。

測試結(jié)果顯示,o1-preview相較于GPT-4o,首次嘗試完成任務(wù)的概率(pass@1)上提高了9.98%,平均得分提升了6.03分。

經(jīng)強化學(xué)習(xí)微調(diào)后的o1表現(xiàn)更優(yōu),pass@1達到63.92%,平均得分達到75.80%,相比o1-preview又有了進一步提升。這表明o1能夠有效地應(yīng)對復(fù)雜的軟件開發(fā)任務(wù)。

SWE-bench Verified是OpenAI對SWE-bench進行人工驗證后的子集,用于更可靠地評估AI模型解決實際軟件問題的能力。

在這個數(shù)據(jù)集上,o1-preview相較于GPT-4o有8.1%的性能提升,經(jīng)過更多強化學(xué)習(xí)訓(xùn)練的o1進一步提升了8.6%,o3相較于o1更是實現(xiàn)了22.8%的顯著提升。

這些結(jié)果說明,LLM的強大推理能力不僅在編程競賽中表現(xiàn)出色,在實際的軟件工程任務(wù)中同樣具有重要價值。

思維鏈推理對于提升編碼任務(wù)的性能有巨大威力。

從CodeForces和IOI等編程競賽基準測試,到SWE-bench和Astra等復(fù)雜的軟件工程挑戰(zhàn),增加強化學(xué)習(xí)訓(xùn)練計算量和測試時計算量,能持續(xù)推動模型性能提升,使其接近甚至超越世界頂尖人類選手的水平。

責(zé)任編輯:張燕妮 來源: 新智元
相關(guān)推薦

2024-03-19 09:29:32

AI程序員

2025-02-13 09:20:00

2019-12-24 16:46:10

AI 數(shù)據(jù)人工智能

2023-01-06 17:16:36

程序員數(shù)據(jù)薪酬

2014-07-14 12:46:54

2025-06-13 14:22:04

AI工具模型

2018-09-29 05:31:14

二叉樹

2016-01-07 10:26:49

全球程序員研究報告

2013-02-22 10:21:06

2010-03-22 09:32:42

自學(xué)編程

2016-11-24 15:32:35

云計算

2015-10-12 08:56:37

程序員成長法則

2024-03-13 10:41:29

AI程序員

2025-06-11 08:56:54

2024-03-13 10:07:33

2025-06-10 09:22:31

2013-06-09 09:56:35

2024-09-13 09:26:17

2023-03-30 14:19:11

程序員數(shù)據(jù)報告軟件開發(fā)

2009-06-22 09:06:57

程序員技術(shù)升級
點贊
收藏

51CTO技術(shù)棧公眾號