自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式

發(fā)布于 2025-4-21 07:29
瀏覽
0收藏

大家好,我是HxShine

今天分享一篇香港科技大學、DeepSeek-AI和上海交通大學聯(lián)合發(fā)表的文章,標題為:CODEI/O: Condensing Reasoning Patterns via Code Input-Output Prediction(CODEI/O:通過代碼輸入輸出預(yù)測濃縮推理模式)。

這篇文章提出了一種名為 CODEI/O 的新方法,旨在 通過代碼輸入輸出預(yù)測來提煉和濃縮代碼中蘊含的多種推理模式,從而提升大語言模型(LLMs)的推理能力。 該方法的核心思想是 將代碼轉(zhuǎn)換為一種輸入輸出預(yù)測任務(wù),讓模型學習在給定代碼和測試用例的情況下,預(yù)測輸入或輸出,而這些輸入輸出都以自然語言(思維鏈,CoT)的形式呈現(xiàn)。

該方法主要特點如下:

?通用性: CODEI/O 不僅能用于代碼相關(guān)的任務(wù)的推理能力, 還適用于更廣泛的推理任務(wù), 如邏輯、符號、數(shù)學、科學和常識推理等。

一、概述

?Title:CODEI/O: Condensing Reasoning Patterns via Code Input-Output Prediction

?URL:arXiv:2502.07316v3

?Authors:Junlong Li, Daya Guo, Dejian Yang, Runxin Xu, Yu Wu, Junxian He

?Code:?? https://github.com/hkust-nlp/CodeIO??

1.Motivation

? 現(xiàn)有研究主要集中于增強特定領(lǐng)域的技能,例如數(shù)學或代碼生成,但由于訓練數(shù)據(jù)稀疏且分散,提高其他推理任務(wù)的性能仍然具有挑戰(zhàn)性(如何提升通用的推理能力還沒有人做的特別好?。。。?。

? 傳統(tǒng)方法在原始代碼上進行持續(xù)預(yù)訓練效果不佳,因為相關(guān)推理信號通常是隱式的,并且與噪聲信息交織在一起(預(yù)訓練階段利用代碼提上推理能力時的數(shù)據(jù)質(zhì)量不太好?。。。?。

? 直接訓練文本到代碼生成也面臨挑戰(zhàn),因為它受限于生成特定代碼語法的要求,很難推廣到代碼特定任務(wù)之外的任務(wù)(需要做到更通用,例如全部用自然語言來處理,方便遷移到其他任務(wù)?。。。?。

2.Methods

省流版總結(jié):

CODEI/O 將代碼轉(zhuǎn)化為輸入-輸出預(yù)測格式, 訓練模型根據(jù)自然語言形式的 CoT 推理來預(yù)測給定代碼和測試用例的輸入/輸出。這樣可以將結(jié)構(gòu)化推理從特定代碼語法中解耦出來,并保留程序的嚴謹性。CODEI/O 能夠?qū)W習到通用推理基礎(chǔ),如邏輯流程規(guī)劃、狀態(tài)空間搜索、決策樹遍歷和模塊化分解。

?CODEI/O方法:將原始代碼文件轉(zhuǎn)換成可執(zhí)行的函數(shù),并設(shè)計一個更直接的任務(wù):給定一個函數(shù)及其相應(yīng)的文本查詢,模型需要預(yù)測給定輸入的執(zhí)行輸出或給定輸出的可行輸入,全部以自然語言作為CoT理由。

?數(shù)據(jù)構(gòu)建:從各種來源收集原始代碼文件,轉(zhuǎn)換為統(tǒng)一格式,然后通過執(zhí)行代碼生成輸入-輸出對,并使用DeepSeek-V2.5收集自然語言CoT預(yù)測。為了進一步提升數(shù)據(jù)質(zhì)量,通過代碼執(zhí)行驗證所有預(yù)測,并對初始錯誤的回應(yīng)進行多輪修訂(CODEI/O++)。

?訓練方法:采用兩階段訓練策略,首先在CODEI/O或CODEI/O++數(shù)據(jù)集上進行訓練,然后在通用指令調(diào)優(yōu)數(shù)據(jù)集上進行第二階段訓練。

詳細方法和步驟:

數(shù)據(jù)收集 (Collecting Raw Code Files):

? 從多樣化的來源選擇原始代碼,包括CodeMix (一個大型的內(nèi)部代碼預(yù)訓練語料庫) 和 PyEdu-R (Python-Edu 的一個子集,專注于復(fù)雜的推理任務(wù),如 STEM、系統(tǒng)建模或邏輯謎題)。

? 為了避免與 CodeMix 重疊,PyEdu-R 特意排除了純算法中心的文件。

? 除了這兩個主要來源,還整合了來自各種小型但信譽良好的來源的高質(zhì)量代碼文件,包括綜合算法存儲庫、具有挑戰(zhàn)性的數(shù)學問題和知名的在線編碼平臺。

? 總共合并了大約 810.5K 個代碼文件。

數(shù)據(jù)轉(zhuǎn)換 (Transforming to a Unified Format): 使用 DeepSeek-V2.5 對收集的原始代碼文件進行預(yù)處理,將其精煉為統(tǒng)一的格式,強調(diào)主要的邏輯功能,并使其可執(zhí)行,以便收集輸入-輸出對。轉(zhuǎn)換后的數(shù)據(jù)組織成以下組件:

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

1)Cleaned Reference Code:通過清理和重構(gòu)代碼,提取核心邏輯功能到函數(shù)中,排除可視化和文件處理等非必要元素。

2)Input Generator:創(chuàng)建一個獨立的、基于規(guī)則的 Python 輸入生成器函數(shù),返回遵循主入口函數(shù)要求的非平凡輸入。應(yīng)用隨機性以實現(xiàn)可擴展的數(shù)據(jù)生成。

