成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

將偏好學(xué)習(xí)引入模型訓(xùn)練,北大李戈團隊新框架,可顯著提升代碼準確性與執(zhí)行效率

人工智能
監(jiān)督微調(diào)(SFT)等現(xiàn)有訓(xùn)練方法,盡管提升了代碼質(zhì)量,但在代碼生成過程中存在關(guān)鍵局限——沒有完全訓(xùn)練模型在正確與錯誤解決方案之間做出偏好選擇。

代碼模型SFT對齊后,缺少進一步偏好學(xué)習(xí)的問題有解了。

北大李戈教授團隊與字節(jié)合作,在模型訓(xùn)練過程中引入偏好學(xué)習(xí),提出了一個全新的代碼生成優(yōu)化框架——CodeDPO。

在部分模型上,相比于單獨使用SFT,CodeDPO能夠?qū)⒛P偷腍umanEval得分再多提升10個百分點,最高增幅接近1/3。

圖片圖片

監(jiān)督微調(diào)(SFT)等現(xiàn)有訓(xùn)練方法,盡管提升了代碼質(zhì)量,但在代碼生成過程中存在關(guān)鍵局限——沒有完全訓(xùn)練模型在正確與錯誤解決方案之間做出偏好選擇。

當采用SFT方法訓(xùn)練模型時,隨著偏好輸出的可能性增加,生成不理想輸出的概率也隨之上升,導(dǎo)致性能出現(xiàn)瓶頸。

為解決這一問題,北京大學(xué)李戈教授團隊與字節(jié)跳動合作,CodeDPO因此而生。

該框架將偏好學(xué)習(xí)融入代碼模型訓(xùn)練中,利用代碼自驗證機制,顯著提升代碼生成的準確性和執(zhí)行效率。

SFT對代碼生成效果的提升存在局限

代碼生成任務(wù),即根據(jù)自然語言描述自動生成代碼,正日益受到廣泛關(guān)注。

大模型在大規(guī)模數(shù)據(jù)集上進行了充分的訓(xùn)練,在這一領(lǐng)域展現(xiàn)出強大的能力。

這些代碼大模型通常會進一步通過指令監(jiān)督微調(diào)(SFT)等方法進行微調(diào),以最大限度提升其代碼生成能力。

然而,盡管SFT方法提升了模型的代碼生成效果,但其并未完全訓(xùn)練模型在正確與錯誤解決方案之間做出偏好選擇。

以Phi-2-2.7B模型為例,在其后訓(xùn)練過程中,不同正確性和效率的代碼生成概率的變化情況如下圖所示。

圖片圖片

傳統(tǒng)的SFT策略難以教會模型更傾向于生成正確解決方案,而非錯誤或執(zhí)行緩慢的方案。

因此,在代碼模型的后訓(xùn)練中更新訓(xùn)練策略,對于改進這些代碼模型以應(yīng)對各種代碼生成任務(wù)至關(guān)重要。

本文提出新型代碼生成優(yōu)化框架CodeDPO,將偏好學(xué)習(xí)融入代碼模型訓(xùn)練中,基于兩個關(guān)鍵因素——正確性和效率——定義了代碼偏好。

其中,正確性指代碼是否準確解決問題,而效率是指衡量代碼運行的速度。

研究團隊期望在代碼模型的訓(xùn)練過程中,提升模型對正確、高效代碼的偏好性。

訓(xùn)練代碼模型代碼偏好

如圖所示,CodeDPO方法包含四個關(guān)鍵步驟:

圖片圖片

  • 數(shù)據(jù)種子構(gòu)建:首先從開源代碼庫中收集數(shù)據(jù)種子并生成編程任務(wù)提示;
  • 正確性優(yōu)化與自驗證評分:同時生成代碼與測試,通過自驗證機制構(gòu)建用于正確性優(yōu)化的數(shù)據(jù)集;
  • 執(zhí)行時間效率優(yōu)化:研究團隊在選定的可信測試集上測量執(zhí)行時間,以構(gòu)建效率優(yōu)化數(shù)據(jù)集;
  • 模型偏好訓(xùn)練:從上述兩個階段收集數(shù)據(jù)集,并使用DPO方法來訓(xùn)練多種代碼模型。

