
?インパクト • ?ニュース•クイックスタート•リモート評価•LLM生成コード•?高度な使用法•?結果の提出•引用
BigCodeBenchは、以下を含む多くのLLMチームで使用されています。
bigcodebench==v0.2.0をリリースしています!bigcodebench==v0.1.9をリリースします。bigcodebench==v0.1.8です。bigcodebench==v0.1.7をリリースします。bigcodebench==v0.1.6をリリースします。0.1.5でここで入手できます。 BigCodeBenchは、コードを介して実用的で挑戦的なタスクを解決するための使いやすいベンチマークです。より現実的な設定で、大規模な言語モデル(LLMS)の真のプログラミング機能を評価することを目的としています。ベンチマークは、人間のような関数レベルのコード生成タスク向けに設計されていますが、はるかに複雑な命令と多様な関数呼び出しがあります。
BigCodebenchには2つのスプリットがあります。
Complete :THES Splitは、包括的なドキュストリングに基づいてコード完了のために設計されています。Instruct :スプリットは、命令チューニングモデルとチャットモデルのみで機能します。モデルは、自然言語の指示に基づいてコードスニペットを生成するように求められます。指示には必要な情報のみが含まれており、より複雑な推論が必要です。BigCodeBenchは、多様な関数呼び出しと複雑な指示を使用して、コード生成を介してタスクの自動化に焦点を当てています。
開始するには、最初に環境をセットアップしてください。
# By default, you will use the remote evaluation API to execute the output samples.
pip install bigcodebench --upgrade
# You are suggested to use `flash-attn` for generating code samples.
pip install packaging ninja
pip install flash-attn --no-build-isolation
# Note: if you have installation problem, consider using pre-built
# wheels from https://github.com/Dao-AILab/flash-attention/releases # Install to use bigcodebench.generate
pip install " git+https://github.com/bigcode-project/bigcodebench.git " --upgrade貪欲なデコードを例として使用して、リモートAPIを介して生成されたコードサンプルを評価する方法を示します。
警告
生成を容易にするために、デフォルトでバッチ推論を使用します。ただし、バッチ推論の結果は、少なくともVLLMバックエンドでは、バッチサイズからバッチサイズ、バージョンまでさまざまです。貪欲なデコードのためのより決定的な結果を得たい場合は、 --bsを1に設定してください。
注記
BigCodeBench-Fullでリモートで実行するには、通常6〜7分かかり、 BigCodeBench-Hardでは通常4〜5分かかります。
bigcodebench.evaluate
--model meta-llama/Meta-Llama-3.1-8B-Instruct
--split [complete | instruct]
--subset [full | hard]
--backend [vllm | openai | anthropic | google | mistral | hf]bcb_resultsという名前のフォルダーに保存されます。[model_name]--bigcodebench-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated.jsonlという名前のファイルに保存されます。[model_name]--bigcodebench-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated_eval_results.jsonという名前のファイルに保存されます。[model_name]--bigcodebench-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated_pass_at_k.jsonという名前のファイルに保存されます。 注記
BigCodeBenchは、ベースモデルとチャットモデルにさまざまなプロンプトを使用します。デフォルトでは、 hf / vllmバックエンドとして使用する場合、 tokenizer.chat_templateによって検出されます。他のバックエンドの場合、チャットモードのみが許可されます。
したがって、ベースモデルにtokenizer.chat_templateが付属している場合は、チャットモードで評価されないように--direct_completionを追加してください。
OpenaiコンソールからOpenai APIにアクセスします
export OPENAI_API_KEY= < your_openai_api_key >Anthropic Consoleから人類のAPIにアクセスします
export ANTHROPIC_API_KEY= < your_anthropic_api_key >Mistral ConsoleからMistral APIにアクセスします
export MISTRAL_API_KEY= < your_mistral_api_key >Google AI StudioからGemini APIにアクセスします
export GOOGLE_API_KEY= < your_google_api_key > 評価したLLMSからの事前に生成されたコードサンプルを共有してください。
sanitized_samples_calibrated.zipを含めます。 詳細については、高度な使用法を参照してください。
生成されたコードサンプルと実行結果の両方を[email protected]にメールで送信してください。ファイル名[model_name]--[revision]--[bigcodebench|bigcodebench-hard]-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated.jsonlおよび[model_name]--[revision]--[bigcodebench|bigcodebench-hard]-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated_eval_results.json 。 3日以内にメールに応答しない場合は、問題を提出して思い出させることができます。
@article { zhuo2024bigcodebench ,
title = { BigCodeBench: Benchmarking Code Generation with Diverse Function Calls and Complex Instructions } ,
author = { Zhuo, Terry Yue and Vu, Minh Chien and Chim, Jenny and Hu, Han and Yu, Wenhao and Widyasari, Ratnadira and Yusuf, Imam Nur Bani and Zhan, Haolan and He, Junda and Paul, Indraneil and others } ,
journal = { arXiv preprint arXiv:2406.15877 } ,
year = { 2024 }
}