大酷樂
  • 汽車
  • 理财
  • 軍事
  • 科技
  • 遊戲
  • 互聯網
  • 娛樂
  • 财經
  • 科學
  • 社會
  • 親子
  • 電影
  • 健康
  • 教育
  1. 首頁
  2. 科學

将偏好學習引入模型訓練,北大李戈團隊新框架,可顯著提升代碼準确性與執行效率

2024-11-27 简体 HK SG TW

今天小編分享的科學經驗:将偏好學習引入模型訓練,北大李戈團隊新框架,可顯著提升代碼準确性與執行效率,歡迎閱讀。

代碼模型 SFT 對齊後,缺少進一步偏好學習的問題有解了。

北大李戈教授團隊與字節合作,在模型訓練過程中引入偏好學習,提出了一個全新的代碼生成優化框架——CodeDPO。

在部分模型上,相比于單獨使用 SFT,CodeDPO 能夠将模型的 HumanEval 得分再多提升 10 個百分點,最高增幅接近 1/3。

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

當采用 SFT 方法訓練模型時,随着偏好輸出的可能性增加,生成不理想輸出的概率也随之上升,導致性能出現瓶頸。

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

該框架将偏好學習融入代碼模型訓練中,利用代碼自驗證機制,顯著提升代碼生成的準确性和執行效率。

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

代碼生成任務,即根據自然語言描述自動生成代碼,正日益受到廣泛關注。

大模型在大規模數據集上進行了充分的訓練,在這一領網域展現出強大的能力。

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

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

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

傳統的 SFT 策略難以教會模型更傾向于生成正确解決方案,而非錯誤或執行緩慢的方案。

因此,在代碼模型的後訓練中更新訓練策略,對于改進這些代碼模型以應對各種代碼生成任務至關重要。

本文提出新型代碼生成優化框架 CodeDPO,将偏好學習融入代碼模型訓練中,基于兩個關鍵因素——正确性和效率——定義了代碼偏好。

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

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

訓練代碼模型代碼偏好

如圖所示,CodeDPO 方法包含四個關鍵步驟:

數據種子構建:首先從開源代碼庫中收集數據種子并生成編程任務提示;

正确性優化與自驗證評分:同時生成代碼與測試,通過自驗證機制構建用于正确性優化的數據集;

執行時間效率優化:研究團隊在選定的可信測試集上測量執行時間,以構建效率優化數據集;

模型偏好訓練:從上述兩個階段收集數據集,并使用 DPO 方法來訓練多種代碼模型。

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

(如上圖所示,經過兩次迭代後,代碼 -1 的評分從 1 變為 1.75 再至 2.7,因其通過更可靠的測試并在每次更新中獲得更高評分,表明其正确的概率更大)

代碼自驗證機制

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

團隊假設,能被更多代碼片段執行的測試更為可靠,而通過更多測試的代碼則更有可能是正确的。

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

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

該算法通過考慮交叉驗證中的關系,來調整每個代碼片段和測試的可信分數,優先基于正确性和效率選擇解決方案。

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

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

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

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

經過多次迭代後,評分逐步收斂,最終反映了代碼片段和測試用例的正确性質量。

除了代碼正确性,代碼的執行效率也是代碼生成模型優化的重要指标。

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

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

為了确保效率評估的可靠性,該團隊選擇在正确性優化階段評分最高的代碼片段所通過的測試用例,作為 " 可信測試集 ",以此作為效率評估的标準。

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

最終,這些效率較高的代碼片段将被用于訓練數據集中,以進一步優化模型生成代碼的執行效率。

CodeDPO 的最終數據集,包含了從正确性優化與執行效率優化階段收集到的數據。

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

完整的數據構造流程如下圖所示:

準确性與效率均有提升

測試結果顯示,經過 CodeDPO 優化後,代碼模型的生成準确率和效率,都獲得了一定提升。

代碼準确性實驗

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

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

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

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

