본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 15. 10:17

bigcode-project/bigcodebench

요약

BigCodeBench는 LLM의 실질적인 프로그래밍 능력을 평가하기 위해 설계된 새로운 벤치마크입니다. HumanEval보다 복잡한 지시어와 다양한 함수 호출을 포함하며, 실제 소프트웨어 공학 작업에 가까운 환경을 제공합니다.

핵심 포인트

  • 1,140개의 소프트웨어 공학 지향 프로그래밍 태스크 포함
  • 복잡한 지시어와 함수 호출을 통한 실용적 능력 평가
  • 코드 완성(Complete) 및 지시어 기반(Instruct) 두 가지 분할 제공
  • BigCodeBench-Hard를 통해 더욱 도전적인 태스크 평가 가능

💥 영향력 • 📰 뉴스 • 🔥 빠른 시작 • 🚀 원격 평가 • 💻 LLM 생성 코드 • 🧑 고급 사용법 • 📰 결과 제출 • 📜 인용

BigCodeBench는 다음과 같은 많은 LLM 팀들의 신뢰를 받고 있습니다:

  • Zhipu AI
  • Alibaba Qwen
  • DeepSeek
  • Amazon AWS AI
  • Snowflake AI Research
  • ServiceNow Research
  • Meta AI
  • Cohere AI
  • Sakana AI
  • Allen Institute for Artificial Intelligence (AI2)

[2025-01-22] 163개의 모델을 평가한 bigcodebench==v0.2.2.dev2를 출시합니다!
[2024-10-06] bigcodebench==v0.2.0을 출시합니다!
[2024-10-05] Hugging Face space에 공개 코드 실행 API (public code execution API)를 구축했습니다.
[2024-10-01] 현재까지 BigCodeBench-Hard에서 139개의 모델을 평가했습니다. 리더보드 (leaderboard)를 확인해 보세요!
[2024-08-19] 평가의 완전한 재현성 (reproducibility)을 위해 리더보드에 실시간 코드 실행 세션을 추가했습니다. 여기에서 확인할 수 있습니다.
[2024-08-02] bigcodebench==v0.1.9를 출시합니다.

더 많은 뉴스 :: 클릭하여 확장 ::

[2024-07-18] 실제 프로그래밍 작업과 더 밀접하게 연관된 148개의 태스크를 포함하는 BigCodeBench의 하위 집합인 BigCodeBench-Hard를 발표합니다. 자세한 내용은 이 블로그 포스트에서 확인할 수 있습니다. 데이터셋은 여기에서 사용할 수 있습니다. 새로운 릴리스는 bigcodebench==v0.1.8입니다.
[2024-06-28] bigcodebench==v0.1.7을 출시합니다.
[2024-06-27] bigcodebench==v0.1.6을 출시합니다.
[2024-06-19] Hugging Face BigCodeBench 리더보드 (Leaderboard)를 시작합니다! 리더보드는 여기에서 확인할 수 있습니다.
[2024-06-18] 1140개의 소프트웨어 공학 지향 프로그래밍 태스크를 포함하는 코드 생성 (code generation)을 위한 새로운 벤치마크인 BigCodeBench를 출시합니다. 프리프린트 (Preprint)는 여기에서 확인할 수 있습니다. PyPI 패키지는 0.1.5 버전으로 여기에서 사용할 수 있습니다.

BigCodeBench는 해결을 위한 사용하기 쉬운 (easy-to-use) 벤치마크이며

그리고

실용적인 (practical) 작업을 코드를 통해 수행합니다. 이는 보다 현실적인 환경에서 대규모 언어 모델 (LLMs)의 진정한 프로그래밍 능력을 평가하는 것을 목표로 합니다. 이 벤치마크는 HumanEval과 유사한 함수 수준의 코드 생성 (code generation) 작업을 위해 설계되었으나, 훨씬 더 복잡한 지시어 (instructions)와 다양한 함수 호출 (function calls)을 포함합니다.

도전적인 (challenging) BigCodeBench에는 두 가지 분할 (splits)이 있습니다:

Complete
: 이 분할은 포괄적인 독스트링 (docstrings)을 기반으로 한 코드 완성 (code completion)을 위해 설계되었습니다.

Instruct
: 이 분할은 지시어 튜닝 (instruction-tuned) 모델 및 채팅 모델 (chat models) 전용이며, 모델이 자연어 지시어에 기반하여 코드 스니펫 (code snippet)을 생성하도록 요청받습니다. 지시어는 필수적인 정보만을 포함하며, 더 복잡한 추론 (reasoning)을 요구합니다.

