我們擅長(zhǎng)商業(yè)策略與用戶體驗(yàn)的完美結(jié)合。
歡迎瀏覽我們的案例。
在自然語(yǔ)言處理領(lǐng)域,常用語(yǔ)言模型(LMs)可以實(shí)現(xiàn)為字符(tokens)序列分配概率。
最近,LMs 還在對(duì)編程語(yǔ)言編寫的源代碼進(jìn)行建模方面表現(xiàn)出強(qiáng)大的性能,擅長(zhǎng)從自然語(yǔ)言描述中完成和生成代碼。
在基于人工智能的編程支持下,目前最先進(jìn)的大型語(yǔ)言模型的編寫代碼能力已經(jīng)有了巨大改進(jìn)。
AI 自動(dòng)寫代碼的潛力
代碼生成 AI 模型的好處是顯而易見(jiàn)的,它可以降低開發(fā)成本,同時(shí)允許編碼人員專注于創(chuàng)造性的、重復(fù)性較低的任務(wù)。也正因如此,越來(lái)越多的組織正在探索代碼生成人工智能。
Codex 是其中之一。它是 OpenAI 推出的新的深度學(xué)習(xí)驅(qū)動(dòng)平臺(tái),可自動(dòng)編寫能夠正常工作的軟件代碼。該系統(tǒng)以大量公開代碼作為語(yǔ)料庫(kù)進(jìn)行了訓(xùn)練,是 GitHub Copilot 上的一個(gè)功能,可幫助程序員自動(dòng)改進(jìn)或更新軟件。
DeepMind 出品的 AlphaCode 也是最早與人類程序員競(jìng)爭(zhēng)的代碼生成系統(tǒng)之一。編程競(jìng)賽平臺(tái) Codeforces 上舉辦的編程競(jìng)賽中,DeepMind 表示,與 5000 多名程序員競(jìng)爭(zhēng),AlphaCode 的平均排名在前 54.3% 之內(nèi)。
目前,OpenAI 和 Alphabet 支持的 DeepMind 等機(jī)構(gòu)已經(jīng)開發(fā)出強(qiáng)大的代碼生成 AI,但這些最強(qiáng)大的系統(tǒng)并沒(méi)有開源。例如,Codex 只允許在收費(fèi)情況下,通過(guò)黑箱 API 調(diào)用模型的輸出,但不允許訪問(wèn)模型的權(quán)重或訓(xùn)練數(shù)據(jù)。
也就是說(shuō),盡管語(yǔ)言模型在編碼方面取得了巨大的成功,但由于性能最好的語(yǔ)言模型沒(méi)有開源,這就限制了資源缺乏的公司在該領(lǐng)域的研究,例如,研究人員無(wú)法對(duì)模型進(jìn)行微調(diào)在源代碼實(shí)現(xiàn)之外的任務(wù)或領(lǐng)域中使用。而且無(wú)法訪問(wèn)模型的內(nèi)部結(jié)構(gòu)也限制了研究人員研究模型的其他重要特性,例如可解釋性、為了實(shí)現(xiàn)高效應(yīng)用的模型蒸餾,以及引入檢索等額外功能。
GPTNeo、GPT-J 和 GPT-NeoX 是三種公開可用的預(yù)訓(xùn)練語(yǔ)言模型,其規(guī)模涵蓋中等到大型。通過(guò)在新聞文章、互聯(lián)網(wǎng)論壇和少數(shù)(GitHub)軟件庫(kù)等大量數(shù)據(jù)上進(jìn)行訓(xùn)練,這些語(yǔ)言模型能夠以較快的速度生成源代碼。另外還有一些僅在源代碼上訓(xùn)練的開源語(yǔ)言模型,例如 CodeParrot 模型是在 180 GB 大小的 Python 代碼上訓(xùn)練的。
由于這些模型的大小和訓(xùn)練策略各不相同,而且沒(méi)有完善的實(shí)驗(yàn)比較,還不清楚建模方法和訓(xùn)練策略對(duì)語(yǔ)言模型的影響。
例如,我們無(wú)法知道 Codex 和其他自用模型訓(xùn)練使用的實(shí)際數(shù)據(jù)集。而且一些開源模型是在大量自然語(yǔ)言和代碼上進(jìn)行訓(xùn)練,而另一些(例如 CodeParrot)則只在一種編程語(yǔ)言的代碼上訓(xùn)練。
不過(guò),使用不同編程語(yǔ)言中相似的關(guān)鍵字和特征,使得多語(yǔ)言模型的泛化能力較強(qiáng),這一點(diǎn)在多語(yǔ)言模型的實(shí)際使用中得到證明。也就是說(shuō),多語(yǔ)言 LMs 具有跨語(yǔ)言使用、優(yōu)于單語(yǔ)言模型的優(yōu)點(diǎn)。
PolyCoder 問(wèn)世
最近,卡內(nèi)基梅隆大學(xué)(Carnegie Mellon University)的研究人員發(fā)表了一篇論文 A SYSTEMATIC EVALUATION OF LARGE LANGUAGE MODELS OF CODE ,對(duì)比了現(xiàn)有的跨編程語(yǔ)言的編寫代碼模型——Codex、GPT-J、GPT-Neo、GPT-NeoX 和 CodeParrot。通過(guò)對(duì)多個(gè)模型的比較和分析,這個(gè)團(tuán)隊(duì)希望為代碼建模設(shè)計(jì)決策提供更多啟發(fā)。

