
- ผลกระทบ • ? ข่าว•การเริ่มต้นอย่างรวดเร็ว•การประเมินระยะไกล•รหัส LLM ที่สร้างขึ้น•? การใช้งานขั้นสูง•? การส่งผลลัพธ์•การอ้างอิง
BigCodeBench ถูกใช้โดยทีม LLM หลายแห่งรวมถึง:
bigcodebench==v0.2.0 !bigcodebench==v0.1.9bigcodebench==v0.1.8bigcodebench==v0.1.7bigcodebench==v0.1.60.1.5 BigCodeBench เป็นเกณฑ์มาตรฐานที่ ใช้งานง่าย สำหรับการแก้ปัญหาที่ใช้งาน ได้จริง และ ท้าทาย ผ่านรหัส มันมีจุดมุ่งหมายเพื่อประเมินความสามารถในการเขียนโปรแกรมที่แท้จริงของแบบจำลองภาษาขนาดใหญ่ (LLMS) ในการตั้งค่าที่สมจริงยิ่งขึ้น เกณฑ์มาตรฐานได้รับการออกแบบมาสำหรับงานสร้างรหัสระดับฟังก์ชั่นที่เหมือนกัน แต่มีคำแนะนำที่ซับซ้อนมากขึ้นและการเรียกใช้ฟังก์ชั่นที่หลากหลาย
BigCodeBench มีสองแยก:
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 ใช้พรอมต์ที่แตกต่างกันสำหรับโมเดลฐานและแชท โดยค่าเริ่มต้นจะถูกตรวจพบโดย tokenizer.chat_template เมื่อใช้ hf / vllm เป็นแบ็กเอนด์ สำหรับแบ็กเอนด์อื่น ๆ อนุญาตให้ใช้โหมดแชทเท่านั้น
ดังนั้นหากโมเดลพื้นฐานของคุณมาพร้อมกับ tokenizer.chat_template โปรดเพิ่ม --direct_completion เพื่อหลีกเลี่ยงการประเมินในโหมดแชท
เข้าถึง OpenAI APIs จาก Openai Console
export OPENAI_API_KEY= < your_openai_api_key >เข้าถึง APIs มานุษยวิทยาจากคอนโซลมานุษยวิทยา
export ANTHROPIC_API_KEY= < your_anthropic_api_key >เข้าถึง Mistral APIs จาก Mistral Console
export MISTRAL_API_KEY= < your_mistral_api_key >เข้าถึง Gemini APIs จาก Google AI Studio
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 }
}