3)Query:基于主入口函數(shù)生成簡潔的問題陳述,作為描述代碼預(yù)期功能的查詢。

這里有一個完整的example:

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

收集輸入和輸出對 (Collecting Input and Output Pairs): 對于每個轉(zhuǎn)換后的函數(shù),使用輸入生成器采樣多個輸入,并通過執(zhí)行代碼獲得相應(yīng)的輸出。

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

構(gòu)建輸入-輸出預(yù)測樣本 (Building Samples for Input-Output Prediction):

? 將收集的輸入-輸出對和轉(zhuǎn)換后的函數(shù)組合成可訓練的格式。

? 對于監(jiān)督微調(diào)過程,為每個訓練樣本構(gòu)建一個 prompt 和 response。Prompt 模板結(jié)合了函數(shù)、查詢、參考代碼以及特定的輸入或輸出。Response 理想情況下是自然語言 CoT,解釋如何推導(dǎo)出正確的輸出或可行的輸入。

? 提供了兩種構(gòu)建 CoT response 的方法:

1)Direct Prompting – CODEI/O:使用 DeepSeek-V2.5 合成所有期望的 response,因為其性能優(yōu)越且成本極低。

2)Making Full Use of Code – CODEI/O++:對于預(yù)測不正確的 response,將反饋附加為第二輪輸入消息,并要求 DeepSeek-V2.5 重新生成另一個 response。最終的 response 通過連接所有四個組件(第一輪 response + 第一輪反饋 + 第二輪 response + 第二輪反饋)構(gòu)建。一個revise的example如下:

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

訓練設(shè)置 (Training Setups): 采用兩階段訓練策略:第一階段在 CODEI/O 或 CODEI/O++ 數(shù)據(jù)集上訓練 (加強推理能力),第二階段進行通用指令調(diào)優(yōu) (提升通用能力)。

3.Conclusion

?CODEI/O 方法有效提升了模型的推理能力。通過在 CODEI/O 數(shù)據(jù)集上訓練,模型在各種推理任務(wù)上都取得了顯著且普遍的性能提升,包括符號推理、科學推理、邏輯推理、數(shù)學推理和常識推理。

