99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

會(huì)寫代碼的AI開(kāi)源了

MobTech科技派 ? 來(lái)源: MobTech科技派 ? 作者: MobTech科技派 ? 2022-08-16 15:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

推薦語(yǔ):

近期,代碼的大型語(yǔ)言模型 (LM)在完成代碼和從自然語(yǔ)言描述合成代碼方面顯示出巨大的潛力。然而,當(dāng)前最先進(jìn)的代碼 LM(例如 Codex (Chen et al., 2021))尚未公開(kāi),留下了許多關(guān)于其模型和數(shù)據(jù)設(shè)計(jì)決策的問(wèn)題。

我們的目標(biāo)是通過(guò)對(duì)各種編程語(yǔ)言中最大的現(xiàn)有模型的系統(tǒng)評(píng)估來(lái)填補(bǔ)其中的一些空白:Codex、GPT-J、GPT-Neo、GPT-NeoX-20B 和 CodeParrot。盡管 Codex 本身不是開(kāi)源的,但我們發(fā)現(xiàn),針對(duì)自然語(yǔ)言建模,現(xiàn)有的開(kāi)源模型確實(shí)在某些編程語(yǔ)言中取得了接近的結(jié)果。我們進(jìn)一步確定了一個(gè)重要的缺失部分,即專門在多語(yǔ)言代碼語(yǔ)料庫(kù)上訓(xùn)練的大型開(kāi)源模型。我們發(fā)布了一個(gè)新模型 PolyCoder,它具有基于 GPT-2 架構(gòu)的 2.7B 參數(shù),該模型在單臺(tái)機(jī)器上使用 12 種編程語(yǔ)言的 249GB 代碼進(jìn)行了訓(xùn)練。在 C 編程語(yǔ)言中,PolyCoder 優(yōu)于包括 Codex 在內(nèi)的所有模型。我們訓(xùn)練有素的模型是開(kāi)源的,可在此 https URL 上公開(kāi)獲得,這使得該領(lǐng)域的未來(lái)研究和應(yīng)用成為可能。

—— MobTech袤博科技資深java開(kāi)發(fā)工程師 零零發(fā)

比Codex還會(huì)寫C語(yǔ)言AI代碼生成模型,現(xiàn)在開(kāi)源了!

這段時(shí)間,用AI寫代碼可以說(shuō)是大火,其中最著名的要屬OpenAI的Codex和DeepMind的AlphaCode。

poYBAGL7RrmANFqDAAGYgGrPajs517.png

基于Codex的Copilot

然而,這兩個(gè)AI模型,全都沒(méi)有開(kāi)源:其中AlphaCode只給出了一些測(cè)試樣例,而Codex只開(kāi)放了API。

為此,來(lái)自CMU的幾個(gè)研究人員,用GPT-2搞出了一個(gè)名叫PolyCoder的AI代碼生成模型,而且還是開(kāi)源的。

據(jù)研究人員表示,雖然PolyCoder最大只有27億參數(shù)(相比Codex有120億參數(shù)),但它用C語(yǔ)言寫出來(lái)的代碼,比Codex的效果還要好。

這里面究竟有什么秘訣?

用12種編程語(yǔ)言代碼集訓(xùn)練

首先來(lái)看訓(xùn)練用的數(shù)據(jù)集,這也是PolyCoder的最大特點(diǎn)之一。

此前,包括Codex、CodeParrot等AI代碼生成模型,主要都是基于Python語(yǔ)言的代碼來(lái)訓(xùn)練。

例如Codex的評(píng)估數(shù)據(jù)集之一HumanEval,評(píng)估的也是生成Python代碼的效果。

相比之下,PolyCoder采用了多種編程語(yǔ)言代碼集來(lái)訓(xùn)練,一共有12種:

C、C#、C++、Go、Java、JavaScript、PHP、Python、Ruby、Rust、Scala和TypeScript。

pYYBAGL7RuSALuOTAAFin1PaAKo095.png

其中,C語(yǔ)言的代碼量是最多的,達(dá)到了221GB;而Python代碼的數(shù)據(jù)量比Codex和CodeParrot用得都要少。

