Sora二代實機演示曝光解鎖圖生影片奧特曼暗示期待週一
北京交通大學研究團隊悄默聲推出了一版o1,而且所有原始碼、精選資料集以及衍生模型都開源!名為O1-CODER,專注於編碼任務。團隊認為編碼是一個需要System-2思考方式的典型任務,涉及謹慎、邏輯、一步一步的問題解決過程。
而他們的策略是將強化學習(RL)與蒙地卡羅樹搜尋(MCTS)結合,讓模型能夠持續產生推理數據,提升其System-2能力。
實驗中,團隊有以下幾點關鍵發現:
- 当推理正确时,基于伪代码的推理显著提升了代码生成质量
- 將監督微調(SFT)與直接偏好優化(DPO)結合能夠提升測試用例產生效果
- 自我對弈強化學習為推理和程式碼產生創造了持續改進的循環機制
具体来说,团队采用了测试用例生成器,在经过DPO后达到89.2%的通过率,相比初始微调后的80.8%有显著提升;Qwen2.5-Coder-7B采用伪代码方法实现了74.9%的平均采样通过率,提升了25.6%。
網友直呼很需要這樣的模型。
O1-CODER,究竟長啥樣?
六步,逐步優化o1
應用於程式碼生成的自我對弈強化學習面臨兩大挑戰:
- 結果評估,即如何評判產生程式碼的品質。與圍棋等任務不同,評估程式碼需要在測試環境中執行並驗證。
- 定義思考和搜尋行為,即確定過程獎勵的對象和粒度。
對於第一個挑戰,團隊提出訓練一個測試案例產生器(TCG),根據問題和標準程式碼自動產生測試案例,為強化學習提供標準化的程式碼測試環境和結果獎勵。
對於第二個挑戰,他們採取」先思考後行動「的方式:先透過詳細的偽代碼思考問題,再基於偽代碼產生最終的可執行代碼。
這種方式的優勢在於適應性(同一偽代碼可對應不同的具體實現)和可控粒度(透過調整偽代碼的細節程度控制推理/搜尋行為的粒度)。
具體來說,研究團隊提出了一個包含六個步驟的架構:
- 訓練測試用例產生器(TCG),為程式碼測試提供標準化的環境
- 利用MCTS產生包含推理過程的程式碼數據
- 迭代微調策略模型,先生成偽代碼,再產生完整程式碼
- 基於推理過程資料初始化過程獎勵模型(PRM)
- 在TCG提供的結果獎勵和PRM提供的過程獎勵的雙重引導下,透過強化學習和MCTS更新策略模型
- 利用優化後的策略模型產生新的推理數據,回到第4步迭代訓練
兩階段訓練測試用例產生器
在實驗部分,研究人員詳細介紹了測試案例產生器的訓練流程。
分為兩個階段:監督微調(SFT)和直接偏好最佳化(DPO)。
SFT階段的主要目標是確保生成器的輸出符合預先定義格式,以便準確解析並擷取產生的測試案例。訓練資料來自TACO資料集。
DPO階段的目標是引導模型產生符合特定偏好的測試案例,進一步提高生成器的效能和可靠性。
這裡採用了具有人工建構樣本對的DPO方法,建構了一個偏好資料集。
實驗顯示,SFT階段過後,TCG在標準程式碼上產生的測試案例通過率達到80.8%,DPO階段進一步提升至89.2%,大幅改善了產生器產出可靠測試案例的能力。
偽代碼推理,引導模型進行深度推理
特別值得一提的是,研究者引入了基於偽代碼的提示方法,將其作為引導模型進行深度推理的「認知工具」。
他們為此定義了三個關鍵行為:
- 使用偽代碼定義演算法結構:勾勒主要函數的結構和接口,掌握任務的整體框架
- 細化偽代碼:逐步明確每個函數的具體步驟、邏輯和操作
- 從偽代碼產生程式碼:將偽代碼的結構和邏輯精準翻譯為可執行程式碼
在MBPP数据集上进行的初步实验表明,尽管整体通过率(Pass@1)有所下降,但Average Sampling Pass Rate(ASPR)显著提高。
表明结合伪代码显著改善了推理过程的质量,特别是在细化通向正确输出的路径方面。这为后续的自监督微调和强化学习提供了良好的起点。
自我對弈+強化學習
研究人員詳細描述如何使用蒙特卡羅樹搜尋(MCTS)來建立步驟層級的過程獎勵資料。
這個過程涉及為每個問題形成一個推理路徑,該路徑由一系列推理步驟組成,並最終產生一個可執行的程式碼。在MCTS的路徑探索中,使用偽代碼提示策略來引導推理過程。當達到終端節點時,就形成了一個完整的偽代碼推理路徑。
終端節點的獎勵值是基於兩個關鍵指標計算的:編譯成功率(compile)和測試案例通過率(通過)。
這些指標被用來評估產生的程式碼的品質和正確性。
獎勵值被反向傳播到路徑上的所有前序節點,為每個步驟分配一個獎勵值。透過這種方式,建構了推理過程資料集,為策略模型的初始化和訓練提供了基礎。
過程獎勵模型(PRM)的任務是為當前步驟分配一個獎勵值,以估計其對最終答案的貢獻。
在資料合成過程中使用的樹搜尋方法可以組織成點式(point-wise)和成對式(pair-wise)兩種資料格式。
基於這些經過驗證的正確推理解,策略模型被初始化。
接下來,過程獎勵模型(PRM)開始發揮作用,評估每一步推理對最終答案的貢獻。在測試用例產生器(TCG)提供的結果獎勵和PRM提供的過程獎勵的雙重引導下,策略模型透過強化學習不斷改進。
更新後的策略模型被用來產生新的推理數據,補充到現有資料集中,形成自我對弈的閉環。這個資料產生-獎勵建模-策略優化的迭代循環,確保了系統推理能力的持續提升。
論文連結:https://arxiv.org/pdf/2412.00154
參考連結:https://x.com/rohanpaul_ai/status/1864488583744377271?s=46&t=iTysI4vQLQqCNJjSmBODPw