成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

人手一個編程助手!北大最強代碼大模型CodeShell-7B開源,性能霸榜,IDE插件全開源

人工智能 新聞
繼CodeLlama開源之后,北大等機構正式開源了性能更強的代碼基座大模型CodeShell-7B和代碼助手CodeShell-Chat。不僅如此,團隊還把方便易用的IDE插件也開源了!

今天,北京大學軟件工程國家工程研究中心知識計算實驗室聯(lián)合四川天府銀行AI實驗室,正式開源70億參數(shù)的代碼大模型CodeShell,成為同等規(guī)模最強代碼基座。

與此同時,團隊將軟件開發(fā)代碼助手的完整解決方案全部開源,人手一個本地化輕量化的智能代碼助手的時代已經(jīng)來臨!

圖片

CodeShell代碼:https://github.com/WisdomShell/codeshell

CodeShell基座模型:https://huggingface.co/WisdomShell/CodeShell-7B

代碼助手VSCode插件:https://github.com/WisdomShell/codeshell-vscode

具體來說,CodeShell-7B基于5000億Tokens進行了冷啟動訓練,上下文窗口長度為8192。

在權威的代碼評估基準(HumanEval和MBPP)上,CodeShell取得同等規(guī)模最好的性能,超過了CodeLlama-7B和StarCodeBase-7B。

與此同時,同CodeShell-7B配套的量化與本地部署方案,以及支持VSCode與JetBrains IDE的插件也全部開源,為新一代智能代碼助手提供了輕量高效的全棧開源解決方案。

CodeShell模型和插件的相關代碼已經(jīng)在Github發(fā)布,并嚴格遵循Apache 2.0開源協(xié)議,模型在HuggingFace平臺發(fā)布,支持商用。

CodeShell:性能最強的7B代碼基座大模型

CodeShell構建了高效的數(shù)據(jù)治理體系,通過冷啟動預訓練5000億Token,代碼生成性能超過了CodeLlama-7B與StarCoder-7B。

相比而言,CodeLlama在強大的Llama2上繼續(xù)預訓練依然學習了超過5000億Token,而StarCoder冷啟動訓練了10000億Token,是CodeShell的兩倍。

CodeShell的原始訓練數(shù)據(jù)基于自己爬取的Github數(shù)據(jù)、Stack和StarCoder數(shù)據(jù)集,以及少量高質量的中英文數(shù)據(jù)。

通過在數(shù)據(jù)判重、數(shù)據(jù)過濾規(guī)則、數(shù)據(jù)質量模型上設計了一套體系化的數(shù)據(jù)治理流水線,CodeShell構建了高質量的預訓練數(shù)據(jù)。

CodeShell構建了包含7萬個詞的詞表,中文、英文、代碼的壓縮比分別為2.83、3.29、3.21,支持中英文和代碼的平衡且高效的編解碼。

在更小規(guī)模的各種基座架構上進行大量預訓練實驗后,CodeShell架構設計最終融合了StarCoder和Llama兩者的核心特性。

以GPT-2為基礎,采用fill-in-middle(FIM)模式支持代碼特有的補齊生成方法,引入Grouped-Query Attention和ROPE位置編碼,最終形成了CodeShell高性能且易于擴展上下文窗口的獨特架構。

為了獲得最大的分布式訓練效率,Codeshell基于Megatron-LM,在Attention算子優(yōu)化、數(shù)據(jù)預處理、數(shù)據(jù)加載、日志輸出、狀態(tài)監(jiān)控、分布式訓練管理等方面進行了深度定制,支持Flash Attention2加速,訓練吞吐量達到了每GPU每秒3400 Token的業(yè)界先進水平。

CodeShell預訓練的上下文窗口為8192。經(jīng)過5000億Token訓練,CodeShell在humaneval和mbpp兩個主流評測數(shù)據(jù)集都體現(xiàn)了明顯的優(yōu)勢。在humaneval的其它編程語言評測中,如JavaScript、Java、C++,CodeShell依然性能領先。

