
? Dampak • ? Berita • Mulai Cepat • Evaluasi jarak jauh • Kode yang dihasilkan LLM •? Penggunaan lanjutan •? Pengajuan Hasil • Kutipan
BigCodeBench telah digunakan oleh banyak tim LLM termasuk:
bigcodebench==v0.2.0 !bigcodebench==v0.1.9 .bigcodebench==v0.1.8 .bigcodebench==v0.1.7 .bigcodebench==v0.1.6 .0.1.5 . BigCodeBench adalah tolok ukur yang mudah digunakan untuk menyelesaikan tugas-tugas praktis dan menantang melalui kode. Ini bertujuan untuk mengevaluasi kemampuan pemrograman sebenarnya dari model bahasa besar (LLM) dalam pengaturan yang lebih realistis. Benchmark ini dirancang untuk tugas-tugas pembuatan kode tingkat fungsi seperti manusia, tetapi dengan instruksi yang jauh lebih kompleks dan panggilan fungsi yang beragam.
Ada dua pemisahan di BigCodeBench:
Complete : Perpecahan ini dirancang untuk penyelesaian kode berdasarkan Docstrings komprehensif.Instruct : Split berfungsi untuk instruksi yang disesuaikan dan model obrolan saja, di mana model diminta untuk menghasilkan cuplikan kode berdasarkan instruksi bahasa alami. Instruksi hanya berisi informasi yang diperlukan, dan membutuhkan penalaran yang lebih kompleks.BigCodeBench berfokus pada otomatisasi tugas melalui pembuatan kode dengan beragam panggilan fungsi dan instruksi yang kompleks , dengan:
Untuk memulai, silakan siapkan lingkungan pertama:
# 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 " --upgradeKami menggunakan decoding serakah sebagai contoh untuk menunjukkan cara mengevaluasi sampel kode yang dihasilkan melalui API jarak jauh.
Peringatan
Untuk memudahkan generasi, kami menggunakan inferensi batch secara default. Namun, hasil inferensi batch dapat bervariasi dari ukuran batch ke ukuran batch dan versi ke versi , setidaknya untuk backend VLLM. Jika Anda ingin mendapatkan hasil yang lebih deterministik untuk decoding serakah, silakan atur --bs ke 1 .
Catatan
Dijalankan dari jarak jauh di BigCodeBench-Full biasanya memakan waktu 6-7 menit, dan di BigCodeBench-Hard biasanya memakan waktu 4-5 menit.
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 . Catatan
BigCodeBench menggunakan permintaan yang berbeda untuk model pangkalan dan obrolan. Secara default dideteksi oleh tokenizer.chat_template saat menggunakan hf / vllm sebagai backend. Untuk backend lainnya, hanya mode obrolan yang diizinkan.
Oleh karena itu, jika model dasar Anda dilengkapi dengan tokenizer.chat_template , silakan tambahkan --direct_completion untuk menghindari dievaluasi dalam mode obrolan.
Akses Openai API dari Openai Console
export OPENAI_API_KEY= < your_openai_api_key >Akses API Antropik dari Konsol Antropik
export ANTHROPIC_API_KEY= < your_anthropic_api_key >Akses API Mistral dari Mistral Console
export MISTRAL_API_KEY= < your_mistral_api_key >Akses Gemini API dari Google AI Studio
export GOOGLE_API_KEY= < your_google_api_key > Kami berbagi sampel kode yang telah dihasilkan dari LLMS yang telah kami evaluasi:
sanitized_samples_calibrated.zip untuk kenyamanan Anda. Silakan merujuk ke penggunaan lanjutan untuk lebih jelasnya.
Silakan kirim email ke sampel kode yang dihasilkan dan hasil eksekusi ke [email protected] jika Anda ingin menyumbangkan model Anda ke papan peringkat. Perhatikan bahwa nama file harus dalam format [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 . Anda dapat mengajukan masalah untuk mengingatkan kami jika kami tidak menanggapi email Anda dalam waktu 3 hari.
@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 }
}