正在逐步覆蓋!騰訊提醒勿為實況圖重裝微信:以免丟失微信聊天記錄iPhone16多款機型破發(fā):最高比官網(wǎng)便宜600元劉積仁不愛“湊熱鬧”,但東軟集團喜歡“追風口”快手電商新增近800個“0元開店”類目,推出多項新商入駐權益年內(nèi)狂攬五項第一,“字節(jié)系大模型”何以后發(fā)先至?科技云報到:有韌性才能更“任性”,云韌性構筑業(yè)務最后一道防線阿里云盤出“BUG”客服回應:已修復圍剿BBA,比亞迪和騰勢也準備出一份力阿里云服務器操作系統(tǒng)Alibaba Cloud Linux全新升級,核心場景性能提升超20%屏幕面板 10 月出貨,蘋果 M4 MacBook Air 被曝 2025Q1 發(fā)布蘋果史上最大:iPhone 16系列電池容量公布后移動互聯(lián)網(wǎng)時代,移動App兼容測試持續(xù)占據(jù)核心地位歐盟警告蘋果:六個月內(nèi)開放iPhone系統(tǒng) 否則重罰湖北省電子信息產(chǎn)業(yè)前8月實現(xiàn)營收5970億元,同比增長13.53%傳三星計劃2025年推出卷軸屏手機蘋果新專利探索折疊iPhone未來,任意表面實現(xiàn)觸敏控制蘋果iPhone16/Pro系列手機今日首銷,5999~9999元起各方媒體的聚焦關注,中南高科實力呈現(xiàn)高科“新質(zhì)”表現(xiàn)力拼多多解開了新疆的“包郵絕緣體”封印宏景智駕完成數(shù)億元C輪融資
  • 首頁 > 云計算頻道 > 大模型

    北大開源aiXcoder-7B最強代碼大模型,企業(yè)部署最佳選擇

    2024年04月10日 16:17:49   來源:機器之心公眾號

      當下,大語言模型集成至編程領域、完成代碼生成與補全任務成為重要趨勢。業(yè)界已經(jīng)出現(xiàn)了一批引人矚目的代碼大模型,比如 OpenAI 的 CodeX、谷歌 DeepMind 的 AlphaCode、HuggingFace 的 StarCoder,幫助程序員更迅捷、更準確、更高質(zhì)量地完成編碼任務,大幅提升效率。

      有這樣一支研發(fā)團隊,在10年前便開始了將深度學習用于軟件開發(fā)的探索,并在代碼理解和代碼生成領域雙雙全球領先。他們就是來自北京大學軟件工程研究所的 aiXcoder 團隊(簡稱 aiXcoder 團隊),此次為開發(fā)者帶來了新的高效編碼利器。

      4月9日,該團隊開源了全自研 aiXcoder7B 代碼大模型,不僅在代碼生成和補全任務中大幅領先同量級甚至超越15B、34B 參數(shù)量級的代碼大模型;還憑借其在個性化訓練、私有化部署、定制化開發(fā)方面的獨有優(yōu)勢,成為最適合企業(yè)應用、最能滿足個性化開發(fā)需求的代碼大模型。

      aiXcoder7B 的全部模型參數(shù)和推理代碼均已開源,可以通過 GitHub、Hugging Face、Gitee 和 GitLink 等平臺訪問。

      「耳聽為虛眼見為實」,一切還是要用真實的測評數(shù)據(jù)和實際的任務效果說話。

      越級體驗

      能其他代碼大模型所不能

      一個代碼大模型究竟好不好用, 當然要在對程序員最有幫助、用的最多的代碼生成與補全任務中來驗證。

      先看代碼生成比較結果,在 OpenAI HumanEval(由164道 Python 編程問題組成)、谷歌 MBPP(由974個 Python 編程問題組成)和 HuggingFace MultiPL-E(包含了18種編程語言)等代碼生成效果評估測試集上,aiXcoder7B 版的準確率遠超當前主流代碼大模型,成為十億乃至百億級參數(shù)中最強。

      除了在 HumanEval 這樣偏向非真實開發(fā)場景的測試集上取得準確率新 SOTA,aiXcoder7B在代碼補全等真實開發(fā)場景中的表現(xiàn)更是可圈可點,比如寫好上文讓代碼大模型補下文或者跨文件引用已經(jīng)定義好的方法、函數(shù)、類等。

      同樣用數(shù)據(jù)說話,在考慮上下文的單行補全測評集 SantaCoder 上,aiXcoder7B Base 版在與 StarCoder2、CodeLlama7B/13B、DeepSeekCoder7B 等主流同量級開源模型的較量中取得最佳效果,成為最適合實際編程場景的代碼補全基礎模型。具體如下表所示:

      aiXcoder7B Base 版的補全效果最好,不單單是準確率更高,還在實際運行中表現(xiàn)出了其他代碼大模型沒有或者遜于自己的能力。實現(xiàn)這些的背后是一系列針對代碼特性的創(chuàng)新訓練方法,正是它們使得 aiXcoder7B Base 版脫穎而出。

      首先,aiXcoder7B Base 版在預訓練時提供了32k 的上下文長度,這在現(xiàn)有7B 參數(shù)量級代碼大模型中為最大,其他多為16k。不僅如此,通過插值的方法可以直接在推理時將上下文長度擴展到256k,并在理論上有能力擴展至更長。

      在同量級模型中擁有最大預訓練上下文長度,并可彈性擴展,成為提升 aiXcoder7B Base 版代碼補全效果的重要基礎。

      其次,aiXcoder7B Base 版在代碼補全過程中「知道」用戶什么時候需要生成代碼,并在代碼內(nèi)容已經(jīng)完整不需要再生成時自動停止。這成為該模型比較獨特的功能,其他很多代碼大模型無法做到這一點。

      aiXcoder 團隊表示,該功能在技術上的實現(xiàn)離不開結構化 Span 技術。在模型訓練中,通過結構化 Span 技術來構建訓練數(shù)據(jù)和相關任務,讓模型學習到用戶應該在什么時候生成代碼或者補全的內(nèi)容在語法和語義結構上是否完整。

      這也就意味著 aiXcoder7B Base 版能自動「知道」自己推理到了什么位置,而其他模型想要終止的話,需要人為設定終止條件。自動推理則少了這種麻煩,有助于提升工作效率。

      此外,在 aiXcoder 擴展基準測試集(aiXcoder Bench)上,aiXcoder7B Base 版表現(xiàn)出了相較于其他代碼大模型的又一大亮點,即傾向于使用較短代碼來完成用戶指定的任務

      詳細結果如下表所示,在針對 Java、C++、JavaScript 和 Python 編程語言的代碼補全測評時,aiXcoder7B Base 不僅效果最好,四處紅框圈出的生成答案長度明顯短于其他競品模型,并且非常接近甚至有時比標準答案(Ref)還要短。

      aiXcoder 團隊指出,這一后驗發(fā)現(xiàn)仍離不開結構化 Span 技術。他們在整個訓練過程中特別注重代碼結構,而結構化 Span 按照代碼結構對代碼進行拆分,這更有益于體現(xiàn)代碼的語義,最終促成了模型「短」答案的同時效果又占優(yōu)。

      除了在以上單文件上下文代碼補全任務中的卓越表現(xiàn),aiXcoder7B Base 版在跨多文件補全場景中的表現(xiàn)同樣更勝一籌,不僅針對多文件的編程效果提升最優(yōu),還在下表 CrossCodeEval 測評集上有了一個重要發(fā)現(xiàn)。

      據(jù) aiXcoder 團隊介紹,該模型在只通過光標上文搜索到的結果作為 prompt(只看當前編寫的上文),同時其他模型拿 GroundTruth(把包含答案的文件給到這些模型)搜索到的結果作為 prompt,在這種條件下,前者的效果依然要強于后者。

      如何做到的呢?對于其他模型來說,即使有更多的上下文信息,它們也搞不清楚哪些是最核心、最關鍵的。而 aiXcoder7B Base 版能從上下文檔中揀出對當前編寫代碼最有效、最核心的上下文細節(jié),所以才有好的效果。

      這里感知到哪些信息最有效最為關鍵,通過對上下文進一步信息處理,結合文件相關內(nèi)容的聚類、代碼 Calling Graph 來構建多文件之間的相互注意力關系,進而獲取到對當前補全或生成任務最關鍵的信息。

      所有這些創(chuàng)新性訓練方法很大程度上決定了 aiXcoder7B Base 版能夠在眾多代碼大模型的比拼中勝出。此外,1.2T 的高質(zhì)量訓練數(shù)據(jù)同樣功不可沒,這一量級不僅在同類型模型中最大,還是獨有 token 數(shù)據(jù)。

      其中600G 優(yōu)先放入的高質(zhì)量數(shù)據(jù)對模型效果起了重要作用,其他數(shù)據(jù)主要來自 GitHub,以及 Stack Overflow、Gitee 等,自然語言部分還包括了一部分 CSDN 數(shù)據(jù),并且全部數(shù)據(jù)進行了過濾處理。

      Talk is cheap, Show me the code

      顯然,aiXcoder7B Base 版在測評數(shù)據(jù)上贏了其他代碼大模型,但究竟能不能高效地幫助開發(fā)者完成編碼任務?還是要看實戰(zhàn)效果。

      先看生成能力,對于前端開發(fā),aiXcoder7B Base 版可以通過注釋快速地生成對應網(wǎng)頁:

      還可以處理高難度算法題,比如經(jīng)典的分糖果問題,通過貪心的策略,以左右兩次遍歷的方式得到最少糖果數(shù)。

      再來看 aiXcoder7B Base 版更得心應手的代碼補全場景,比如長上下文補全。這里用多個工具函數(shù)拼成1500多行的代碼,要求模型在文件末端進行注釋補全,模型識別到了文件頂部的相關函數(shù),并成功地結合函數(shù)信息補全了相關方法:

      還有以下跨文件補全任務,在樹結構上應用動態(tài)規(guī)劃來實現(xiàn)編輯距離搜索。模型補全的代碼識別到了編輯距離的計算與另一個文件中滾動數(shù)組內(nèi)部取最小值的計算之間的關系,并給出了正確的預測結果:

      當然還可以智能化匹配輸出長度。當用戶調(diào)整自己的采納內(nèi)容時,模型能夠根據(jù)當前的采納情況自動調(diào)整補全長度:

      一句話,有了 aiXcoder7B Base 版代碼大模型,無論是代碼生成還是補全,程序員多了一個效率提升利器,節(jié)省時間,事半功倍。

      拼效果,更拼應用

      用核心競爭力成為企業(yè)首選

      我們已經(jīng)看到,aiXcoder7B Base 版在代碼補全這樣的真實開發(fā)場景中充分展現(xiàn)了自身的硬實力。不過,對于企業(yè)客戶來說,代碼大模型只是效果好并不能完全打動他們。只有全方位滿足自身需求,企業(yè)客戶才會毫不猶豫地下手。

      aiXcoder7B Base 版正是奔著企業(yè)需要、解決他們的個性化需求來的。打造最適合企業(yè)應用的代碼大模型,成為了 aiXcoder7B Base 版的首要目標和有別于其他模型的又一核心優(yōu)勢。

      當然,想要成為企業(yè)應用的最佳選擇并不容易,必須圍繞著企業(yè)業(yè)務場景、需求、所能承擔的成本等實際情況做深文章。aiXcoder 模型不僅這樣做了,而且做到了極致。

      簡而言之,為了實現(xiàn)企業(yè)級個性化的應用落地,aiXcoder 模型在私有化部署、個性化訓練和定制化開發(fā)三個方面齊發(fā)力,打造出了相較于其他代碼大模型的核心優(yōu)勢。

      首先來看私有化部署。對于企業(yè)而言,代碼大模型在本地服務器的私有化部署和運行,首要考慮的是自身算力是否可以支撐。在這點上,aiXcoder 模型對企業(yè) GPU 資源要求少,應用成本投入低,讓部署模型門檻大大降低。

      此外,不同企業(yè)擁有的軟硬件各異,既會有國產(chǎn)芯片,也會有國外如英偉達顯卡;诖,aiXcoder 模型進行針對性硬件適配以及進一步模型訓練和推理優(yōu)化,比如在信息處理層面采用高速緩存技術,充分滿足多樣化部署要求。

      其次也是 aiXcoder 模型著重強調(diào)的個性化訓練。我們知道,企業(yè)的實際情況不能一概而論,而 aiXcoder 模型做到了見招拆招,提供了「一攬子」的個性化模型訓練解決方案。

      一方面構建企業(yè)專屬數(shù)據(jù)集和測評集,其中數(shù)據(jù)集構建基于企業(yè)代碼特征和員工編碼習慣,專門對代碼及相關文檔進行數(shù)據(jù)預處理;測評集構建則以真實開發(fā)場景為準繩,模擬并評估模型在實際應用中的預期效果。

      另一方面,將企業(yè)代碼這一內(nèi)因與企業(yè)算力資源這一外因相結合,充分考慮到不同企業(yè)計算資源、代碼量的多寡,為他們提供靈活的個性化訓練及優(yōu)化方案,最大化提升專屬代碼大模型的前期訓練效果和后續(xù)應用效果。

      第三是定制化開發(fā)。aiXcoder 模型瞄準不同行業(yè)和企業(yè)的實際情況,結合企業(yè)個性化需求來為他們提供靈活的定制化服務。憑借豐富和成熟的定制開發(fā)經(jīng)驗,讓基于企業(yè)代碼和計算資源打造的模型高度契合實際需求,讓業(yè)務效率的提升看得見摸得著。目前,客戶已經(jīng)遍布銀行、證券、保險、軍工、運營商、能源、交通等多個行業(yè)。

      可以看到,相較于其他代碼大模型,aiXcoder 能同時為企業(yè)提供個性化訓練的產(chǎn)品和服務,這在業(yè)內(nèi)是唯一一個。

      背后團隊

      十年深耕、厚積薄發(fā)

      此次 aiXcoder7B Base 版代碼大模型展現(xiàn)出來的編碼能力,讓我們更加好奇模型背后的團隊。

      據(jù)了解,aiXcoder 團隊從2013年開始了基于深度學習的代碼分析研究,是全球最早將深度學習技術應用于代碼生成與代碼理解領域的團隊。

      十年來,團隊在 NeurIPS、ACL、IJCAI、ICSE、FSE、ASE 等頂會上發(fā)表相關論文100余篇,多篇論文被國際學者認為是「首創(chuàng)成果」并被廣泛引用,多次獲 ACM 杰出論文獎。

      2017年,aiXcoder 有了雛形,并在2018年正式發(fā)布 aiXcoder1.0,提供代碼自動補全與搜索功能。

      2021年4月,團隊推出完全自主知識產(chǎn)權的十億級參數(shù)代碼大模型 aiXcoder L 版,支持代碼補全和自然語言推薦。這也是國內(nèi)⾸個基于「⼤模型」的智能編程商⽤產(chǎn)品。

      而后,團隊持續(xù)攻堅,2022年6月再次推出了國內(nèi)首個支持方法級代碼生成的模型 aiXcoder XL 版,同樣具有完全自主知識產(chǎn)權。

      2023年8月,聚焦企業(yè)適配的 aiXcoder Europa 上線,可以根據(jù)企業(yè)的數(shù)據(jù)安全和算力要求,為他們提供私有化部署和個性化訓練服務,有效降低代碼大模型的應用門檻,提升開發(fā)效率。

      到了此次,aiXcoder 團隊開源 aiXcoder7B Base 版,將已經(jīng)住考驗的全新代碼大模型帶給大家。一方面,該模型以7B 參數(shù)規(guī)模在代碼補全等真實開發(fā)場景中表現(xiàn)出的越級能力及其在企業(yè)適配方面的多項核心競爭力,有助于推動代碼大模型行業(yè)的整體進步。另一方面,該模型將對更廣泛的軟件開發(fā)自動化產(chǎn)生深遠的影響,在加速這一進程的同時為各行各業(yè)持續(xù)提升業(yè)務效率、變革生產(chǎn)方式保駕護航。

      不僅如此,相較于同樣具備代碼能力的通用模型,aiXcoder7B Base 版讓我們看到了專用代碼大模型更低訓練和推理成本、企業(yè)部署成本以及在企業(yè)項目級代碼上更好、更穩(wěn)定效果的全方位優(yōu)勢。

      目前,aiXcoder 已服務大量銀行、證券、保險、軍工、高科技、運營商、能源、交通等行業(yè)頭部客戶,深耕服務金融行業(yè),其中與某行業(yè)知名券商的「代碼大模型在證券行業(yè)的應用實踐」項目榮獲2023AIIA 人工智能十大潛力應用案例、中國信通院 AI4SE 銀彈優(yōu)秀案例等殊榮。

      同時,aiXcoder 也因其極具前瞻性的探索方向、踏踏實實的落地實踐,不斷受到資本市場的追捧,高瓴、清流、彬復等極具行業(yè)引領性的基金紛紛加注 aiXcoder 團隊,使其得以迅速成長!

      顯然,在未來 AIGC 的這場較量中,aiXcoder 團隊已經(jīng)做好了準備。

      文章內(nèi)容僅供閱讀,不構成投資建議,請謹慎對待。投資者據(jù)此操作,風險自擔。

    即時

    TCL實業(yè)榮獲IFA2024多項大獎,展示全球科技創(chuàng)新力量

    近日,德國柏林國際電子消費品展覽會(IFA2024)隆重舉辦。憑借在核心技術、產(chǎn)品設計及應用方面的創(chuàng)新變革,全球領先的智能終端企業(yè)TCL實業(yè)成功斬獲兩項“IFA全球產(chǎn)品設計創(chuàng)新大獎”金獎,有力證明了其在全球市場的強大影響力。

    新聞

    敢闖技術無人區(qū) TCL實業(yè)斬獲多項AWE 2024艾普蘭獎

    近日,中國家電及消費電子博覽會(AWE 2024)隆重開幕。全球領先的智能終端企業(yè)TCL實業(yè)攜多款創(chuàng)新技術和新品亮相,以敢為精神勇闖技術無人區(qū),斬獲四項AWE 2024艾普蘭大獎。

    企業(yè)IT

    重慶創(chuàng)新公積金應用,“區(qū)塊鏈+政務服務”顯成效

    “以前都要去窗口辦,一套流程下來都要半個月了,現(xiàn)在方便多了!”打開“重慶公積金”微信小程序,按照提示流程提交相關材料,僅幾秒鐘,重慶市民曾某的賬戶就打進了21600元。

    3C消費

    “純臻4K 視界煥新”——愛普生4K 3LCD 激光工程投影

    2024年3月12日,由愛普生舉辦的主題為“純臻4K 視界煥新”新品發(fā)布會在上海盛大舉行。

    研究

    2024全球開發(fā)者先鋒大會即將開幕

    由世界人工智能大會組委會、上海市經(jīng)信委、徐匯區(qū)政府、臨港新片區(qū)管委會共同指導,由上海市人工智能行業(yè)協(xié)會聯(lián)合上海人工智能實驗室、上海臨港經(jīng)濟發(fā)展(集團)有限公司、開放原子開源基金會主辦的“2024全球開發(fā)者先鋒大會”,將于2024年3月23日至24日舉辦。