?CODEI/O 方法具有通用性和泛化能力。盡管 CODEI/O 使用的代碼中心數(shù)據(jù)進行訓練,但它不僅提升了代碼相關(guān)任務(wù)的性能,也提升了更廣泛的通用推理任務(wù)的性能,表明其學習到的推理模式具有良好的泛化能力。

4.Limitation

? 本文主要驗證了 CODEI/O 方法在提高模型推理能力上的有效性,但對于模型規(guī)模、推理成本等方面未進行深入探討,未來可以進一步探索如何將其應(yīng)用于更廣泛的場景,并降低推理成本。

二、詳細內(nèi)容

1.不同基座模型使用 CODEI/O 和 CODEI/O++ 在多個推理 benchmark 上的結(jié)果

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

總結(jié)1:CODEI/O 和 CODEI/O++ 不僅取得了更高的平均分數(shù),而且性能更加均衡,在幾乎所有 benchmark 上都實現(xiàn)了性能提升,展示了其平衡且可泛化的推理能力。

總結(jié)2:與使用完整數(shù)據(jù)集訓練的 WI (Full) 和 OMI2 (Full) 相比,使用 3.5M 子集的 CODEI/O 和 CODEI/O++ 在 Qwen 2.5 Coder 7B 上仍然取得了更具競爭力的結(jié)果,表明 CODEI/O 具有更好的數(shù)據(jù)效率。

2.消融實驗:推理需要學習推理Pattern,最終答案反而不重要

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

說明:分別評估了僅進行輸入預(yù)測 (I. Pred. only)、僅進行輸出預(yù)測 (O. Pred. only) 以及去除 rejection sampling 的效果。

總結(jié)1:結(jié)果表明,輸入預(yù)測和輸出預(yù)測的效果大致相似,但輸入預(yù)測在 KorBench 上表現(xiàn)更優(yōu),而輸出預(yù)測在 BBH 等符號推理任務(wù)上表現(xiàn)更好。

總結(jié)2:去除 rejection sampling (過濾掉錯誤的數(shù)據(jù)或者更換成正確的數(shù)據(jù))會導(dǎo)致性能普遍下降,表明 rejection sampling 雖然減少了訓練數(shù)據(jù),但損失了數(shù)據(jù)多樣性,反而降低了性能 (重點是要學習更多pattern,答案是否正確對結(jié)果影響不大!!!)。DDdDd

3.CODEI/O 的 scaling effect

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

說明:a)展示了隨著隨機采樣訓練數(shù)據(jù)量增加,模型在各個 benchmark 上的性能變化趨勢。 b) 展示了隨著每個樣本輸入-輸出對數(shù)量比例變化,模型性能的變化。

總結(jié)1:增加訓練樣本數(shù)量通常會提升各個 benchmark 的性能,表明 CODEI/O 具有良好的可擴展性??偨Y(jié)2:Figure 4b 表明,增加每個樣本的輸入-輸出對數(shù)量比例,也能帶來性能提升,尤其是在從 1/6 增加到 6/6 時,表明某些推理模式需要多個測試用例才能充分捕獲和學習其復(fù)雜的邏輯流程。

4.不同 revision turns 下對訓練結(jié)果的影響

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

說明:Figure 5 展示了在不同 revision turns 下(修正錯誤結(jié)果的次數(shù)),模型在 benchmark 上的平均分數(shù)變化??偨Y(jié)1:從 turn 0 到 turn 1,模型性能有顯著提升,表明單輪修訂能夠有效提高數(shù)據(jù)質(zhì)量??偨Y(jié)2:但從 turn 1 到 turn 2,性能提升微乎其微,甚至在 Qwen 2.5 Coder 7B 上出現(xiàn)下降,表明進一步修訂帶來的收益迅速遞減。(推理 長度影響比較大,可能影響了其他正常的推理)

5.不同數(shù)據(jù)格式對模型性能的影響

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

