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

AutoCoder:性能超越GPT-4o的模型,居然只有33B,還是開源!

發(fā)布于 2024-5-28 10:36
瀏覽
0收藏

比GPT4還要厲害的開源模型

AutoCoder:性能超越GPT-4o的模型,居然只有33B,還是開源!-AI.x社區(qū)圖片

今天這篇論文介紹了一個最新的大語言模型 AutoCoder,一個只有33B的大語言模型。AutoCoder-33B在HumanEval基準(zhǔn)測試中Pass@1的達(dá)到90.9%,領(lǐng)先于當(dāng)前所有頂級的代碼生成大型語言模型。在HumanEval+上,它的Pass@1為78%,僅次于GPT-4 Turbo和CodeQwen1.5-Chat。

模型下載地址:https://huggingface.co/Bin12345/AutoCoder

AutoCoder:性能超越GPT-4o的模型,居然只有33B,還是開源!-AI.x社區(qū)圖片

其中,盡管AutoCoder-S只有6.7B參數(shù),它在HumanEval和HumanEval+上的Pass@1比率依然達(dá)到了78.7%和72%。在MBPP和MBPP+基準(zhǔn)測試中,它的性能分別為79.4%和69.8%,在MBPP+的測試中,其表現(xiàn)在70B參數(shù)級別內(nèi)僅次于DeepSeek-Coder-instruct (33B)。

為了測試AutoCoder在多種程序語言上的表現(xiàn),作者采用MultiPL-E基準(zhǔn)測試AutoCoder。實(shí)驗(yàn)結(jié)果顯示,AutoCoder在Java、C++和Rust語言上的Pass@1成績分別為61.4%、68.9%和60.8%,表現(xiàn)卓越。在其他三種語言上,它的表現(xiàn)也僅次于CodeQwen1.5-Chat等少數(shù)模型,彰顯了AutoCoder在多語言代碼生成上的強(qiáng)勁實(shí)力。

AutoCoder:性能超越GPT-4o的模型,居然只有33B,還是開源!-AI.x社區(qū)圖片

為什么AutoCoder這么強(qiáng)?

AutoCoder之所以能強(qiáng)國GPT-4o的原因,是因?yàn)樽髡卟捎昧?AIEV-INSTRUCT方法來構(gòu)建高質(zhì)量的代碼指令集數(shù)據(jù)。

AIEV-INSTRUCT通過智能體(Agent)交互模擬程序員編碼和執(zhí)行單元測試的過程,并通過執(zhí)行驗(yàn)證確保數(shù)據(jù)的準(zhǔn)確性。AIEV-INSTRUCT包含教學(xué)階段和自學(xué)階段,減少了在數(shù)據(jù)注釋過程中對成本高昂的閉源模型的依賴。

AutoCoder:性能超越GPT-4o的模型,居然只有33B,還是開源!-AI.x社區(qū)圖片

上圖展示了AIEV-INSTRUCT的整體架構(gòu),分為兩個階段:教學(xué)階段和自我學(xué)習(xí)階段。

  • ? 在教學(xué)階段,模型主要通過吸收教師模型的知識來學(xué)習(xí);
  • ? 而在自我學(xué)習(xí)階段,它則獨(dú)立進(jìn)行學(xué)習(xí)。