圖片

在CodeShell的訓練中團隊發(fā)現(xiàn),通過刻意「刷榜」訓練,可以讓代碼基座評分「虛高」,但是在實際應用和微調(diào)中無法體現(xiàn)與分數(shù)匹配的潛力。

為了驗證CodeShell預訓練的「純粹性」,團隊采用WizardCoder的Evol-instruction數(shù)據(jù)構建方法生成微調(diào)數(shù)據(jù),使用這份數(shù)據(jù)分別對CodeShell、CodeLlama、StarCoder進行微調(diào),并用WizardCoder提供的Prompt進行統(tǒng)一的HumanEval評估。這一場景下CodeShell依然保持優(yōu)異性能,充分驗證了CodeShell的真實底座能力。

CodeShell在Hggingface權威的代碼大模型榜單中的表現(xiàn)也極其亮眼!在這份榜單中,各種經(jīng)過特定優(yōu)化的代碼基座和微調(diào)模型,在HumanEval評分上可以超越CodeLLama,但是體現(xiàn)綜合能力的綜合勝率(Win Rate)與CodeLlama卻依然有很大差距。

令人驚喜的是,CodeShell不僅在HumanEval上霸榜7B模型,綜合勝率與CodeLlama-7B持平。考慮到CodeLlama-7B訓練的Token數(shù)量超過兩萬五千億,而CodeShell的數(shù)量僅為五分之一,這份榜單充分體現(xiàn)了CodeShell團隊的技術實力。

正在研發(fā)中的CodeShell新版本將在強大的代碼能力基礎進一步提升中英文處理能力,綜合能力值得更大的期待。

CodeShell-Chat:功能齊全的代碼助手模型

在CodeShell底座基礎上,團隊面向真實的軟件開發(fā)場景,通過高效微調(diào),訓練了支持對話、代碼生成、代碼補齊、代碼注釋、代碼檢查與測試用例生成的全能代碼助手模型CodeShell-Chat。

為此,CodeShell團隊分別構造了數(shù)萬條高質量代碼對話數(shù)據(jù)和代碼補齊數(shù)據(jù),設計了基于規(guī)則與基于嵌入表示相結合的微調(diào)數(shù)據(jù)篩選方法,構造了多任務一致的微調(diào)數(shù)據(jù)格式,并在基座模型上采用任務分類優(yōu)化策略進行小規(guī)模微調(diào),最終得到了高效實用的代碼助手模型。

為了進一步降低使用門檻,支持輕量級本地部署,團隊針對CodeShell獨有的架構擴展了llama.cpp —— 一個純 C/C++ 實現(xiàn)的LLaMA模型高效推理接口,以支持CodeShell的模型在各種計算架構中的格式轉化、推理運行以及量化部署。

在16G內(nèi)存的蘋果筆記本上進行推理,響應速率可達每秒18 Token,真實的使用體驗非常流暢。

想象一下,一個在飛行途中的程序員,打開普通的Mac電腦,即可使用性能幾乎無損、僅占4G內(nèi)存的4-bits量化版本。本地部署不僅保障了數(shù)據(jù)安全,更是可以隨時隨地使用!

方便易用的CodeShell代碼助手插件

對眾多開發(fā)者而言,即便擁有功能強大的代碼助手模型,其應用門檻仍然過高。

為此,CodeShell團隊誠意滿滿地把IDE插件也開源了!

IDE插件目前支持VSCode和IntelliJ IDEA,適用于各種主流編程語言。

在開發(fā)過程中,CodeShell代碼助手插件提供了兩種模式,即專注模式和交互模式,兩種模式相互協(xié)同,共同提升開發(fā)效率。

圖片

在專注模式下,通過對當前項目代碼的分析,提供代碼提示與補全功能,從而提高編程效率。

圖片


在交互模式下,IDE插件通過向代碼助手大模型發(fā)送特定的交互Prompt和用戶輸入,可提供豐富的功能,來看幾個實例。

