北交開(kāi)源 o1 代碼版:強(qiáng)化學(xué)習(xí) + 蒙特卡洛樹(shù)搜索,放出源代碼、精選數(shù)據(jù)集以及衍生模型

量子位 2024/12/9 12:34:55 責(zé)編:汪淼

北京交通大學(xué)研究團(tuán)隊(duì)悄默聲推出了一版 o1,而且所有源代碼、精選數(shù)據(jù)集以及衍生模型都開(kāi)源!名為 O1-CODER,專(zhuān)注于編碼任務(wù)。

團(tuán)隊(duì)認(rèn)為編碼是一個(gè)需要 System-2 思維方式的典型任務(wù),涉及謹(jǐn)慎、邏輯、一步步的問(wèn)題解決過(guò)程。

而他們的策略是將強(qiáng)化學(xué)習(xí)(RL)與蒙特卡洛樹(shù)搜索(MCTS)相結(jié)合,讓模型能夠不斷生成推理數(shù)據(jù),提升其 System-2 能力。

實(shí)驗(yàn)中,團(tuán)隊(duì)有以下幾點(diǎn)關(guān)鍵發(fā)現(xiàn):

  • 當(dāng)推理正確時(shí),基于偽代碼的推理顯著提升了代碼生成質(zhì)量

  • 將監(jiān)督微調(diào)(SFT)與直接偏好優(yōu)化(DPO)相結(jié)合能夠提升測(cè)試用例生成效果

  • 自我對(duì)弈強(qiáng)化學(xué)習(xí)為推理和代碼生成創(chuàng)造了持續(xù)改進(jìn)的循環(huán)機(jī)制

具體來(lái)說(shuō),團(tuán)隊(duì)采用了測(cè)試用例生成器,在經(jīng)過(guò) DPO 后達(dá)到 89.2% 的通過(guò)率,相比初始微調(diào)后的 80.8% 有顯著提升;Qwen2.5-Coder-7B 采用偽代碼方法實(shí)現(xiàn)了 74.9% 的平均采樣通過(guò)率,提升了 25.6%。

網(wǎng)友直呼很需要這樣的模型。

O1-CODER,究竟長(zhǎng)啥樣?

六步,逐步優(yōu)化 o1

應(yīng)用于代碼生成的自我對(duì)弈強(qiáng)化學(xué)習(xí)面臨兩大挑戰(zhàn):

  • 結(jié)果評(píng)估,即如何評(píng)判生成代碼的質(zhì)量。與圍棋等任務(wù)不同,評(píng)估代碼需要在測(cè)試環(huán)境中運(yùn)行并驗(yàn)證。

  • 定義思考和搜索行為,即確定過(guò)程獎(jiǎng)勵(lì)的對(duì)象和粒度。

對(duì)于第一個(gè)挑戰(zhàn),團(tuán)隊(duì)提出訓(xùn)練一個(gè)測(cè)試用例生成器(TCG),根據(jù)問(wèn)題和標(biāo)準(zhǔn)代碼自動(dòng)生成測(cè)試用例,為強(qiáng)化學(xué)習(xí)提供標(biāo)準(zhǔn)化的代碼測(cè)試環(huán)境和結(jié)果獎(jiǎng)勵(lì)。

對(duì)于第二個(gè)挑戰(zhàn),他們采取”先思考后行動(dòng)“的方式:先通過(guò)詳細(xì)的偽代碼思考問(wèn)題,再基于偽代碼生成最終的可執(zhí)行代碼。

這種方式的優(yōu)勢(shì)在于適應(yīng)性(同一偽代碼可對(duì)應(yīng)不同的具體實(shí)現(xiàn))和可控粒度(通過(guò)調(diào)整偽代碼的細(xì)節(jié)程度控制推理 / 搜索行為的粒度)。

具體來(lái)說(shuō),研究團(tuán)隊(duì)提出了一個(gè)包含六個(gè)步驟的框架:

  • 訓(xùn)練測(cè)試用例生成器(TCG),為代碼測(cè)試提供標(biāo)準(zhǔn)化的環(huán)境

  • 利用 MCTS 生成包含推理過(guò)程的代碼數(shù)據(jù)

  • 迭代微調(diào)策略模型,先生成偽代碼,再生成完整代碼

  • 基于推理過(guò)程數(shù)據(jù)初始化過(guò)程獎(jiǎng)勵(lì)模型(PRM)

  • 在 TCG 提供的結(jié)果獎(jiǎng)勵(lì)和 PRM 提供的過(guò)程獎(jiǎng)勵(lì)的雙重引導(dǎo)下,通過(guò)強(qiáng)化學(xué)習(xí)和 MCTS 更新策略模型

  • 利用優(yōu)化后的策略模型生成新的推理數(shù)據(jù),返回第 4 步迭代訓(xùn)練

兩階段訓(xùn)練測(cè)試用例生成器

在實(shí)驗(yàn)部分,研究人員詳細(xì)介紹了測(cè)試用例生成器的訓(xùn)練過(guò)程。

分為兩個(gè)階段:監(jiān)督微調(diào)(SFT)和直接偏好優(yōu)化(DPO)。

SFT 階段的主要目標(biāo)是確保生成器的輸出符合預(yù)定義格式,以便準(zhǔn)確解析和提取生成的測(cè)試用例。訓(xùn)練數(shù)據(jù)來(lái)自 TACO 數(shù)據(jù)集。