其中,自驗證評分根據(jù)生成代碼是否通過測試進行迭代更新。

(如上圖所示,經(jīng)過兩次迭代后,代碼-1的評分從1變?yōu)?.75再至2.7,因其通過更可靠的測試并在每次更新中獲得更高評分,表明其正確的概率更大)

代碼自驗證機制

CodeDPO 通過自驗證機制從真實代碼庫構(gòu)建數(shù)據(jù)集,其中代碼和測試用例被同時生成并用于評估。

團隊假設(shè),能被更多代碼片段執(zhí)行的測試更為可靠,而通過更多測試的代碼則更有可能是正確的。

為此,CodeDPO采用了一套自驗證過程:

每個代碼片段和測試用例首先獲得一個自驗證分數(shù),隨后使用一套類PageRank的算法進行迭代更新。

該算法通過考慮交叉驗證中的關(guān)系,來調(diào)整每個代碼片段和測試的可信分數(shù),優(yōu)先基于正確性和效率選擇解決方案。

在初始階段,所有代碼片段和測試用例的自驗證得分均設(shè)為1。

隨著驗證過程的進行,代碼和測試用例的得分會根據(jù)通過率逐步更新。具體而言,測試用例被更多的代碼片段通過,它的自驗證得分就會越高;

通過越多高可信度測試用例的代碼片段,其自驗證得分也越高。自驗證得分的更新公式如下:

圖片圖片

其中,d為阻尼因子,Link(c,t)表示代碼片段c是否通過測試用例t。

經(jīng)過多次迭代后,評分逐步收斂,最終反映了代碼片段和測試用例的正確性質(zhì)量。

除了代碼正確性,代碼的執(zhí)行效率也是代碼生成模型優(yōu)化的重要指標。

在 CodeDPO 中,團隊通過記錄每個代碼片段在測試用例中的執(zhí)行時間,來優(yōu)化其執(zhí)行效率。

然而,并非所有測試用例都能準確反映代碼的執(zhí)行效率。

為了確保效率評估的可靠性,該團隊選擇在正確性優(yōu)化階段評分最高的代碼片段所通過的測試用例,作為“可信測試集”,以此作為效率評估的標準。

對于通過可信測試集的代碼片段,執(zhí)行時間越短,其效率評分越高。

最終,這些效率較高的代碼片段將被用于訓(xùn)練數(shù)據(jù)集中,以進一步優(yōu)化模型生成代碼的執(zhí)行效率。

CodeDPO的最終數(shù)據(jù)集,包含了從正確性優(yōu)化與執(zhí)行效率優(yōu)化階段收集到的數(shù)據(jù)。

通過整合兩方面的數(shù)據(jù)集,確保了模型不僅能生成正確的代碼,還能生成高效的代碼解決方案。

完整的數(shù)據(jù)構(gòu)造流程如下圖所示:

圖片圖片

準確性與效率均有提升

測試結(jié)果顯示,經(jīng)過CodeDPO優(yōu)化后,代碼模型的生成準確率和效率,都獲得了一定提升。

代碼準確性實驗

研究團隊在HumanEval(+),MBPP(+)和DS-1000三個數(shù)據(jù)集上進行了廣泛實驗,涵蓋8種主流代碼生成模型,包含Base模型和SFT模型。

團隊觀察到CodeDPO在所有模型上均帶來了顯著提升,無論其初始性能如何。

特別值得一提的是,在DeepSeekCoder-6.7B的基礎(chǔ)上,配合已有的SFT策略(MagiCoder-S-DS-6.7B),以及本文CodeDPO的增強,最終模型在HumanEval上達到了83.5%的通過率。