得益于 CodeDPO 的數據構建策略,構建一個可靠的偏好數據集,幫助模型傾向于高質量輸出,從而實現更可靠的代碼生成。

CodeDPO 在代碼模型的後期訓練階段發揮着關鍵作用,顯著提升了整體性能。

在 DS-1000 數據集上,該團隊進一步評估了 CodeDPO 在不同 Python 庫中的表現。

需要注意的是,在數據構建過程中,并未融入特定 Python 庫的先驗知識。

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

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

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

這些結果表明,CodeDPO 不僅僅适應于 HumanEval 等标準編程基準,也證明了 CodeDPO 能夠在更復雜和多樣化的場景中提升模型的編程能力。

代碼執行效率實驗

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

同時團隊還評估了應用 CodeDPO 前後代碼優化百分比,其中程式若比基線快至少 10% 則視為已優化。

這些指标基于在應用 CodeDPO 前後都能被解決的編程問題所構成的交集上來進行實驗。

團隊選擇 HumanEval+ 和 MBPP+ 進行評估,因其 test case 的構造顯著擴展了測試用例的多樣性,使得這兩個增強數據集涵蓋了各種邊緣情況。

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

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

消融實驗

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

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

全測試過濾,即假設所有生成的測試用例均正确,并利用它們來判斷代碼的正确性;

按通過測試數量排序,即統計所有生成測試中每段代碼通過的測試數量,以通過測試最多和最少的代碼作為偏好對;

随機選擇,即從生成的代碼中随機選取兩個代碼解決方案作為偏好對。

實驗結果表明,本文提出的自驗證機制以及計算得到的排序分數,在确保偏好數據集構建的正确性和可靠性方面起着至關重要的作用,顯著提升了 CodeDPO 框架的性能。

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

SFT 訓練策略采用構建的數據集中最佳的代碼解決方案。

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

下圖結果顯示,在這些策略中,DPO 表現最佳。

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

CodeDPO 的框架不僅驗證了自生成、驗證機制和偏好學習在代碼生成領網域的有效性,還為未來更大規模的代碼偏好優化奠定了堅實基礎。

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

作者認為,随着技術的不斷發展,CodeDPO 有望在實際應用中幫助開發團隊生成更優質、更符合需求的代碼,顯著提升軟體的可靠性與交付質量。

作者簡介

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

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

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

論文地址:

https://arxiv.org/abs/2410.05605

—  完  —

投稿請發郵件到:

[email protected]

标題注明【投稿】,告訴我們:

你是誰,從哪來,投稿内容‍

附上論文 / 項目主頁鏈接,以及聯系方式哦

我們會(盡量)及時回復你

點這裡關注我,記得标星哦~

一鍵三連「分享」、「點贊」和「在看」

科技前沿進展日日相見 ~  

