벤치마크 · coding

BigCodeBench

0 결과 0 모델

BigCodeBench는 1,140개의 실제 프로그래밍 과제로 구성된 Python 코드 생성 벤치마크로, 각 과제는 여러 라이브러리 호출을 조합해야 합니다. 채점은 실행 기반 Pass@1, 즉 생성된 해답이 모든 단위 테스트를 통과한 과제의 비율입니다.

자세히 보기
예시
전형적인 과제는 함수 시그니처와 상세한 docstring을 제공합니다. 예를 들어 'CSV를 불러오고, pandas로 그룹별 요약 통계를 계산한 뒤, matplotlib로 막대 그래프를 그려라' 같은 식으로, 여러 라이브러리 호출을 올바르게 연결하는 함수 본문을 모델이 작성하게 합니다.
채점 방식
지표는 보정된 Pass@1이며 보통 그리디 디코딩을 사용합니다. 생성된 각 프로그램을 샌드박스에서 과제의 단위 테스트에 대해 실행하고, 모든 테스트를 통과해야만 해결로 간주하며, 점수는 해결된 과제의 백분율입니다. 보고되는 분할은 Complete(docstring으로 골격이 잡힌 함수 완성)와 Instruct(자연어 지시만 제공) 두 가지이며, 148개 과제로 이루어진 Hard 서브셋도 있습니다.
검증 방식
승인은 전적으로 실행으로 이루어집니다. 해답은 격리된 환경에서 실행될 때 과제의 손으로 작성한 모든 단위 테스트(과제당 약 5.6개, 평균 분기 커버리지 약 99%)를 통과해야 합니다. 부분 점수도 없고 참조 텍스트와의 대조도 없습니다.
왜 중요한가
HumanEval 같은 단일 함수의 짧은 벤치마크와 달리, BigCodeBench는 모델이 복잡한 지시를 따르고 139개 라이브러리와 7개 도메인에 걸친 다양한 실제 API를 올바르게 사용할 수 있는지를 검증하며, 이는 실무 소프트웨어 작업을 더 잘 반영합니다. Instruct 분할과 Hard 서브셋은 지시 준수와 도구 조합을 한층 더 압박합니다.
예제 풀이
문제
```python import pandas as pd import numpy as np def task_func(df, column): """ DataFrame의 주어진 숫자 열을 평균 0, 분산 1로 표준화하고, 수정된 DataFrame을 반환한다. Requirements: - pandas - numpy Parameters: df (pd.DataFrame): 입력 데이터. column (str): 표준화할 숫자 열의 이름. Returns: pd.DataFrame: 해당 열이 표준화된 DataFrame. Example: >>> df = pd.DataFrame({'a': [1, 2, 3, 4, 5]}) >>> round(task_func(df, 'a')['a'].mean(), 5) 0.0 """ ```
해답
```python
    df[column] = (df[column] - np.mean(df[column])) / np.std(df[column])
    return df
```
풀이
열의 평균을 빼고 모집단 표준편차(np.std, ddof=0)로 나누면 값이 평균 0, 분산 1로 재조정되어 docstring과 그 doctest(평균이 0.0으로 반올림됨)를 만족하며, 필요한 두 라이브러리를 모두 사용합니다. 채점은 실행 기반입니다: BigCodeBench는 완성된 함수를 과제의 숨겨진 유닛 테스트로 실행하고 모든 테스트가 통과할 때만 Pass@1을 부여합니다.

이 벤치마크에 대해 아직 검증된 점수가 없습니다.