Codex是由OpenAI開發的一種基於GPT-3的程式語言模型,專門用於代碼生成和文檔生成。它通過在GitHub上的公開代碼上進行微調訓練而成,能夠執行多種編程任務,包括自動補全代碼、生成代碼、補充測試樣例,並支持多種程式語言。Codex的模型參數規模可以從12M變化到12B,顯示出其靈活性和強大的能力。
Codex的一個顯著特點是其生產版本為GitHub Copilot提供動力,這表明了Codex在編程輔助方面的廣泛套用。在HumanEval評估上,Codex展示了其在程式合成方面的能力,解決了28.8%的問題,相比之下,GPT-3一個版本解決了0%的問題,而GPT-J解決了11.4%的問題。這表明Codex在代碼生成任務上具有較高的準確性。
此外,Codex的局限性也被研究,包括在處理長操作鏈的文檔字元串和將操作與變數綁定方面的困難。研究還發現,從模型中反覆取樣是一個有效的策略,可以產生對困難提示的工作解決方案。在每個問題100個樣本的情況下,這種方法使得Codex解決了70.2%的問題。
Codex的訓練數據來源於2020年5月從GitHub上收集的179GB的Python檔案,經過微調後得到了強大的自然語言表徵能力。OpenAI還訓練了Codex的變體,如Codex-S和Codex-D,分別基於有監督微調數據集進行訓練,以改進模型的效果和功能。