此外,CodeDPO在更具挑戰(zhàn)性的HumanEval+上也展現(xiàn)出顯著進步,證明了其在更嚴格評估下的魯棒性。

得益于CodeDPO的數(shù)據(jù)構(gòu)建策略,構(gòu)建一個可靠的偏好數(shù)據(jù)集,幫助模型傾向于高質(zhì)量輸出,從而實現(xiàn)更可靠的代碼生成。

CodeDPO在代碼模型的后期訓(xùn)練階段發(fā)揮著關(guān)鍵作用,顯著提升了整體性能。

圖片圖片

在DS-1000數(shù)據(jù)集上,該團隊進一步評估了CodeDPO在不同Python庫中的表現(xiàn)。

需要注意的是,在數(shù)據(jù)構(gòu)建過程中,并未融入特定Python庫的先驗知識。

盡管在Torch和TensorFlow下團隊觀察到了輕微的性能下降,可能是由于這些庫在數(shù)據(jù)集構(gòu)建中的占比較低。

然而,CodeDPO總體上顯示出對其各自基線模型的性能提升。

DS-1000在數(shù)據(jù)格式和評估的編程技能方面與HumanEval和MBPP等基準有所不同,其數(shù)據(jù)構(gòu)造過程確保其幾乎不被任何模型的訓(xùn)練集所包含,從而使得團隊在DS-1000上觀察到的改進具有可靠性。

這些結(jié)果表明,CodeDPO不僅僅適應(yīng)于HumanEval等標準編程基準,也證明了CodeDPO能夠在更復(fù)雜和多樣化的場景中提升模型的編程能力。

圖片圖片

代碼執(zhí)行效率實驗

對于代碼執(zhí)行效率這一問題,該團隊通過測量生成代碼的執(zhí)行時間并計算加速比來評估。

同時團隊還評估了應(yīng)用CodeDPO前后代碼優(yōu)化百分比,其中程序若比基線快至少10%則視為已優(yōu)化。

這些指標基于在應(yīng)用CodeDPO前后都能被解決的編程問題所構(gòu)成的交集上來進行實驗。
團隊選擇HumanEval+和MBPP+進行評估,因其test case的構(gòu)造顯著擴展了測試用例的多樣性,使得這兩個增強數(shù)據(jù)集涵蓋了各種邊緣情況。

下圖展示了多次實驗結(jié)果的分布情況。

CodeDPO持續(xù)提升代碼性能,使生成的代碼平均加速1.25至1.45倍,約20%-45%的生成代碼解決方案得到了改進,證實了其在提升代碼效率方面的有效性。

圖片圖片

消融實驗

進一步地,作者探討了CodeDPO提出的自驗證機制得到的排序分數(shù),對于最終代碼生成效果的影響。

實驗中選擇了一些其他的常見排序策略,如:

  • 全測試過濾,即假設(shè)所有生成的測試用例均正確,并利用它們來判斷代碼的正確性;
  • 按通過測試數(shù)量排序,即統(tǒng)計所有生成測試中每段代碼通過的測試數(shù)量,以通過測試最多和最少的代碼作為偏好對;
  • 隨機選擇,即從生成的代碼中隨機選取兩個代碼解決方案作為偏好對。

實驗結(jié)果表明,本文提出的自驗證機制以及計算得到的排序分數(shù),在確保偏好數(shù)據(jù)集構(gòu)建的正確性和可靠性方面起著至關(guān)重要的作用,顯著提升了CodeDPO框架的性能。

圖片圖片

文章還探討了不同偏好優(yōu)化策略(DPO、KTO和SFT)對代碼生成模型性能的影響。

SFT訓(xùn)練策略采用構(gòu)建的數(shù)據(jù)集中最佳的代碼解決方案。

在KTO訓(xùn)練策略中,研究團隊在框架中用KTO替代了DPO。

下圖結(jié)果顯示,在這些策略中,DPO表現(xiàn)最佳。

