モデル概要
モデル特徴
モデル能力
使用事例
🚀 WizardCoder: 進化的インストラクションによるコード大規模言語モデルの強化
WizardCoderは、進化的インストラクション(Evol - Instruct)手法をコーディングタスクに適用し、コード生成能力を向上させた大規模言語モデルです。この手法により、コード関連のタスクで高いパフォーマンスを発揮します。
🏠 ホームページ
🤗 HFリポジトリ •🐱 Githubリポジトリ • 🐦 Twitter
📃 [WizardLM] • 📃 [WizardCoder] • 📃 [WizardMath]
👋 Discordに参加しましょう
✨ 主な機能
ニュース
- [2024/01/04] 🔥 WizardCoder - 33B - V1.1 をリリースしました。これはdeepseek - coder - 33b - baseから学習されたモデルで、EvalPlus Leaderboard で最良のオープンソースコードLLMとなっています。HumanEvalでは79.9 pass@1、HumanEval - Plusでは73.2 pass@1、MBPPでは78.9 pass@1、MBPP - Plusでは66.9 pass@1を達成しています。
- [2024/01/04] 🔥 WizardCoder - 33B - V1.1 は、HumanEvalとHumanEval - Plusのpass@1で、ChatGPT 3.5、Gemini Pro、DeepSeek - Coder - 33B - instruct を上回っています。
- [2024/01/04] 🔥 WizardCoder - 33B - V1.1 は、MBPPとMBPP - Plusのpass@1で、ChatGPT 3.5 と同等で、Gemini Pro を上回っています。
モデル | チェックポイント | 論文 | HumanEval | HumanEval+ | MBPP | MBPP+ | ライセンス |
---|---|---|---|---|---|---|---|
GPT - 4 - Turbo (Nov 2023) | - | - | 85.4 | 81.7 | 83.0 | 70.7 | - |
GPT - 4 (May 2023) | - | - | 88.4 | 76.8 | - | - | - |
GPT - 3.5 - Turbo (Nov 2023) | - | - | 72.6 | 65.9 | 81.7 | 69.4 | - |
Gemini Pro | - | - | 63.4 | 55.5 | 72.9 | 57.9 | - |
DeepSeek - Coder - 33B - instruct | - | - | 78.7 | 72.6 | 78.7 | 66.7 | - |
WizardCoder - 33B - V1.1 | 🤗 HFリンク | 📃 [WizardCoder] | 79.9 | 73.2 | 78.9 | 66.9 | MSFTResearch |
WizardCoder - Python - 34B - V1.0 | 🤗 HFリンク | 📃 [WizardCoder] | 73.2 | 64.6 | 73.2 | 59.9 | Llama2 |
WizardCoder - 15B - V1.0 | 🤗 HFリンク | 📃 [WizardCoder] | 59.8 | 52.4 | -- | -- | OpenRAIL - M |
WizardCoder - Python - 13B - V1.0 | 🤗 HFリンク | 📃 [WizardCoder] | 64.0 | -- | -- | -- | Llama2 |
WizardCoder - Python - 7B - V1.0 | 🤗 HFリンク | 📃 [WizardCoder] | 55.5 | -- | -- | -- | Llama2 |
WizardCoder - 3B - V1.0 | 🤗 HFリンク | 📃 [WizardCoder] | 34.8 | -- | -- | -- | OpenRAIL - M |
WizardCoder - 1B - V1.0 | 🤗 HFリンク | 📃 [WizardCoder] | 23.8 | -- | -- | -- | OpenRAIL - M |
- 🔥 [08/11/2023] WizardMath モデルをリリースしました。
- 🔥 WizardMath - 70B - V1.0 モデルは、GSM8Kで、ChatGPT 3.5、Claude Instant 1、PaLM 2 540B などの一部のクローズドソースLLMを僅かに上回っています。
- 🔥 WizardMath - 70B - V1.0 モデルは、[GSM8kベンチマーク](https://github.com/openai/grade - school - math) で81.6 pass@1を達成しており、オープンソースLLMのSOTAよりも24.8ポイント高いです。
- 🔥 WizardMath - 70B - V1.0 モデルは、MATHベンチマーク で22.7 pass@1を達成しており、オープンソースLLMのSOTAよりも9.2ポイント高いです。
モデル | チェックポイント | 論文 | GSM8k | MATH | オンラインデモ | ライセンス |
---|---|---|---|---|---|---|
WizardMath - 70B - V1.0 | 🤗 HFリンク | 📃 [WizardMath] | 81.6 | 22.7 | デモ | Llama 2 |
WizardMath - 13B - V1.0 | 🤗 HFリンク | 📃 [WizardMath] | 63.9 | 14.0 | デモ | Llama 2 |
WizardMath - 7B - V1.0 | 🤗 HFリンク | 📃 [WizardMath] | 54.9 | 10.7 | デモ | Llama 2 |
モデル | チェックポイント | 論文 | MT - Bench | AlpacaEval | WizardEval | HumanEval | ライセンス |
---|---|---|---|---|---|---|---|
WizardLM - 13B - V1.2 | 🤗 HFリンク | 7.06 | 89.17% | 101.4% | 36.6 pass@1 | Llama 2 License | |
WizardLM - 13B - V1.1 | 🤗 HFリンク | 6.76 | 86.32% | 99.3% | 25.0 pass@1 | 非商用 | |
WizardLM - 30B - V1.0 | 🤗 HFリンク | 7.01 | 97.8% | 37.8 pass@1 | 非商用 | ||
WizardLM - 13B - V1.0 | 🤗 HFリンク | 6.35 | 75.31% | 89.1% | 24.0 pass@1 | 非商用 | |
WizardLM - 7B - V1.0 | 🤗 HFリンク | 📃 [WizardLM] | 78.0% | 19.1 pass@1 | 非商用 | ||
WizardCoderの開発
WizardCoderモデルを開発するために、まず進化的インストラクション(Evol - Instruct)手法をコーディングタスクに特化させました。これには、コード関連のインストラクションに適したプロンプトを作成することが含まれます。その後、新しく作成されたインストラクションに従うトレーニングセットを使用して、コードLLMであるStarCoderをファインチューニングしました。
ニュース
- 🔥 WizardCoder - 15B - v1.0 モデルは、[HumanEvalベンチマーク](https://github.com/openai/human - eval) で57.3 pass@1を達成しており、オープンソースコードLLMのSOTAよりも22.3ポイント高いです。
- 🔥 78kの進化したコードインストラクションで学習されたWizardCoder - 15B - v1.0をリリースしました。モデルの重み と論文をご確認ください。
- 📣 新しいリリースは、Twitterアカウントhttps://twitter.com/WizardLM_AI とHuggingFaceリポジトリhttps://huggingface.co/WizardLM で最初に発表されます。
クローズドソースモデルとの比較
🔥 次の図は、WizardCoderがこのベンチマークで3位に入っていることを示しています。Claude - Plus(59.8 vs. 53.0)とBard(59.8 vs. 44.5)を上回っています。特に、これらのモデルと比較して、WizardCoderのサイズは大幅に小さいです。
❗注意: この研究では、HumanEvalとHumanEval+のスコアを[LLM - Humaneval - Benchmarks](https://github.com/my - other - github - account/llm - humaneval - benchmarks) からコピーしています。すべてのモデルは、各問題に対して1回の試行でコードソリューションを生成し、パス率のパーセンテージが報告されます。WizardCoderは、貪欲デコーディングを使用して回答を生成し、同じコード でテストされます。
オープンソースモデルとの比較
次の表は、WizardCoderがすべてのオープンソースモデルに対して大幅なパフォーマンスの優位性を示していることを明確に示しています。❗モデルの異なるスコア(57.3と59.8)について混乱している場合は、注意事項を確認してください。
モデル | HumanEval Pass@1 | MBPP Pass@1 |
---|---|---|
CodeGen - 16B - Multi | 18.3 | 20.9 |
CodeGeeX | 22.9 | 24.4 |
LLaMA - 33B | 21.7 | 30.2 |
LLaMA - 65B | 23.7 | 37.7 |
PaLM - 540B | 26.2 | 36.8 |
PaLM - Coder - 540B | 36.0 | 47.0 |
PaLM 2 - S | 37.6 | 50.0 |
CodeGen - 16B - Mono | 29.3 | 35.3 |
Code - Cushman - 001 | 33.5 | 45.9 |
StarCoder - 15B | 33.6 | 43.6* |
InstructCodeT5+ | 35.0 | -- |
WizardLM - 30B 1.0 | 37.8 | -- |
WizardCoder - 15B 1.0 | 57.3 | 51.8 |
❗注意: StarCoderのMBPPでの再現結果。
❗注意: 上の表は、HumanEvalとMBPPベンチマークで、WizardCoderと他のモデルを包括的に比較しています。以前の研究で示されたアプローチに従い、各問題に対して20個のサンプルを生成してpass@1スコアを推定し、同じ[コード](https://github.com/openai/human - eval/tree/master) で評価しています。[OpenAI](https://openai.com/research/gpt - 4) によって報告されたGPT4とGPT3.5のスコアは、それぞれ67.0と48.1(これらはおそらく初期バージョンのGPT4&3.5)です。
フィードバックの募集
皆さんからの専門的で難しいインストラクションを使用してWizardCoderを評価していただき、issueディスカッション エリアでパフォーマンスが低い例やご提案を共有していただけることを歓迎します。現在は進化的インストラクションの改善に注力しており、次のバージョンのWizardCoderで既存の弱点や問題を解消することを目指しています。その後、最新の進化的インストラクションアルゴリズムのコードとパイプラインを公開し、皆さんと一緒に改善していきます。
📚 ドキュメント
目次
オンラインデモ
できる限り最新のモデルを試すことができるように提供します。リンクが機能しない場合は、別のリンクを試してみてください。同時に、仕事や生活で遭遇するであろうできる限り多くの実世界の、挑戦的なコード関連の問題を試してみてください。皆さんからのフィードバックを元に、モデルを継続的に進化させていきます。
ファインチューニング
WizardCoderは、[Llama - X](https://github.com/AetherCortex/Llama - X) の修正されたコードtrain.py
を使用してファインチューニングされます。StarCoder - 15Bを次のハイパーパラメータでファインチューニングします。
ハイパーパラメータ | StarCoder - 15B |
---|---|
バッチサイズ | 512 |
学習率 | 2e - 5 |
エポック数 | 3 |
最大長 | 2048 |
ウォームアップステップ | 30 |
LRスケジューラ | cosine |
WizardCoderのファインチューニングを再現するには、次の手順に従ってください。
- [Llama - X](https://github.com/AetherCortex/Llama - X) の指示に従って、環境をインストールし、学習コードをダウンロードし、デプロイします。(注意:
deepspeed==0.9.2
とtransformers==4.29.2
) - リポジトリ内の
train_wizardcoder.py
(src/train_wizardcoder.py
)でtrain.py
を置き換えます。 - Huggingfaceにログインします。
huggingface-cli login
- 次の学習コマンドを実行します。
deepspeed train_wizardcoder.py \
--model_name_or_path "bigcode/starcoder" \
--data_path "/your/path/to/code_instruction_data.json" \
--output_dir "/your/path/to/ckpt" \
--num_train_epochs 3 \
--model_max_length 2048 \
--per_device_train_batch_size 16 \
--per_device_eval_batch_size 1 \
--gradient_accumulation_steps 4 \
--evaluation_strategy "no" \
--save_strategy "steps" \
--save_steps 50 \
--save_total_limit 2 \
--learning_rate 2e-5 \
--warmup_steps 30 \
--logging_steps 2 \
--lr_scheduler_type "cosine" \
--report_to "tensorboard" \
--gradient_checkpointing True \
--deepspeed configs/deepspeed_config.json \
--fp16 True
推論
WizardCoderのデコードスクリプトを提供しています。
📄 ライセンス
このモデルは、bigscience - openrail - mライセンスの下で提供されています。



