2ヶ月前
OctoPack: 大規模言語モデルの指示調整コード
Muennighoff, Niklas ; Liu, Qian ; Zebaze, Armel ; Zheng, Qinkai ; Hui, Binyuan ; Zhuo, Terry Yue ; Singh, Swayam ; Tang, Xiangru ; von Werra, Leandro ; Longpre, Shayne

要約
大規模言語モデル(LLM)を指示に合わせて微調整することで、自然言語処理タスクの性能が大幅に向上します。本研究では、Gitコミットの自然な構造を活用し、コード変更と人間の指示がペアになったデータを使用して指示微調整を行いました。私たちはCommitPackを編纂しました:350以上のプログラミング言語で4テラバイトのGitコミットを集積したものです。160億パラメータのStarCoderモデルに対して、CommitPackを他の自然および合成コード指示(xP3x, Self-Instruct, OASST)と比較評価を行い、OpenAI出力で訓練されていないモデルの中でHumanEval Pythonベンチマーク(46.2% pass@1)において最先端の性能を達成しました。さらに、HumanEvalベンチマークを拡張し、6つの言語(Python, JavaScript, Java, Go, C++, Rust)で合計3つのコーディングタスク(コード修復、コード説明、コード合成)を含むHumanEvalPackを導入しました。私たちのモデルであるOctoCoderとOctoGeeXは、すべての許諾済みモデルの中でHumanEvalPackにおいて最良の性能を示しており、CommitPackが多様な言語と自然なコーディングタスクへの汎化能力を持つことを証明しています。コード、モデル、データはhttps://github.com/bigcode-project/octopackで自由に利用可能です。