得益于新型的數(shù)據(jù)構(gòu)建方法,團隊能夠獲得分布均衡的正負偏好對,從而增強了DPO中的對比機制。

圖片圖片

CodeDPO的框架不僅驗證了自生成、驗證機制和偏好學(xué)習(xí)在代碼生成領(lǐng)域的有效性,還為未來更大規(guī)模的代碼偏好優(yōu)化奠定了堅實基礎(chǔ)。

CodeDPO的特色在于,不需要有大量優(yōu)質(zhì)的測試用例,減少了對外部資源的依賴,使得該框架能夠在高質(zhì)量測試數(shù)據(jù)可能稀少的現(xiàn)實場景中優(yōu)化代碼模型。

作者認為,隨著技術(shù)的不斷發(fā)展,CodeDPO有望在實際應(yīng)用中幫助開發(fā)團隊生成更優(yōu)質(zhì)、更符合需求的代碼,顯著提升軟件的可靠性與交付質(zhì)量。

作者簡介

本文的通訊作者是北京大學(xué)計算機學(xué)院長聘教授李戈。

第一作者為李戈教授課題組博士生張克馳,本科畢業(yè)于北京大學(xué)信息科學(xué)技術(shù)學(xué)院,研究方向為智能化軟件工程、代碼表示與代碼生成。

他曾以第一作者在自然語言處理、軟件工程等領(lǐng)域的國際會議上發(fā)表多篇論文,曾獲得2023年ACM杰出論文獎(ACM SIGSOFT Distinguished Paper Award in International Conference on Program Comprehension)。

論文地址:https://arxiv.org/abs/2410.05605

責任編輯:武曉燕 來源: 量子位
相關(guān)推薦

2024-09-03 14:10:00

模型測試

2024-08-06 08:43:17

2024-09-14 10:00:00

AI機器人計算

2024-09-12 13:50:00

模型訓(xùn)練

2024-06-20 10:49:15

2009-08-12 09:27:31

Google搜索

2025-06-09 09:17:44

2024-12-23 13:28:22

2024-06-05 09:59:13

2024-12-11 08:12:24

2025-03-17 10:25:28

2025-03-17 12:48:50

2024-02-07 12:13:03

AI模型

2021-05-10 17:40:14

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

2021-11-09 09:52:57

神經(jīng)網(wǎng)絡(luò)AI算法

2024-12-09 09:20:00

MySQLNULL 值

2017-08-13 22:19:37

人工智能

2024-12-02 13:50:00

模型訓(xùn)練

2025-03-04 13:00:00

JavaScrip代碼語言

2015-04-28 10:31:35

SQL格式化查詢
點贊
收藏

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

主站蜘蛛池模板: 91精品国产91久久综合桃花 | av首页在线 | 精品国产18久久久久久二百 | 一区二区精品在线 | 亚洲综合精品 | 久久久男人的天堂 | 东方伊人免费在线观看 | 久久久久久国产精品免费免费男同 | 国产一区二区三区不卡av | 在线伊人 | 日本一区二区三区免费观看 | 国产精品久久久久久一区二区三区 | 日本中文字幕一区 | 亚洲国产午夜 | 亚洲97 | 国产japanhdxxxx麻豆 | 久久综合伊人一区二区三 | 久久精品亚洲欧美日韩精品中文字幕 | www.亚洲一区二区三区 | 欧美日韩亚洲一区 | 国产福利在线小视频 | 成人一区二区三区在线观看 | 二区三区视频 | 91精品国产乱码久久久久久久久 | 性色视频 | 毛片免费视频 | 久一久| 亚洲综合热| 日韩精品在线一区 | 日韩在线日韩 | 亚洲一区二区不卡在线观看 | 中文字幕在线免费 | 国产亚洲高清视频 | 在线免费观看a级片 | 国产一区二区免费在线 | 欧产日产国产精品视频 | 不卡的av电影| 九九热精品免费 | 久久久久亚洲 | av电影一区二区 | 欧美激情网站 |