AIxiv專欄是機(jī)器之心發(fā)布學(xué)術(shù)、技術(shù)內(nèi)容的欄目。過(guò)去數(shù)年,機(jī)器之心AIxiv專欄接收?qǐng)?bào)道了2000多篇內(nèi)容,覆蓋全球各大高校與企業(yè)的頂級(jí)實(shí)驗(yàn)室,有效促進(jìn)了學(xué)術(shù)交流與傳播。如果您有優(yōu)秀的工作想要分享,歡迎投稿或者聯(lián)系報(bào)道。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
本文的通訊作者是北京大學(xué)計(jì)算機(jī)學(xué)院長(zhǎng)聘教授李戈。
本文一作是 aiXcoder 蔣思源和北大李戈教授課題組博士生李佳,團(tuán)隊(duì)重點(diǎn)關(guān)注融合深度學(xué)習(xí)與軟件工程的代碼建模方法。
如何訓(xùn)練一個(gè)代碼大模型?這一過(guò)程看似簡(jiǎn)單:獲取代碼數(shù)據(jù)、清洗數(shù)據(jù),最終啟動(dòng)訓(xùn)練。如今,開源代碼數(shù)據(jù)集層出不窮;數(shù)據(jù)清洗工具也已成熟,包括開源的許可證識(shí)別工具、MinHash 算法、PII 識(shí)別模型等;而在分布式訓(xùn)練方面,像 Megatron-LM、DeepSpeed 等框架也大大降低了技術(shù)門檻。看似我們只差計(jì)算資源,就能訓(xùn)練出一個(gè)強(qiáng)大的代碼大模型。
然而,訓(xùn)練模型的初衷,應(yīng)該始終從實(shí)際開發(fā)場(chǎng)景出發(fā)。作為開發(fā)者,我們不僅需要了解定義的各種 API 接口,還需要從入口函數(shù)模擬程序的執(zhí)行過(guò)程,追蹤到每一行修改的代碼。在復(fù)雜的項(xiàng)目中,任何小小的變動(dòng)都可能影響整個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)。
但現(xiàn)有的代碼大模型并未充分考慮到軟件開發(fā)的具體場(chǎng)景,它們往往將最終版本的代碼簡(jiǎn)單地視作自然語(yǔ)言文本,試圖通過(guò)復(fù)制自然語(yǔ)言處理的成功經(jīng)驗(yàn)來(lái)處理代碼。這種方法忽略了代碼的結(jié)構(gòu)性和復(fù)雜的上下文關(guān)系,導(dǎo)致模型在實(shí)際開發(fā)中表現(xiàn)不佳。
北京大學(xué) aiXcoder 團(tuán)隊(duì)一直致力于探索如何將深度學(xué)習(xí)與軟件開發(fā)深度融合,推動(dòng)軟件開發(fā)的自動(dòng)化。2024 年 4 月,aiXcoder 開源了自研代碼大模型 aiXcoder-7B,成為這一領(lǐng)域的一次重要嘗試,旨在將代碼的抽象語(yǔ)法樹(AST)結(jié)構(gòu)與大規(guī)模預(yù)訓(xùn)練結(jié)合,以期提升模型對(duì)代碼結(jié)構(gòu)和上下文的理解能力。
近期,該篇論文被軟件工程領(lǐng)域國(guó)際頂級(jí)會(huì)議 ICSE 2025 收錄,將于 4 月 27 日 - 5 月 3 日赴加拿大渥太華參會(huì)分享研究成果。
此次論文錄用不僅是對(duì) aiXcoder 7B 代碼大模型技術(shù)前瞻性和應(yīng)用創(chuàng)新性的高度認(rèn)可,更標(biāo)志著該模型繼成功落地企業(yè)并獲各行業(yè)客戶廣泛認(rèn)可后,再次于學(xué)術(shù)界獲得權(quán)威肯定,充分彰顯了 aiXcoder 在推動(dòng)軟件工程發(fā)展中的前瞻性引領(lǐng)作用。
論文地址:https://arxiv.org/pdf/2410.13187
開源項(xiàng)目地址:https://github.com/aixcoder-plugin/aiXcoder-7B