說明:評估了將 query+code 放在 prompt 中,CoT 放在 response 中 (Q+Code COT) 以及其他不同組合方式的效果。總結(jié)1:結(jié)果表明,將 query 和 reference code 放在 prompt 中,CoT 放在 response 中的格式 (Q+Code COT) 取得了最高的平均分數(shù)和最均衡的性能,表明這種格式最有利于模型學習可遷移的推理能力。總結(jié)2:將 query 放在 prompt 中,reference code 放在 response 中的格式 (Q Code) 效果最差,這可能是因為這種格式類似于標準的代碼生成任務(wù),但訓練樣本量遠少于標準的代碼生成數(shù)據(jù)集。

6.多階段微調(diào)的影響

香港科技大學聯(lián)合DeepSeek-AI推出CODEI/O:讓AI學會“濃縮”推理模式-AI.x社區(qū)

說明:Table 4 展示了不同訓練策略下的平均 benchmark 分數(shù)。對比了單階段指令調(diào)優(yōu) (IT)、兩階段訓練 (CODEI/O+IT, CODEI/O++IT) 以及不同數(shù)據(jù)混合方式的效果。總結(jié)1:結(jié)果表明,所有兩階段訓練變體都優(yōu)于單階段訓練,說明使用 CODEI/O 數(shù)據(jù)進行獨立訓練能提升推理效果。總結(jié)2:對于 Qwen 2.5 Coder 7B,保持 CODEI/O 和指令調(diào)優(yōu)數(shù)據(jù)完全分離的效果最佳,而對于 LLAMA 3.1 8B,混合數(shù)據(jù)效果更好。論文為了簡化方法,主要實驗采用了完全分離的數(shù)據(jù)。

三、總結(jié)

結(jié)論1: CODEI/O 是一種有效提升大型語言模型通用推理能力的方法。 通過將原始代碼轉(zhuǎn)換為輸入-輸出預(yù)測任務(wù),并利用自然語言 CoT 進行訓練,CODEI/O 使得模型能夠?qū)W習代碼中蘊含的多樣化推理模式,并在各種推理 benchmark 上取得顯著且均衡的性能提升。

結(jié)論2: CODEI/O++ 通過執(zhí)行反饋和多輪修訂進一步增強了模型性能。 基于執(zhí)行反饋的修訂策略能夠提高數(shù)據(jù)質(zhì)量,并使模型在各種推理領(lǐng)域都獲得更優(yōu)的表現(xiàn)。

結(jié)論3: CODEI/O 方法具有良好的通用性和泛化能力。 盡管使用代碼數(shù)據(jù)進行訓練,CODEI/O 不僅提升了代碼相關(guān)任務(wù)的性能,也顯著提升了其他通用推理任務(wù)的性能,表明其學習到的推理模式具有廣泛的適用性。

結(jié)論4: CODEI/O 在數(shù)據(jù)效率和性能方面都優(yōu)于其他基線方法。 實驗表明,CODEI/O 即使使用相對較小的數(shù)據(jù)集,也能超越使用更大規(guī)模數(shù)據(jù)集的其他方法,展現(xiàn)了其數(shù)據(jù)效率和卓越的性能。

產(chǎn)業(yè)應(yīng)用價值:

?提升通用人工智能模型的推理能力: CODEI/O 提供了一種新的訓練方法,可以有效提升大型語言模型的通用推理能力,使其在更廣泛的應(yīng)用場景中表現(xiàn)更出色。

?降低數(shù)據(jù)標注成本: CODEI/O 利用代碼的結(jié)構(gòu)化特性自動生成訓練數(shù)據(jù),無需大量人工標注,降低了數(shù)據(jù)獲取和標注的成本。

?增強模型的魯棒性和泛化性: CODEI/O 訓練的模型在各種推理任務(wù)上都表現(xiàn)出均衡且優(yōu)異的性能,表明其具有良好的魯棒性和泛化性,可以應(yīng)用于更復(fù)雜和多樣的實際場景。

?為代碼相關(guān)應(yīng)用提供更強大的基礎(chǔ)模型: CODEI/O 使用代碼數(shù)據(jù)進行訓練,可以為代碼生成、代碼理解、代碼缺陷檢測等代碼相關(guān)應(yīng)用提供更強大的基礎(chǔ)模型。

收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