Artificial Intelligence
Natural Language Processing
Programming Languages
MultiPL-E:一種用於神經網路程式碼生成基準測試的可擴展且多語言方法
Author
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 將程式碼生成基準測試編譯至新程式語言的方法兼具可擴展性與可延伸性,使得評估新模型、基準測試及語言變得輕而易舉。
