目前,我們已經開始看到越來越多利用人工智慧(AI)進行程式碼產生的解決方案湧現,自然語言處理 (NLP) 領域為各種程式語言中的一系列程式碼產生 AI 鋪平了道路。
其中,我們可以重點介紹 GitHub Copilot、AlphaCode 和 Codex,現在我們還可以添加卡內基梅隆大學研究人員最近提出的新解決方案“PolyCoder”,這是一個基於 OpenAI 的 GPT-2 語言模型的代碼生成器,該模型在一個包含 12 種編程語言的 249 GB 代碼數據庫上進行了訓練。
關於 PolyCoder
PolyCoder 的作者聲稱,它能夠比任何已知模型(包括 Codex)更準確地編寫 C 程式碼。
這種能夠根據提示用不同程式語言編寫原始程式碼的程式碼生成人工智慧,有望降低軟體開發成本,同時讓開發人員專注於創意和重複性較低的任務。
PolyCoder 使用來自多個 GitHub 儲存庫的資料進行訓練,涵蓋 12 種流行的程式語言:C、C#、C++、Go、Java、JavaScript、PHP、Python、Ruby、Rust、Scala 和 TypeScript。
未經篩選的數據集總計 631 GB 數據,包含 38,9 萬個文件。研究團隊表示,由於預算限制,他們選擇使用 GPT-2 模型訓練 PolyCoder。 PolyCoder 以開源形式提供,研究人員希望它能夠推動人工智慧程式碼生成領域的研究民主化,該領域目前一直由資金雄厚的公司主導。
研究人員認為,PolyCoder在產生 C 語言程式碼方面優於其他模型。然而,Codex 在其他語言中一直表現更佳。 “PolyCoder 在 C 語言方面的表現顯著優於 Codex 和所有其他模型。”
“去年夏天,當 Copilot 在 GitHub 上出現時,很明顯這些非常大的語言代碼模型在幫助開發人員和提高他們的生產力方面非常有用。 但甚至沒有接近這種規模的模型是公開可用的,”研究人員通過電子郵件告訴 VentureBeat。 “所以 [PolyCoder] 從 Vincent 開始,試圖找出可以在我們的實驗室服務器上訓練的最大模型是什麼,最終有 2700 億個參數……而且該模型領先於我們擁有的其他面向代碼的模型.當時是公開的。”
他們指出:「當僅比較開源模型時,PolyCoder 在 C、JavaScript、Rust、Scala 和 TypeScript 語言中均優於規模相近的 GPT-Neo 2.7B 模型。」卡內基美隆大學的研究人員補充說:「在其他 11 種語言中,所有其他開源模型,包括我們自己的模型,都明顯地感到困惑 Codex。
有了這個,PolyCoder 被定位為一個非常有趣的解決方案,因為雖然 Elon Musk 的 OpenAI 和 Alphabet 的 DeepMind 等研究實驗室已經開發出強大的代碼生成 AI,但許多最成功的系統都沒有開源。 低收入公司無法使用它,這種情況限制了他們在該領域的研究。
例如,為 GitHub 的 Copilot 功能提供支持的 OpenAI Codex 的訓練數據尚未公開,這阻礙了研究人員改進 AI 模型或研究其某些方面,例如互操作性。
研究人員說:“大型科技公司沒有公開發布他們的模型,這確實阻礙了科學研究和此類大型語言代碼模型的民主化。” “在某種程度上,我們希望我們的開源努力能夠說服其他人也這樣做。 但總體而言,社區應該能夠自行訓練這些模型。 我們的模型突破了您可以在單個服務器上訓練的極限——任何更大的東西都需要一個服務器池,這大大增加了成本。”
最後,如果您有興趣了解更多相關信息,可以點擊以下連結查看詳情。