他們首次證明了,大型的開源語(yǔ)言模型都不僅僅在幾種編程語(yǔ)言的代碼上進(jìn)行訓(xùn)練。
這篇論文中,他們還提出一個(gè)基于 OpenAI 的GPT-2語(yǔ)言模型的模型PolyCoder。該模型在包含 249 GB 代碼的數(shù)據(jù)庫(kù)上進(jìn)行了 12 個(gè)編程語(yǔ)言。
雖然 PolyCoder 在每項(xiàng)任務(wù)中都無(wú)法與頂級(jí)代碼生成器的性能相媲美,但研究人員聲稱,PolyCoder 能夠以比所有已知模型更高的準(zhǔn)確度用 C 語(yǔ)言編寫,包括 Codex 在內(nèi)。

首先,該團(tuán)隊(duì)對(duì) PolyCoder、開源模型和 Codex 的訓(xùn)練和測(cè)試設(shè)置進(jìn)行對(duì)比研究。
其次,使用 HumanEval 基準(zhǔn)研究各種模型大小、訓(xùn)練步驟,以及不同的溫度對(duì)模型生成代碼質(zhì)量的影響。
最后,由于 HumanEval 只能評(píng)估自然語(yǔ)言到 Python 語(yǔ)言的生成結(jié)果,所以他們創(chuàng)建了一個(gè) 12 種語(yǔ)言的測(cè)試數(shù)據(jù)集,用來(lái)評(píng)估各種模型的性能。
研究人員發(fā)現(xiàn),盡管 Codex 模型表面上只能處理 Python 語(yǔ)言,但它在其他編程語(yǔ)言中的表現(xiàn)也很不錯(cuò),超過(guò)了在 Pile 上訓(xùn)練的 GPT-J 和 GPT-NeoX 模型。但是在 C 語(yǔ)言中,PolyCoder 模型的性能比其他所有模型(包括 Codex)的都好。
而且在 C、JavaScript、Rust、Scala 和 TypeScript 語(yǔ)言中,PolyCoder 比同樣大小的開源模型 GPT-Neo 2.7B 相比性能更好。

但在 C 語(yǔ)言之外的 11 種語(yǔ)言上,其他的開源模型,包括 Polycoder 的表現(xiàn)低于 Codex。這是因?yàn)?Polycoder 是在數(shù)據(jù)不平衡的混合語(yǔ)言上訓(xùn)練的,而且 C++和 C 語(yǔ)言是有相關(guān)性、且在訓(xùn)練語(yǔ)料中最普遍的兩種語(yǔ)言。所以 C 語(yǔ)言的數(shù)據(jù)量更大,PolyCoder 模型就認(rèn)為 C 是“首選”的編程語(yǔ)言。但 C++語(yǔ)言更為復(fù)雜,并且 Codex 擁有更大的上下文窗口(4096 vs. PolyCoder 的 2048),或者因?yàn)?Codex 是在更多的 C++訓(xùn)練數(shù)據(jù)上訓(xùn)練出來(lái)的,所以導(dǎo)致 Codex 在 C++上的表現(xiàn)優(yōu)于 PolyCoder。
總而言之,這項(xiàng)研究中研究人員對(duì)大量語(yǔ)言模型的編碼能力進(jìn)行了全面實(shí)驗(yàn)。一般來(lái)說(shuō),更大的模型和更多的訓(xùn)練時(shí)間有利于提高模型性能。GPT-superior Neo 模型在某些語(yǔ)言中的性能表明,對(duì)自然語(yǔ)言文本和代碼的訓(xùn)練有助于對(duì)代碼進(jìn)行建模。
而 PolyCoder 則是用于編碼的大規(guī)模開源語(yǔ)言模型,在 12 種不同的編程語(yǔ)言代碼上訓(xùn)練而得,它的發(fā)布有助于未來(lái)在該領(lǐng)域的研究。雖然 PolyCoder 在每項(xiàng)任務(wù)中的性能都無(wú)法與頂級(jí)代碼生成器相媲美,但研究人員聲稱,PolyCoder 能夠以比包括 Codex 在內(nèi)的所有已知模型以更高的準(zhǔn)確度用 C 語(yǔ)言編寫代碼。
(邯鄲微信平臺(tái))


小米應(yīng)用商店發(fā)布消息稱 持續(xù)開展“APP 侵害用戶權(quán)益治理”系列行動(dòng) 11:37:04
騰訊云與CSIG成立政企業(yè)務(wù)線 加速數(shù)字技術(shù)在實(shí)體經(jīng)濟(jì)中的落地和應(yīng)用 11:34:49
樂(lè)視回應(yīng)還有400多人 期待新的朋友加入 11:29:25
亞馬遜表示 公司正在將其智能購(gòu)物車擴(kuò)展到馬薩諸塞州的一家全食店 10:18:04
三星在元宇宙平臺(tái)推出游戲 玩家可收集原材料制作三星產(chǎn)品 09:57:29
特斯拉加州San Mateo裁減229名員工 永久關(guān)閉該地區(qū)分公司 09:53:13