智能問答:在編程過程中直接向代碼助手模型提出問題,無需切換至其他界面,支持對話與編程兩種場景無縫融合。

圖片

代碼解釋:使用自然語言解釋代碼的運行過程,讓開發(fā)者更好地理解代碼的結構和邏輯。

圖片

安全檢測:檢測代碼中的潛在安全風險,如可能出現(xiàn)的SQL注入、跨站腳本打擊等,幫助排查安全性風險。

圖片

其它功能還包括:

自動添加注釋——為代碼自動生成描述其功能、參數(shù)及返回值等相關信息的注釋;

代碼優(yōu)化與審計——對代碼進行深入分析,檢測潛在的錯誤、冗余代碼和性能瓶頸,并為開發(fā)者提供相應的修復建議;

代碼格式檢查——自動檢測代碼的排版和格式問題,發(fā)現(xiàn)潛在的不規(guī)范現(xiàn)象;

性能評估——對代碼的性能風險進行評估,發(fā)現(xiàn)潛在的性能瓶頸,為優(yōu)化代碼性能提供支持;

測試用例生成——基于代碼邏輯,自動創(chuàng)建測試用例,以輔助進行代碼測試和驗證,確保代碼的正確性和穩(wěn)定性。

開發(fā)者下載模型,在本地做簡單操作和配置,即可馬上體驗。

全面的代碼能力自動評估工具

CodeShell團隊同時發(fā)布了一個針對代碼助手能力的統(tǒng)一評估基準,近期將開源并公開論文,加入到CodeShell的開源「全家桶」中。

在大模型評測上,CodeShell團隊底蘊深厚,團隊此前曾經(jīng)發(fā)布過通用大模型對話能力的自動評估工具PandaLM。

開源地址:https://github.com/WeOpenML/PandaLM

CodeShell團隊在模型訓練中發(fā)現(xiàn),現(xiàn)有的評估基準無法準確反映其真實能力,其面臨的問題包括試題難度較低、評估場景與實際開發(fā)環(huán)境脫節(jié)等,同時評估基準提供的任務上下文信息也非常有限,導致代碼大模型評估者難以進行深入分析。

為此,CodeShell團隊提出了一個包含完整程序上下文的多任務編程模型評估基準CodeShell-UCB(Unified Code Bench)。

CodeShell-UCB的評估任務提供了完整的程序上下文信息,包括完整的真實項目代碼、運行環(huán)境和執(zhí)行腳本。

CodeShell-UCB通過執(zhí)行程序分析、規(guī)則篩選、人工篩選,提煉出了代碼助手任務試題,并提供了一套統(tǒng)一的編譯、運行、測試環(huán)境。

圖片

CodeShell-UCB的五個評測任務位覆蓋了軟件開發(fā)的重要場景:

1. 代碼生成:關注如何自動生成優(yōu)質、符合要求的代碼片段。CodeShell-UCB包含了235個單函數(shù)代碼生成試題。

2. 基于被測代碼的測試用例生成:關注如何基于特定的被測代碼自動生成有效、全面的測試用例。CodeShell-UCB包含了139個基于被測代碼的測試用例生成試題。

3. 基于問題報告的測試用例生成:當存在錯誤報告時,快速并精確地創(chuàng)建出相應的測試用例,不僅可以幫助快速定位、修復問題,同時也可以提高回歸測試的效率。CodeShell-UCB包含了58個基于問題報告的測試用例生成試題。

4. 缺陷檢測:自動化的缺陷檢測能夠大幅度提高開發(fā)效率并且減少人為疏漏造成的錯誤。CodeShell-UCB包含了956個檢測樣本的標簽平衡缺陷檢測試題。

5. 缺陷修復:一旦缺陷被檢測出,如何對其進行有效的修復也是一個復雜且重要的任務。CodeShell-UCB包含了478個單函數(shù)缺陷代碼的缺陷修復試題。