這里PolyCoder用的是GitHub上的公開(kāi)代碼,主要選取的是各種編程語(yǔ)言中比較受歡迎的庫(kù),每個(gè)庫(kù)至少有50 Stars。據(jù)研究人員表示,每種編程語(yǔ)言庫(kù)的Stars總數(shù)加起來(lái)不超過(guò)25k,以避免模型生成的代碼效果太過(guò)于傾斜最流行的編程語(yǔ)言(通常編程語(yǔ)言越流行,庫(kù)的Stars就越多)。

通過(guò)提取庫(kù)中的文件、經(jīng)過(guò)簡(jiǎn)單處理(包括消除重復(fù)代碼)后,一共篩選出大約254GB的數(shù)據(jù)用于訓(xùn)練。

然后是預(yù)訓(xùn)練的方法。

語(yǔ)言模型的預(yù)訓(xùn)練方法通常有三種。第一種是自左向右的語(yǔ)言模型,根據(jù)上文預(yù)測(cè)下文,比較適用于代碼生成

等;第二種是掩蔽語(yǔ)言模型,基于上下文預(yù)測(cè)屏蔽片段,比較適合代碼分類等;第三種是編解碼器模型,比較適用于

代碼注釋等任務(wù)。

poYBAGL7Rv-AUOMCAAGywieWiAs270.png

這里PolyCoder主要采用的是第一種預(yù)訓(xùn)練方法。

相比于同樣采用GPT-2訓(xùn)練的CodeParrot和Codex,PolyCoder在超參數(shù)設(shè)置上也稍微有一些差異:

poYBAGL7R4mAdOc3AAFRJirzzcs105.png

PolyCoder一共提供了三種不同的模型,分別有27億參數(shù)、4億參數(shù)和1.6億參數(shù),研究人員可以根據(jù)自身需求和不同的訓(xùn)練能力來(lái)選取合適的模型。

poYBAGL7RyiAaxBOAAJKIH-cwVU536.png

那么,最終訓(xùn)練出來(lái)的AI模型,代碼生成效果如何?

C語(yǔ)言寫得尤其好,但Python不行

研究人員將PolyCoder與已有的AI代碼生成模型進(jìn)行了對(duì)比。由于AlphaCode不好比較

接口沒(méi)開(kāi)放)

,所以研究人員主要分析了下面這些模型,包括GPT-Neo、CodeParrot和Codex等。其中藍(lán)色的是開(kāi)源的,橙色的是沒(méi)開(kāi)源的:

pYYBAGL7R8aAZWyAAAGhXy50QSM108.png

從參數(shù)量來(lái)看,PolyCoder并不是最頂尖的,最大的27億參數(shù)模型也只有Codex的四分之一不到。研究人員先是用語(yǔ)言模型評(píng)估常用的困惑度對(duì)一系列模型進(jìn)行了比較。

困惑度(Perplexity),用于衡量語(yǔ)言模型(LM)的好壞。困惑度越低,語(yǔ)言模型面對(duì)代碼感到困惑的程度就越低,模型生成效果越好。

從圖中來(lái)看,PolyCoder在C語(yǔ)言中意外取得了最好的效果(困惑度最低)。

用大量C語(yǔ)言訓(xùn)練PolyCoder的結(jié)果說(shuō)明,即使模型整體原理不變(基于GPT-2),單純改變訓(xùn)練用的代碼集,也能訓(xùn)練出擅長(zhǎng)不同語(yǔ)言風(fēng)格的AI代碼生成模型??上У氖?,從其他語(yǔ)言來(lái)看,生成的效果就完全沒(méi)辦法和Codex相比了:

poYBAGL7SAGAJDuOAAJ5mLt188A999.png

例如,在主要用于評(píng)估Python代碼的HumanEval上,PolyCoder的能力遠(yuǎn)不如Codex好:

poYBAGL7SAmAMim4AAIyihutpN4588.png

據(jù)論文分析,這可能是Python代碼數(shù)據(jù)量、模型參數(shù)量不足等原因?qū)е碌摹?/p>