DPO 階段的目標(biāo)是引導(dǎo)模型生成符合特定偏好的測(cè)試用例,進(jìn)一步提高生成器的性能和可靠性。

這里采用了帶有人工構(gòu)建樣本對(duì)的 DPO 方法,構(gòu)建了一個(gè)偏好數(shù)據(jù)集。

實(shí)驗(yàn)表明,SFT 階段過(guò)后,TCG 在標(biāo)準(zhǔn)代碼上生成的測(cè)試用例通過(guò)率達(dá)到 80.8%,DPO 階段進(jìn)一步提升至 89.2%,大幅改善了生成器產(chǎn)出可靠測(cè)試用例的能力。

偽代碼推理,引導(dǎo)模型進(jìn)行深度推理

特別值得一提的是,研究者引入了基于偽代碼的提示方法,將其作為引導(dǎo)模型進(jìn)行深度推理的“認(rèn)知工具”。

他們?yōu)榇硕x了三個(gè)關(guān)鍵行為:

  • 使用偽代碼定義算法結(jié)構(gòu):勾勒主要函數(shù)的結(jié)構(gòu)和接口,把握任務(wù)的整體框架

  • 細(xì)化偽代碼:逐步明確每個(gè)函數(shù)的具體步驟、邏輯和操作

  • 從偽代碼生成代碼:將偽代碼的結(jié)構(gòu)和邏輯精準(zhǔn)翻譯為可執(zhí)行代碼

在 MBPP 數(shù)據(jù)集上進(jìn)行的初步實(shí)驗(yàn)表明,盡管整體通過(guò)率(Pass@1)有所下降,但 Average Sampling Pass Rate(ASPR)顯著提高。

表明結(jié)合偽代碼顯著改善了推理過(guò)程的質(zhì)量,特別是在細(xì)化通向正確輸出的路徑方面。這為后續(xù)的自監(jiān)督微調(diào)和強(qiáng)化學(xué)習(xí)提供了良好的起點(diǎn)。

自我對(duì)弈 + 強(qiáng)化學(xué)習(xí)

研究人員詳細(xì)描述了如何使用蒙特卡洛樹(shù)搜索(MCTS)來(lái)構(gòu)建步驟級(jí)別的過(guò)程獎(jiǎng)勵(lì)數(shù)據(jù)。

這個(gè)過(guò)程涉及到為每個(gè)問(wèn)題形成一個(gè)推理路徑,該路徑由一系列推理步驟組成,并最終產(chǎn)生一個(gè)可執(zhí)行的代碼。在 MCTS 的路徑探索中,使用偽代碼提示策略來(lái)引導(dǎo)推理過(guò)程。當(dāng)達(dá)到終端節(jié)點(diǎn)時(shí),就形成了一個(gè)完整的偽代碼推理路徑。

終端節(jié)點(diǎn)的獎(jiǎng)勵(lì)值是基于兩個(gè)關(guān)鍵指標(biāo)計(jì)算的:編譯成功率(compile)和測(cè)試用例通過(guò)率(pass)。

這些指標(biāo)被用來(lái)評(píng)估生成的代碼的質(zhì)量和正確性。

獎(jiǎng)勵(lì)值被反向傳播到路徑上的所有前序節(jié)點(diǎn),為每個(gè)步驟分配一個(gè)獎(jiǎng)勵(lì)值。通過(guò)這種方式,構(gòu)建了推理過(guò)程數(shù)據(jù)集,為策略模型的初始化和訓(xùn)練提供了基礎(chǔ)。

過(guò)程獎(jiǎng)勵(lì)模型(PRM)的任務(wù)是為當(dāng)前步驟分配一個(gè)獎(jiǎng)勵(lì)值,以估計(jì)其對(duì)最終答案的貢獻(xiàn)。

在數(shù)據(jù)合成過(guò)程中使用的樹(shù)搜索方法可以組織成點(diǎn)式(point-wise)和成對(duì)式(pair-wise)兩種數(shù)據(jù)格式。

基于這些經(jīng)過(guò)驗(yàn)證的正確推理解,策略模型得到初始化

接下來(lái),過(guò)程獎(jiǎng)勵(lì)模型(PRM)開(kāi)始發(fā)揮作用,評(píng)估每一步推理對(duì)最終答案的貢獻(xiàn)。在測(cè)試用例生成器(TCG)提供的結(jié)果獎(jiǎng)勵(lì)和 PRM 提供的過(guò)程獎(jiǎng)勵(lì)的雙重引導(dǎo)下,策略模型通過(guò)強(qiáng)化學(xué)習(xí)不斷改進(jìn)。

更新后的策略模型被用來(lái)生成新的推理數(shù)據(jù),補(bǔ)充到現(xiàn)有數(shù)據(jù)集中,形成自我對(duì)弈的閉環(huán)。這個(gè)數(shù)據(jù)生成-獎(jiǎng)勵(lì)建模-策略?xún)?yōu)化的迭代循環(huán),確保了系統(tǒng)推理能力的持續(xù)提升。

論文鏈接:https://arxiv.org/pdf/2412.00154

本文來(lái)自微信公眾號(hào):量子位(ID:QbitAI),作者:西風(fēng),原標(biāo)題《北交開(kāi)源 o1 代碼版!強(qiáng)化學(xué)習(xí) + 蒙特卡洛樹(shù)搜索,源代碼、精選數(shù)據(jù)集以及衍生模型通通開(kāi)源》

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

軟媒旗下網(wǎng)站: IT之家 最會(huì)買(mǎi) - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買(mǎi) 要知