這五個任務提供了一個全面深入的評估方案,支持不同軟件開發(fā)場景下檢驗和評估代碼大模型的能力。

同時,CodeShell-UCB推理框架具有較高的通用性,涵蓋了本地Huggingface模型的推理、本地Text-Generation-Inference的加速推理,以及使用閉源API(如OpenAI API、Claude API)的推理。

生成的代碼隨后會在CodeShell-UCB執(zhí)行器中運行和評估,提供了包括編譯成功率、Pass@K、Pass@T以及測試覆蓋率在內(nèi)的多樣化、多維度的評估指標。

下表展示了代碼助手CodeShell-Chat和在WizardCoder的對比。

盡管WizardCoder通過在CodeLlama上精心微調(diào)獲得了很高的HumanEval分數(shù),但是在更加綜合全面的測試基準下,CodeShell-Chat各種編碼任務下具有明顯的優(yōu)勢,更適合軟件開發(fā)的實際場景。

圖片

CodeShell-UCG評估基準既可以用于評估模型的編程能力,也可以用于評估各種不同的Prompt設計策略,研究者可以在CodeShell-UCB的基礎上進行數(shù)據(jù)與任務的擴展并展開更細致的模型分析。

北京大學軟件工程國家工程研究中心知識計算實驗室(張世琨、葉蔚課題組)長期關注軟件工程與人工智能交叉領域,聚焦程序語言與自然語言的語義理解與交互問題,在打造CodeShell的過程中建立了一支大模型精英團隊,覆蓋基座預訓練、基礎設施優(yōu)化、數(shù)據(jù)治理、模型微調(diào)與對齊、模型評估、模型量化與部署等核心環(huán)節(jié)與任務,近期將推出更加重磅的模型與產(chǎn)品,敬請期待!

責任編輯:張燕妮 來源: 新智元
相關推薦

2024-04-09 15:16:13

開源AI

2024-07-22 07:10:00

小模型機器學習蘋果

2025-02-12 13:34:40

2024-11-13 10:05:00

2024-02-22 10:09:00

開源模型

2023-09-07 13:25:00

AI模型

2024-07-15 08:58:00

2025-04-14 09:27:00

2023-12-10 15:21:39

2025-02-10 14:30:00

模型數(shù)據(jù)開源

2024-09-05 14:25:00

訓練代碼

2024-07-22 09:00:00

2020-07-15 15:21:06

谷歌開源機器學習

2023-05-18 14:08:31

AI開源

2023-07-03 13:23:47

OpenChatOpenLLMChatGPT

2025-03-20 08:34:14

2023-09-22 09:06:00

模型開源

2024-06-17 08:55:00

2023-10-12 14:40:10

AI模型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩一区二区三区不卡视频 | 久久国产精99精产国高潮 | 日韩一区二区在线视频 | 伊人免费在线观看 | 国产精品国产精品 | 亚洲成人免费视频 | 欧美一级片在线 | 亚洲少妇综合网 | 国产91丝袜在线播放 | 日本精品久久久一区二区三区 | 国产精品一二三区 | 日韩国产欧美一区 | 玩丰满女领导对白露脸hd | 一级免费a | 亚洲免费人成在线视频观看 | 在线观看亚洲专区 | 久久久久久国产精品 | 国产欧美在线观看 | 国产精品中文字幕在线 | 欧美激情一区二区三区 | 日本精品一区二区 | 日一区二区三区 | av在线免费不卡 | 国产女人与拘做视频免费 | 日韩免费网 | 色婷婷久久 | 91视频网址 | 欧美二级 | 午夜国产一级片 | 青青久久久 | 成人伊人 | 欧美综合在线观看 | 日韩欧美中文 | 亚洲精品一区二区 | 一级一片在线观看 | 日本一级淫片免费啪啪3 | 性福视频在线观看 | 久久久久久看片 | 国产一二三区精品视频 | 97av视频在线| 伊人免费视频二 |