本網站內容使用人工智慧(AI)或機器翻譯技術翻譯,可能存在錯誤。

Skip to content
Artificial Intelligence
Natural Language Processing
Programming Languages

MultiPL-E:一種用於神經網路程式碼生成基準測試的可擴展且多語言方法

View Publication

Author

費德里科·卡薩諾(東北大學)、約翰·古瓦(東北大學)、丹尼爾·阮(漢諾威高中)、雪梨·阮(威爾斯利學院)、露娜·菲普斯-科斯汀(東北大學)、唐納德·平克尼(東北大學)、易明浩(東北大學), 子陽天(東北大學)、卡羅琳·珍·安德森(韋爾斯利學院)、莫莉·Q·費爾德曼(奧伯林學院)、阿琼·古哈(Roblox + 東北大學)、麥可·格林伯格(史蒂文斯理工學院)、阿比納夫·詹達(微軟)

Venue

《IEEE 軟體工程彙刊》(TSE)2023

Abstract

大型語言模型已展現出生成自然語言與程式語言文本的能力。此類模型為多語言程式碼生成開闢了可能性:程式碼生成模型能否將某種語言的知識泛化至另一種語言?儘管當代程式碼生成模型能夠生成語義正確的 Python 程式碼,但其處理其他語言的能力仍所知甚少。我們提出 MultiPL-E,這是一個將單元測試驅動的程式碼生成基準轉譯為新語言的系統。 我們利用 MultiPL-E 將兩個流行的 Python 程式碼生成基準測試轉換為另外 18 種程式語言,從而創建了首個大規模多語言程式碼生成基準測試。


我們運用 MultiPL-E 將 HumanEval 基準測試與 MBPP 基準測試擴展至 18 種語言,涵蓋多種程式設計範式與普及程度。透過這些新的平行基準測試,我們評估了三種最先進的程式碼生成模型——Codex、CodeGen 及 InCoder——在多語言環境下的表現。我們發現,Codex 在數種其他語言上的表現,不僅與其在 Python 上的表現相當,甚至更為優異。 MultiPL-E 所涵蓋的廣泛程式語言,使我們得以探究語言使用頻率與語言特徵對模型表現的影響。最後,MultiPL-E 將程式碼生成基準測試編譯至新程式語言的方法兼具可擴展性與可延伸性,使得評估新模型、基準測試及語言變得輕而易舉。