BigCodeBench는 다양한 함수 호출 (diverse function calls) 및 *복잡한 지시어 (complex instructions)*를 통한 코드 생성 기반의 작업 자동화에 집중하며, 다음과 같은 특징을 가집니다:


  • 정밀한 평가 및 순위 (Precise evaluation & ranking): 엄격한 평가 전후의 최신 LLM 순위는 리더보드 (leaderboard)를 참조하세요. - ✨
    사전 생성된 샘플 (Pre-generated samples): BigCodeBench는 다양한 모델에 대해 LLM이 생성한 샘플을 오픈 소스로 공개함으로써 코드 지능 연구를 가속화합니다. 즉, 비용이 많이 드는 벤치마크를 다시 실행할 필요가 없습니다!

시작하려면 먼저 환경을 설정해 주세요:

# 기본적으로, 출력 샘플을 실행하기 위해 원격 평가 API (remote evaluation API)를 사용하게 됩니다.
pip install bigcodebench --upgrade
# 코드 샘플 생성을 위해 `flash-attn` 사용을 권장합니다.
...

⏬ nightly 버전 설치 :: 클릭하여 확장 ::

# bigcodebench.generate를 사용하기 위해 설치합니다
pip install "git+https://github.com/bigcode-project/bigcodebench.git" --upgrade

원격 API를 통해 생성된 코드 샘플을 평가하는 방법을 보여주기 위해 탐욕적 디코딩 (greedy decoding)을 예시로 사용합니다.

경고 (Warning)

생성을 용이하게 하기 위해 기본적으로 배치 추론 (batch inference)을 사용합니다. 그러나 배치 추론 결과는 적어도 vLLM 백엔드의 경우 배치 크기 (batch sizes)에 따라, 그리고 버전 (versions)에 따라 달라질 수 있습니다. 탐욕적 디코딩에 대해 더 결정론적인 (deterministic) 결과를 얻으려면 --bs1로 설정하십시오.

참고

gradio 백엔드를 BigCodeBench-Full에서 사용할 경우 보통 6-7분이 소요되며, BigCodeBench-Hard에서는 보통 4-5분이 소요됩니다.

기본 머신을 사용하는 e2b 백엔드의 경우 BigCodeBench-Full에서 보통 25-30분이 소요되며, BigCodeBench-Hard에서는 보통 15-20분이 소요됩니다.

bigcodebench.evaluate \#
--model meta-llama/Meta-Llama-3.1-8B-Instruct \#
--execution [e2b|gradio|local] \#
...
  • 모든 결과 파일은 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이라는 이름의 파일에 저장됩니다.
  • pass@k 결과는 [model_name]--bigcodebench-[instruct|complete]--[backend]-[temp]-[n_samples]-sanitized_calibrated_pass_at_k.json이라는 이름의 파일에 저장됩니다.

참고

gradio 백엔드는 기본적으로 Hugging Face Space에 호스팅됩니다.
기본 Space는 때때로 느릴 수 있으므로, 더 빠른 평가를 위해 bigcodebench-evaluator 엔드포인트를 클론하여 gradio 백엔드를 사용하는 것을 권장합니다.
그렇지 않다면 평가를 위해 e2b 샌드박스를 사용할 수도 있지만, 이 또한 기본 머신에서는 상당히 느립니다.

참고

BigCodeBench는 베이스 모델 (base model)과 채팅 모델 (chat model)에 대해 서로 다른 프롬프트를 사용합니다.
hf / vllm을 백엔드로 사용할 때, 기본적으로 tokenizer.chat_template을 통해 이를 감지합니다.
다른 백엔드의 경우, 채팅 모드 (chat mode)만 허용됩니다.

따라서 사용 중인 베이스 모델에 tokenizer.chat_template이 포함되어 있다면, 채팅 모드로 평가되는 것을 방지하기 위해 --direct_completion을 추가해 주세요.

E2B를 사용하려면 E2B에서 계정을 설정하고 API 키를 받아야 합니다.

export E2B_API_KEY=<your_e2b_api_key>

OpenAI Console에서 OpenAI API에 접속하십시오.

export OPENAI_API_KEY=<your_openai_api_key>

Anthropic Console에서 Anthropic 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>

Hugging Face Serverless Inference API에 접속하십시오.

export HF_INFERENCE_API_KEY=<your_hf_api_key>

사용자의 HF 액세스 토큰(access token)에 Make calls to inference providers 권한이 있는지 반드시 확인하십시오.

저희는 전체 세트(full set)에 대해 평가한 LLM(대규모 언어 모델)으로부터 미리 생성된 코드 샘플을 공유합니다:

  • 저희의 v0.2.4 첨부 파일을 확인하십시오. 사용자의 편의를 위해 sanitized_samples_calibrated.zip을 포함하였습니다.

자세한 내용은 ADVANCED USAGE(고급 사용법)를 참조하십시오.

귀하의 모델을 리더보드(leaderboard)에 기여하고 싶다면, 생성된 코드 샘플과 실행 결과 모두를 terry.zhuo@monash.edu로 이메일로 보내주시기 바랍니다. 파일 이름은 반드시 [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일 이내에 이메일에 응답하지 않을 경우, 이슈(issue)를 등록하여 알려주시기 바랍니다.

@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},
...

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Coding Assistants의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0