>
熱門排行
  • 王治郅:楊瀚森主要的問題是速度 他的速度跟不上現代籃球的節奏 王治郅:楊瀚森主要的問題是速度 他的速度跟 郟君昊 | 2025-05-05
  • 貿易戰燒進電影院:特朗普拟重稅打擊外國電影 逼好萊塢等回美拍片 貿易戰燒進電影院:特朗普拟重稅打擊外國電影 習又夏 | 2025-05-05
  • 貸款追高炒黃金的人後悔了!有人一天虧掉6年工資,賣掉舍不得,不賣扛不住 貸款追高炒黃金的人後悔了!有人一天虧掉6年 寸飛蘭 | 2025-05-05
  • 手機電池突破8000mAh?矽碳技術的回旋镖:「折壽」換容量 手機電池突破8000mAh?矽碳技術的回旋镖:「折 衛青柏 | 2025-05-05
  • 貸款追高炒黃金的人後悔了!有人一天虧掉6年工資,賣掉舍不得,不賣扛不住 貸款追高炒黃金的人後悔了!有人一天虧掉6年 繁綺文 | 2025-05-05
  • 任天堂對Genki提起Switch 2商标侵權訴訟,後者回應稱将嚴肅對待 任天堂對Genki提起Switch 2商标侵權訴訟,後 郜萌運 | 2025-05-05
  • 哪吒汽車APP和官網恢復正常 知情人士:之前斷網因流量欠費 哪吒汽車APP和官網恢復正常 知情人士:之前斷 袁曼雁 | 2025-05-05
  • 極越汽車 CEO 夏一平名下青島/義烏兩家公司被列入經營異常 極越汽車 CEO 夏一平名下青島/義烏兩家公司 集玲琳 | 2025-05-05
  • 全國經濟第一大省明确,推動組建農商聯合銀行 全國經濟第一大省明确,推動組建農商聯合銀行 佼昌翰 | 2025-05-05
  • 桑保利:亞馬爾有配合意識&有點像梅西 姆巴佩更專注進球&更像C羅 桑保利:亞馬爾有配合意識&有點像梅西 姆巴佩 甄正浩 | 2025-05-05
  • 高露現身上海虹橋機場 黑色外套點綴亮色愛心裝飾俏皮亮眼 高露現身上海虹橋機場 黑色外套點綴亮色愛 惠惠君 | 2023-05-02
  • 《歧路旅人2》:向光而生 《歧路旅人2》:向光而生 衛青柏 | 2023-05-02
  • vivo X90S曝光:處理器更新為天玑9200+ 安卓最強芯 vivo X90S曝光:處理器更新為天玑9200+ 安卓最 袁曼雁 | 2023-05-05
  • “懶癌”發病率上升,定期體檢别忽視 “懶癌”發病率上升,定期體檢别忽視 幸聽楓 | 2023-05-02
  • 宋慧喬獲百想視後 韓素希發圖手動加愛心表情慶祝 宋慧喬獲百想視後 韓素希發圖手動加愛心表 賁芳蕤 | 2023-05-02
  • 曹操墓,裡面都有啥? 曹操墓,裡面都有啥? 衛青柏 | 2023-05-02
  • 十年了,他們終于要HE! 十年了,他們終于要HE! 惠惠君 | 2023-05-07
  • 中央部署經濟工作,釋放5大信号 中央部署經濟工作,釋放5大信号 郜萌運 | 2023-05-02
  • 高德上線手機彎道會車預警功能 高德上線手機彎道會車預警功能 習又夏 | 2023-05-02
  • 陳自瑤抱病為愛女做蛋糕慶生,王浩信點贊沒露面 陳自瑤抱病為愛女做蛋糕慶生,王浩信點贊沒露 賁芳蕤 | 2023-05-02
  • 等比例長大的童星,李蘭迪算一個 等比例長大的童星,李蘭迪算一個 郟君昊 | 2023-05-02
  • 這些被抓來做實驗的流浪狗,最終拯救了無數糖尿病人 這些被抓來做實驗的流浪狗,最終拯救了無數糖 集玲琳 | 2023-05-02
  • 高端國產車:軍車血統,目前電動車越野的“天花板”? 高端國產車:軍車血統,目前電動車越野的“天花 謝飛揚 | 2023-05-02
  • 《雲襄傳》終于抬上來啦,男O女A讓人好上頭! 《雲襄傳》終于抬上來啦,男O女A讓人好上頭! 集玲琳 | 2023-05-02
  • 21家A股遊戲公司2022年收入651億 今年“遊戲+AI”能否逆風翻盤? 21家A股遊戲公司2022年收入651億 今年“遊 衛青柏 | 2023-05-04
  • 與周立波夫婦鬧糾紛成老賴,唐爽被司法拘留15日 與周立波夫婦鬧糾紛成老賴,唐爽被司法拘留15 寸飛蘭 | 2023-05-05
  • 信用風險釋放趨緩,結構性風險需重點關注 ——2023年一季度債市信用風險回顧與下階段展望 信用風險釋放趨緩,結構性風險需重點關注 — 袁曼雁 | 2023-05-02
  • 普京籤署總統令,批準對俄刑法典相關法條的修正案 普京籤署總統令,批準對俄刑法典相關法條的修 集玲琳 | 2023-05-02
  • 中銀證券給予南京銀行增持評級 中銀證券給予南京銀行增持評級 袁曼雁 | 2023-05-03
  • 解除資格!停止一切合作 解除資格!停止一切合作 佼昌翰 | 2023-05-02
  • 3699起 聯想小新mini主機上架 13代酷睿标壓處理器 3699起 聯想小新mini主機上架 13代酷睿标壓 習又夏 | 2023-05-05
  • 前董事長被免,天山生物全面進入“中植系”時代?股價曾在一月内暴漲超400% 前董事長被免,天山生物全面進入“中植系”時 惠惠君 | 2023-05-02
  • 瘋成這樣,怎麼還能被全網吹捧? 瘋成這樣,怎麼還能被全網吹捧? 郜萌運 | 2023-05-02
  • 狂吼11次“讓一下”!交警咆哮開道嘶吼到吐 狂吼11次“讓一下”!交警咆哮開道嘶吼到吐 寸飛蘭 | 2023-05-03
  • 摩根大通收購美國第一共和銀行 摩根大通收購美國第一共和銀行 謝飛揚 | 2023-05-02
  • 台劇赢麻了,又來一部8.9 台劇赢麻了,又來一部8.9 衛青柏 | 2023-05-02
  • 下降45分,上漲35分!34所自劃線院校復試分數線漲幅匯總 下降45分,上漲35分!34所自劃線院校復試分數線 袁曼雁 | 2023-05-07
  • 事關農村土地承包和農民權益,《農村土地承包合同管理辦法》5月1日起施行 事關農村土地承包和農民權益,《農村土地承包 郟君昊 | 2023-05-02
  • "三高"已盯上青少年,做好這件事是關鍵 "三高"已盯上青少年,做好這件事是關鍵 習又夏 | 2023-05-05
  • 五一檔沒一個能打的 五一檔沒一個能打的 集玲琳 | 2023-05-05
  • 恐怖韓劇下神壇,這次膽小可入 恐怖韓劇下神壇,這次膽小可入 袁曼雁 | 2023-05-05
  • 這劇是不是用ChatGPT寫的呀? 這劇是不是用ChatGPT寫的呀? 惠惠君 | 2023-05-02
  • 200戶連夜疏散,原因讓人憤怒!“損失超一億”,官方通報 200戶連夜疏散,原因讓人憤怒!“損失超一億”, 袁曼雁 | 2023-05-03
  • 性騷擾慣犯,滾出娛樂圈 性騷擾慣犯,滾出娛樂圈 謝飛揚 | 2023-05-05
  • 48歲何炅自曝已老花眼,黃磊睡前認老,《向往的生活》證實将停辦 48歲何炅自曝已老花眼,黃磊睡前認老,《向往的 佼昌翰 | 2023-05-02
  • 一個《長月燼明》倒了,《狐妖》《長相思》《與鳳行》…在路上了 一個《長月燼明》倒了,《狐妖》《長相思》《 惠惠君 | 2023-05-02
  • 張天愛假期曬“酷”存照 卷發披肩穿黑色吊帶裙大秀好身材 張天愛假期曬“酷”存照 卷發披肩穿黑色吊 嬴覓晴 | 2023-05-02
  • 當年輕人開始不随份子錢 當年輕人開始不随份子錢 袁曼雁 | 2023-05-02
  • 畢滢用8年時間成功逼宮?曾被傳已婚生子的她,不容小觑 畢滢用8年時間成功逼宮?曾被傳已婚生子的她, 幸聽楓 | 2023-05-03
  • 宋慧喬獲視後首次曬照,拿獎杯笑容溫柔 宋慧喬獲視後首次曬照,拿獎杯笑容溫柔 郜萌運 | 2023-05-02

©2022 大酷樂 版權所有

隱私政策 | 服務條款 | 聯繫我們