Skip to main content
QUICK REVIEW

[論文レビュー] WizardCoder: Empowering Code Large Language Models with Evol-Instruct

Ziyang Luo, Can Xu|arXiv (Cornell University)|Jun 14, 2023
Topic Modeling被引用数 82
ひとこと要約

WizardCoder は Code LLM (StarCoder) をコードに焦点を当てた Evol-Instruct でファインチューニングし、オープンソースの Code LLM の中で最先端を達成し、HumanEval、HumanEval+、MBPP でいくつかのクローズドモデルを上回る。

ABSTRACT

Code Large Language Models (Code LLMs), such as StarCoder, have demonstrated exceptional performance in code-related tasks. However, most existing models are solely pre-trained on extensive raw code data without instruction fine-tuning. In this paper, we introduce WizardCoder, which empowers Code LLMs with complex instruction fine-tuning, by adapting the Evol-Instruct method to the domain of code. Through comprehensive experiments on four prominent code generation benchmarks, namely HumanEval, HumanEval+, MBPP, and DS-1000, we unveil the exceptional capabilities of our model. It surpasses all other open-source Code LLMs by a substantial margin. Moreover, our model even outperforms the largest closed LLMs, Anthropic's Claude and Google's Bard, on HumanEval and HumanEval+. Our code, model weights, and data are public at https://github.com/nlpxucan/WizardLM

研究の動機と目的

  • コードタスクに合わせた細粒度の指示調整で Code LLM の強化を促進する。
  • Evol-Instruct を活用して、より複雑で多様な、コード中心の指示データを生成する。
  • 強化された指示ファインチューニングがベースラインを上回るコード生成ベンチマークを改善することを示す。

提案手法

  • プロンプトを洗練させ、コード特有の制約を追加することで Evol-Instruct をコードに適用する(デバッグ、時間/空間計算量など)。
  • StarCoder 15B から開始し、Code Alpaca データを約78k サンプルへ拡張する。
  • 進化データで StarCoder を200ステップ、バッチサイズ512、シーケンス長2048、学習率2e-5、fp16 でファインチューニングする。
  • Greedy デコードと標準プロンプトを用いて HumanEval、HumanEval+、MBPP、DS-1000 で評価する。
  • pass@1 および DS-1000 スコアを評価するために、オープンソースとクローズドソースのベースラインと比較する。

実験結果

リサーチクエスチョン

  • RQ1コードを重視した Evol-Instruct は標準ベンチマークでの Code LLM の性能にどう影響するか?
  • RQ2WizardCoder はコード生成タスクにおいてクローズドソースモデルとのギャップを縮めるか?
  • RQ3データ進化ラウンドの回数が pass@1 の性能に与える影響はどの程度か?

主な発見

モデルパラメータHumanEvalMBPP
LaMDA137B14.0-
AlphaCode1.1B17.1-
PaLM540B26.236.8
PaLM-Coder540B36.047.0
PaLM 2-S-37.650.0
Codex2.5B21.4-
Codex12B28.8-
Code-Cushman-001-33.545.9
Code-Davinci-002-47.058.1
GPT-3.5-48.1-
GPT-4-67.0-
LLaMA33B21.730.2
LLaMA65B23.737.7
CodeGen-Multi16B18.320.9
CodeGen-Mono16B29.335.3
CodeGeeX13B22.924.4
StarCoder15B33.643.6 *
CodeT5+16B30.9-
InstructCodeT5+16B35.0-
WizardCoder15B57.3 (+22.3)51.8 (+8.2)
  • WizardCoder は4つのベンチマーク(HumanEval、HumanEval+、MBPP、DS-1000)でオープンソースの Code LLM の中で SOTA を達成。
  • HumanEval では、pass@1 がベースラインのオープンソースモデルに比べて+22.3 ポイント改善(57.3 vs 35.0)。
  • MBPP では +8.2 ポイント(51.8 vs 43.6)改善。
  • WizardCoder は小型ながら HumanEval および HumanEval+ で Claude および Bard を上回る。
  • 3ラウンドの Evol-Instruct データ進化が HumanEval で最高の pass@1 をもたらし、データ選択を導いた。
  • WizardCoder はほとんどのライブラリで DS-1000 の性能が高いことを示す。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。