單元 IBM 人工智能 (AI) 研究中心提供了一個包含 14 萬個樣本的數據集,用於開發有助於編程任務的機器學習模型。 一個名為的數據集 代碼網項目, 得名於 ImageNet,它是著名的圖像存儲庫,徹底改變了計算機視覺和深度學習。
程序員使用許多有意識和潛意識思維的機制來發現新問題並探索不同的解決方案。 大多數機器學習算法需要定義明確的任務和大量帶註釋的數據來開發可以解決相同問題的模型。
專家社區在創建數據集和基準以開發和評估 AI-for-code 系統方面付出了很多努力。 但是,鑑於軟件開發的創造性和開放性,很難為編程創建完美的數據集。 通過 Project CodeNet,IBM 研究人員試圖創建一個多用途數據集,可用於在各種任務上訓練機器學習模型。 CodeNet 的創建者將其描述為“一個非常大規模、多樣化和高質量的數據集,用於加速 AI 代碼的算法進步”。
該數據集包含用 14 種不同編程語言編寫的 500 億行代碼的 55 萬個示例。 代碼樣本來自 AIZU 和 AtCoder 在線編碼平台上發布的近 4000 個提交任務。 代碼示例包括給定任務的正確和錯誤答案。
也很有趣:
CodeNet 的關鍵特性之一是添加到示例中的註釋數量。 數據集中包含的每個編碼任務都有文本描述,以及 CPU 時間和內存限制。 每個代碼提交包含十多條信息,包括語言、提交日期、大小、執行時間、接受和錯誤類型。 IBM 研究人員還竭盡全力確保數據集在各種參數(包括編程語言、可接受性和錯誤類型)之間保持平衡。
CodeNet 並不是唯一用於在編程任務上訓練機器學習模型的數據集。 但是有幾個特點使它與眾不同。 首先是數據集的龐大規模,包括樣本數量和語言的多樣性。 但也許更重要的是代碼示例附帶的元數據。 與其他專門從事特定編程任務的編碼數據集不同,添加到 CodeNet 的豐富註釋使其適用於各種任務。
這真是令人震驚。
使用GPT-3,我構建了一個佈局生成器,您可以在其中描述所需的任何佈局,並為您生成JSX代碼。
-Sharif Shameem(@sharifshameem) 2020 年 7 月 13 日
有幾種使用 CodeNet 的方法。 其中之一是語言翻譯。 由於數據集中的每個編碼任務都包含不同編程語言的表示,因此數據科學家可以使用它來構建機器學習模型,將代碼從一種語言翻譯成另一種語言。 這對於希望將舊代碼移植到新語言並讓新一代程序員可以訪問的組織來說非常方便。
另請閱讀:
傳統和遺傳應該與不同的思維一起發揮作用,與最年輕一代的神經算法和ML-提出問題的方法,相互改進
隨著時間的推移,程序員的水平會下降得更多(與現在相比)。 也就是說,將有可能用“狗屎語言”編寫出傾斜的、歪曲的代碼。 然後機器會優化,你最終可以得到專業彙編程序員優化過的代碼(甚至更好)。