近日,CodeGeeX模型迭代v1.5版本上線,用戶反饋模型效果和使用效率較之前有大幅提升,

恰逢CodeGeeX團隊在arxiv上發布了論文,詳細介紹了CodeGeeX AI編程輔助工具背后的代碼生成大模型的架構、訓練程序及推理加速等作業,

今天我們對這篇論文的核心資訊進行解讀,讓更多的開發者了解CodeGeeX背后大模型的演進歷程,以便更好的使用CodeGeeX作為開發者新一代的生產力工具,
基于Transformer的技術展現代碼生成潛力
機器是否能夠根據人類意圖的描述,例如“撰寫一個階乘函式”,自動生成解決該需求的可執行程式?這就是自動程式撰寫的問題,自20世紀60年代計算機科學的早期就開始了各種探索,
從「LISP-based pioneering deductive synthesis approaches」到「Modern Program Synthesis Systems」,再到通過深度神經網路進行探索,為了使機器能夠自動撰寫正確的程式,研究者們一直在尋找正確的方向,
直到2020年,基于Transformer的技術開始展現出自動生成代碼的潛力,這些生成的代碼既有語法正確性又具有背景關系的一致性,緊接著,大規模語言模型,遇到了大規模開源代碼資料,代碼生成的進展再次得到了顯著的推動,
在這當中,非常值得我們注意的是:OpenAI的Codex模型,具有120億(12B)引數,在2021年,首次展示出了在數十億行公共代碼上進行預訓練后,大型代碼生成模型的潛力,通過使用生成式預訓練(GPT)策略,Codex以很高的概率解決Python入門級編程問題,此后,大型預訓練的代碼模型,得到了廣泛發展,
CodeGeeX模型的3個重要特點
本文的主人公:CodeGeeX模型,是一個具有130億引數的多編程語言代碼生成預訓練模型,完全使用國產平臺和框架實作,在20多種編程語言的代碼語料庫歷時兩個月訓練而成,
CodeGeeX對代碼自動生成的研究,在大語言模型正確的方向下,又與Codex有所不同,具備自己的特點:

首先,CodeGeeX本身以及如何預訓練這種規模的代碼模型都是開源的,這有助于理解和推進預訓練代碼生成模型的發展,CodeGeeX還支持在Ascend和NVIDIA GPU上進行跨平臺推理,

其次,除了像Codex和其他工具一樣支持代碼生成和代碼補全之外,CodeGeeX還支持代碼解釋和多語言之間的代碼翻譯任務,
第三,它在類似規模的知名多語言代碼生成模型中,具有一致的性能優勢,這些知名模型包括 CodeGen-16B, GPT-NeoX-20B, InCode-6.7B, and GPT-J-6B 等,

CodeGeeX還在多個IDE中構建了免費的CodeGeeX插件,包括Visual Studio Code、JetBrains IDEs和Tencent Cloud Studio(Web IDE),
它支持幾種不同的模式——代碼自動補全、函式級別生成、代碼翻譯、代碼解釋和可自定義提示,以幫助用戶實時完成編程任務,

發布以來,每天都有數萬名活躍用戶,每個用戶平均每個作業日發起250多個API呼叫,截至本文撰寫時,CodeGeeX模型每周生成47億個token,我們的用戶調研表明,83.4%的用戶認為CodeGeeX提高了他們的編程效率,

CodeGeeX獲得HumanEval-X的充分驗證
除了CodeGeeX模型外,團隊還構建了多編程語言代碼生成評價基準HumanEval-X,HumanEval-X是第一個支持功能正確性評測的多語言、多任務的基準,包含820個人工撰寫的高質量代碼生成題目、測驗用例與參考答案,覆寫5種編程語言(Python、C++、Java、JavaScript、Go),支持代碼生成與代碼翻譯能力的評測,CodeGeeX模型的能力在HumanEval-X得到充分驗證,

論文全文見:https://arxiv.org/abs/2303.17568
點擊閱讀原文,了解并試用基于CodeGeeX大模型的AI編程輔助工具(VS Code插件,JetBrains IDEs插件):https://codegeex.cn
本文由博客一文多發平臺 OpenWrite 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/549882.html
標籤:其他