在教學(xué)階段,作者收集了開源代碼片段,并引入GPT-4 Turbo作為教師模型,以補(bǔ)充和修正這些代碼。整個流程包含四個關(guān)鍵步驟:

  • ? 在初始化階段(I),配置了必要的組件,GPT-4 Turbo扮演著提問者和程序員的雙重角色,確保生成的數(shù)據(jù)多樣化,從而形成一個更加均衡的概率分布,避免對話模板的單一化。對話消息以空列表的形式初始化,用于在整個過程中存儲數(shù)據(jù)。最終,這個列表將包含多輪對話,并將整個對話作為單一數(shù)據(jù)項(xiàng)加入到我們的最終數(shù)據(jù)集中。此外,還需要設(shè)置一個Docker容器,作為我們的代碼解釋器,負(fù)責(zé)安裝必要的外部包并執(zhí)行需要驗(yàn)證的代碼。
  • ? 在提出問題階段(II),首先利用GPT-4 Turbo執(zhí)行OSS-Instruct ,構(gòu)建問題描述和具體解決方案,包括基于開源代碼片段的代碼片段。不同的是,要求GPT-4 Turbo提供一些單元測試,以進(jìn)一步確保數(shù)據(jù)集中代碼的準(zhǔn)確性。前一步驟中初始化的對話消息將依次添加問題描述(?)、解決方案和單元測試(?)。
  • ? 在執(zhí)行反饋階段(III),通過多輪執(zhí)行反饋來檢驗(yàn)生成的代碼,提升數(shù)據(jù)集的質(zhì)量。首先,將第二步生成的代碼片段輸入代碼解釋器。如果執(zhí)行出錯,對話消息將添加詳細(xì)的錯誤輸出(Stderr)(?)。同時,這些錯誤信息將提供給提問者,他將基于錯誤輸出生成自然語言描述,該描述也將添加到對話消息中(?)。然后,自然語言描述和錯誤輸出作為新問題提交給程序員,程序員將繼續(xù)修改代碼。對話消息將添加新生成的代碼(?),并重復(fù)這一過程。
  • ? 在終止階段(IV),同樣使用代碼解釋器運(yùn)行程序員生成的代碼。如果程序運(yùn)行成功,輸出結(jié)果(Stdout)將添加到對話消息中(?),完成單個數(shù)據(jù)項(xiàng)的分析。每分析2000個數(shù)據(jù)項(xiàng)后,將新數(shù)據(jù)按1:9的比例劃分為測試集和訓(xùn)練集。訓(xùn)練集用于訓(xùn)練學(xué)生模型(AutoCoder)。訓(xùn)練完成后,使用測試集來評估教師模型和學(xué)生模型。評估完成后,將比較兩個模型的首次通過率(Pass@1)。如果教師模型表現(xiàn)更佳,我將繼續(xù)教學(xué)階段;如果學(xué)生模型表現(xiàn)更佳,將轉(zhuǎn)向自我學(xué)習(xí)階段。自我學(xué)習(xí)階段與教學(xué)階段的主要區(qū)別在于,自我學(xué)習(xí)階段中,用學(xué)生模型取代了原始的教師模型,學(xué)生模型自己擔(dān)任提問者和程序員的角色,獨(dú)立完成整個執(zhí)行反饋過程。

AutoCoder:性能超越GPT-4o的模型,居然只有33B,還是開源!-AI.x社區(qū)圖片

作者將AutoCoder-AIEV-Instruct數(shù)據(jù)集與幾個現(xiàn)有的大型代碼指令數(shù)據(jù)集進(jìn)行了對比,對比結(jié)果如上圖。AutoCoder-AIEV-Instruct數(shù)據(jù)集包含169K個數(shù)據(jù)樣本,累計達(dá)到241K輪對話。其中,150K輪對話數(shù)據(jù)來源于多輪對話樣本。該數(shù)據(jù)集不僅包含主要功能,還涵蓋了后續(xù)的包安裝、代碼執(zhí)行錯誤或結(jié)果,以及多樣化的錯誤分析。與Magicoder-Evol-Instruct和Magicoder-OSSInstruct原始數(shù)據(jù)集相比,新增的單元測試進(jìn)一步提高了代碼相關(guān)任務(wù)的準(zhǔn)確性。此外,與Code-Feedback 相比,AutoCoder-AIEV-Instruct包含了更豐富的執(zhí)行反饋結(jié)果,減少了代碼塊拼接所需的多輪對話,從而增強(qiáng)了上下文的連貫性。

訓(xùn)練過程

AutoCoder模型的基礎(chǔ)模型是Deepseek-Coder的兩個基礎(chǔ)版本,即6.7B和33B,作者在這兩個模型的基礎(chǔ)上進(jìn)行了細(xì)致的微調(diào),借助AutoCoder-AIEV-Instruct數(shù)據(jù)集,成功打造出了AutoCoder 33B和AutoCoder-S 6.7B。

為了賦予AutoCoder代碼解釋器的能力,利用transformer庫中的AutoTokenizer工具包,為模型引入了四個特殊標(biāo)記。硬件配置上,使用了10個節(jié)點(diǎn),配備了總計40塊80GB的A100 GPU,這些GPU部署在一個基于SLURM的集群中。GPU間的通信由NVIDIA的集體通信庫(NCCL)負(fù)責(zé)。在訓(xùn)練參數(shù)的設(shè)置上,使用了deepspeed庫中的ZeRO-Stage 3特性,以實(shí)現(xiàn)模型參數(shù)的分割,每個GPU的批次大小設(shè)為8,梯度累積步數(shù)為4,學(xué)習(xí)率設(shè)為5e-5,參數(shù)類型選用了bf16。序列的最大長度被設(shè)定為5120,而訓(xùn)練的總周期則為2。整個訓(xùn)練過程中,采取了全面的參數(shù)調(diào)優(yōu)策。

demo演示方法

git clone https://github.com/bin123apple/AutoCoder

conda create -n AutoCoder pythnotallow=3.11
conda activate AutoCoder
pip install -r requirements.txt


cd /Web_demo
pip install -r requirements.txt

python chatbot.py

AutoCoder:性能超越GPT-4o的模型,居然只有33B,還是開源!-AI.x社區(qū)

本文轉(zhuǎn)載自??大語言模型論文跟蹤??,作者: HuggingAGI ????

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