PolyCoder:號稱超過Codex的開源AI程式碼生成器
程式碼生成型人工智慧是:能夠在提示下用不同的程式語言進行編寫的人工智慧系統
這種工具有望削減開發成本,同時讓編碼人員專注於創造性的、不那麼重複的任務。
儘管OpenAI和DeepMind已經開發出了強大的程式碼生成人工智慧,但它們並沒有完全開放原始碼。例如,為GitHub的Copilot功能提供動力的OpenAI的Codex的訓練資料尚未公開,使研究人員無法對人工智慧模型進行微調或研究它的可解釋性等方面。
為了彌補這一缺陷,卡內基梅隆大學的研究人員開發了PolyCoder,這是一個基於OpenAI的GPT-2語言模型的模型,在一個包含249GB程式碼的資料庫中訓練,涵蓋12種程式語言。雖然PolyCoder在每項任務中的表現都無法與頂級程式碼生成器相提並論,但研究人員聲稱,PolyCoder能夠以比所有已知模型(包括Codex)更高的精度編寫C語言。
當GitHub的Copilot在去年夏天問世時,很明顯,這些非常大的程式碼語言模型對幫助開發者和提高他們的生產力非常有用。
但是沒有接近這種規模的公開可用的模型,
越來越多的組織正在探索程式碼生成的人工智慧:
- 在2021年5月的Build開發者大會上,微軟詳細介紹了Power Apps的一項新功能,該功能利用OpenAI的GPT-3語言模型來協助人們選擇公式。
- 英特爾的ControlFlag可以自主地檢測程式碼中的錯誤。
- 而Facebook的TransCoder將程式碼從一種程式語言轉換為另一種。
- DeepMind最近公佈了AlphaCode,該實驗室聲稱它是首批可與人類程式設計師競爭的程式碼生成系統之一。
但是,這些大型科技公司沒有公開發布他們的模型,這確實阻礙了科學研究和這種大型語言模型程式碼的民主化
在開發PolyCoder的過程中,研究人員還研究並比較了包括Codex(通過API)在內的不同程式碼生成AI系統的效能。有趣的是,他們發現大部分在英文文字上訓練的模型,只在一點原始碼上訓練,結果在生成程式碼方面非常出色--也許是因為他們從249GB資料庫中包含的開發者問答網站Stack Overflow等資源中得到了與程式碼相關的見解
建立強大的程式碼生成模型的一個有希望的方法似乎是對不同的程式設計知識來源進行訓練,包括廣泛的程式語言組合中的程式碼,以及來自網路上與程式碼相關的文字。
研究人員表示擔心,像PolyCoder這樣的模型可能會被促使生成錯誤的程式,包括具有難以檢測的安全漏洞的程式。在未來,他們擔心對手可以在程式碼生成模型中 "隱藏 "惡意行為,這些行為只有在得到正確的提示時才會出現,比如一個關鍵詞(如公司或產品名稱),或者上傳可能被合法程式碼生成模型發現的脆弱程式碼。
他們建議將Codex大小的模型開源,作為對抗這種情況的一種方式,這可以使安全研究人員在這些模型中尋找故障模式。作為一個附帶的好處,開源將允許開發人員通過一個被稱為微調的過程對模型進行個性化處理或 "教 "他們新的程式語言,這比從頭開始訓練模型的成本要低。
相關文章
- C 語言寫得比 Codex 還要好的 AI 開源了!AI
- 新程式碼編輯器Lime釋出 號稱Sublime Text的開源實現
- 開源框架 - 新 程式碼生成器 WebFirst / .NET Core框架Web
- 歡迎使用開源的程式碼生成器Code-BuilderUI
- BigCode:使用AI自動生成程式碼的開源工具GCAI開源工具
- 精選 | 6款超讚的最新AI開源專案!AI
- JNPF低程式碼開發框架程式碼 生成器設計框架
- 程式碼生成器
- GitHub Star 數量前 5 的開源應用程式生成器Github
- 我們開源了超過二十萬使用者的“套餐助手”小程式
- Laravel 程式碼生成器Laravel
- js 程式碼生成器JS
- ZT 程式碼生成器
- 開源小程式原始碼原始碼
- 我見過的很好編譯的開源程式編譯
- 開源專案-跨專案及作業系統的通用程式碼生成器,解放您的雙手作業系統
- go-zero程式碼生成器助你高效開發Go
- MyBatis程式碼生成器的實用MyBatis
- 效能超過人類煉丹師,AutoGluon 低調開源
- 開源軟體名稱中的故事
- 13個超棒的程式碼資源網站推薦網站
- 一個超級牛逼基於SpringBoot + Mybatis + Vue的程式碼生成器Spring BootMyBatisVue
- 九連環答案生成器的C源程式 (轉)
- 如何研究開源專案的程式碼?
- go模板-程式碼生成器Go
- MyBatis Plus程式碼生成器MyBatis
- JavaScript 程式碼開頭新增分號JavaScript
- 開源資料庫流行度首次超過非開源資料庫Confluent資料庫
- Facebook開源Aroma: 通過機器學習向程式設計師推薦程式碼模板機器學習程式設計師
- 基於 Laravel 命令列開發 API 程式碼生成器Laravel命令列API
- 鴻蒙 OS 程式碼正式開源!!鴻蒙
- 開源囧事4:你們這些賣程式碼的能不能留自己的QQ號?留我QQ號幹嘛?
- Coverity:2013年全球C/C++專案開源軟體程式碼質量超過專有軟體C++
- AI開源 - FeaturetoolsAI
- 字串(暱稱)過濾特殊符號和表情(通用)字串符號
- H2O是效能超過Nginx的開源Http伺服器NginxHTTP伺服器
- OracleSugar ORM框架的誕生,程式碼開源OracleORM框架
- SpringBoot程式碼生成器Spring Boot