此外,作者們也提到,做出PolyCoder的目的主要還是為了開(kāi)源一個(gè)AI代碼生成模型,讓更多人參與研究和使用。

目前代碼已經(jīng)開(kāi)源,無(wú)論是直接拿來(lái)用,還是試著在它的基礎(chǔ)上開(kāi)發(fā)新模型都可以。

感興趣的小伙伴可以上手一試了~

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語(yǔ)言
    +關(guān)注

    關(guān)注

    180

    文章

    7632

    瀏覽量

    141722
  • 編程
    +關(guān)注

    關(guān)注

    88

    文章

    3689

    瀏覽量

    95248
  • 人工智能
    +關(guān)注

    關(guān)注

    1806

    文章

    49014

    瀏覽量

    249444
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3688

    瀏覽量

    43828
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86735
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AI學(xué)習(xí)】第 1 篇--活用創(chuàng)新模板學(xué) AI

    `AI 模板(Template)就像點(diǎn)菜單,讓您自己可以思考自己的應(yīng)用問(wèn)題,在 Excel 上修改模板,把訓(xùn)練資料填進(jìn)去。這些模版背后的 Python 程序代碼也都是開(kāi)源共享的,鼓勵(lì)會(huì)寫
    發(fā)表于 11-02 10:38

    AI概論:來(lái)來(lái)來(lái),成為AI的良師益友》高煥堂老師帶你學(xué)AI

    AI簡(jiǎn)介:AI 模板(Template)就像點(diǎn)菜單,讓您自己可以思考自己的應(yīng)用問(wèn)題,在 Excel 上修改模板,把訓(xùn)練資料填進(jìn)去。這些模版背后的 Python 程序代碼也都是開(kāi)源共享
    發(fā)表于 11-05 17:55

    開(kāi)源代碼中直接提供camera.hap包,誰(shuí)有相應(yīng)源代碼?潤(rùn)和的能否提供下嗎?

    開(kāi)源代碼中直接提供camera.hap包,誰(shuí)有相應(yīng)源代碼?潤(rùn)和的能否提供下嗎?
    發(fā)表于 11-18 09:23

    《來(lái)來(lái)來(lái),成為AI的良師益友》高煥堂老師AI學(xué)習(xí)資料大集合

    AI簡(jiǎn)介:AI 模板(Template)就像點(diǎn)菜單,讓您自己可以思考自己的應(yīng)用問(wèn)題,在 Excel 上修改模板,把訓(xùn)練資料填進(jìn)去。這些模版背后的 Python 程序代碼也都是開(kāi)源共享
    發(fā)表于 11-26 11:57

    如何實(shí)現(xiàn)瘋殼AI開(kāi)源無(wú)人機(jī)遙控整機(jī)代碼走讀/編譯與燒寫?

    如何實(shí)現(xiàn)瘋殼AI開(kāi)源無(wú)人機(jī)遙控整機(jī)代碼走讀/編譯與燒寫?
    發(fā)表于 12-20 06:28

    中國(guó)開(kāi)源未來(lái)發(fā)展峰會(huì)“問(wèn)道 AI 分論壇”即將開(kāi)幕!

    過(guò)去幾個(gè)月,AI 幾乎已經(jīng)成為全民熱議的話題。各式開(kāi)源大模型、訓(xùn)練框架層出不窮;AI 技術(shù)也加速應(yīng)用在各個(gè)領(lǐng)域和行業(yè),例如服務(wù)運(yùn)營(yíng)優(yōu)化、解決供應(yīng)鏈問(wèn)題等等;數(shù)據(jù)庫(kù)、云計(jì)算、大前端等多類技術(shù)領(lǐng)域產(chǎn)品
    發(fā)表于 05-09 09:49

    verilog代碼規(guī)范

    verilog代碼規(guī)范,學(xué)會(huì)寫代碼還不行,我們需要更加的規(guī)范。
    發(fā)表于 03-25 14:43 ?24次下載

    Python爬蟲 你真的會(huì)寫爬蟲嗎?

    你以為你真的會(huì)寫爬蟲了嗎?快來(lái)看看真正的爬蟲架構(gòu)!
    的頭像 發(fā)表于 05-02 17:02 ?4260次閱讀
    Python爬蟲 你真的<b class='flag-5'>會(huì)寫</b>爬蟲嗎?

    openharmony分支代碼開(kāi)源

    在之前,有一位博主爆料稱鴻蒙 OpenHarmony 2.0在 5 月 16 日的時(shí)候開(kāi)源,差不多有460萬(wàn)行基礎(chǔ)代碼。 隨后不久,華為OpenHarmony 的幾個(gè)倉(cāng)庫(kù)提交了第一批的 L2 分支
    的頭像 發(fā)表于 06-23 10:06 ?1636次閱讀

    為什么有時(shí)候會(huì)寫出爛代碼

    本文的內(nèi)容是最近我剛剛遇到的一個(gè)問(wèn)題,問(wèn)題代碼是我自己寫的,也是我自己寫單元測(cè)試的時(shí)候發(fā)現(xiàn)的,也是我自己修復(fù)的,修復(fù)完之后,我反思一下:這樣的問(wèn)題代碼,我實(shí)習(xí)的時(shí)候都寫不出來(lái)。 可是為什么我
    的頭像 發(fā)表于 08-27 10:23 ?1586次閱讀
    為什么有時(shí)候<b class='flag-5'>會(huì)寫</b>出爛<b class='flag-5'>代碼</b>

    AI開(kāi)源浪潮的領(lǐng)軍力量!OPEN AI LAB Edge AI推理框架Tenigne全解讀

    最近,國(guó)內(nèi)的人工智能(AI開(kāi)源生態(tài)突然熱鬧了起來(lái),這廂清華大學(xué)剛開(kāi)源一個(gè)強(qiáng)化學(xué)習(xí)平臺(tái),那邊華為和曠視又相繼開(kāi)源
    發(fā)表于 02-07 11:45 ?1次下載
    <b class='flag-5'>AI</b><b class='flag-5'>開(kāi)源</b>浪潮的領(lǐng)軍力量!OPEN <b class='flag-5'>AI</b> LAB Edge <b class='flag-5'>AI</b>推理框架Tenigne全解讀

    AI大模型的開(kāi)源算法介紹

    AI大模型的開(kāi)源算法介紹 什么是開(kāi)源?簡(jiǎn)單來(lái)說(shuō)就是不收取任何費(fèi)用,免費(fèi)提供給用戶的軟件或應(yīng)用程序。開(kāi)源是主要用于軟件的術(shù)語(yǔ),除了免費(fèi)用戶還可以對(duì)開(kāi)源
    的頭像 發(fā)表于 08-08 17:25 ?2614次閱讀

    真格基金宣布捐贈(zèng)開(kāi)源AI項(xiàng)目vLLM

    開(kāi)源技術(shù)處于 AI 革命的中心。Llama 3、Mistral 等開(kāi)源大模型迅速追趕 GPT-4,TensorFlow、Pytorch 等開(kāi)源深度學(xué)習(xí)框架提供
    的頭像 發(fā)表于 09-24 16:13 ?785次閱讀

    Llama 3 與開(kāi)源AI模型的關(guān)系

    體現(xiàn)在多個(gè)層面。 1. 開(kāi)源精神的體現(xiàn) Llama 3項(xiàng)目可能是一個(gè)開(kāi)源項(xiàng)目,這意味著它的源代碼、算法和數(shù)據(jù)集對(duì)公眾開(kāi)放。這種開(kāi)放性是開(kāi)源AI
    的頭像 發(fā)表于 10-27 14:42 ?775次閱讀

    開(kāi)源AI模型庫(kù)是干嘛的

    開(kāi)源AI模型庫(kù)是指那些公開(kāi)源代碼、允許自由訪問(wèn)和使用的AI模型集合。這些模型通常經(jīng)過(guò)訓(xùn)練,能夠執(zhí)行特定的任務(wù)。以下,是對(duì)開(kāi)源
    的頭像 發(fā)表于 12-14 10:33 ?787次閱讀