벤치마크 · coding

HumanEval+

saturated 1 결과 1 모델

HumanEval+는 OpenAI의 코드 생성 벤치마크 HumanEval을 엄격하게 확장한 버전입니다. 손으로 작성된 원래의 164개 Python 프로그래밍 문제를 그대로 유지하되 (EvalPlus 프레임워크를 통해) 약 80x 더 많은 테스트 케이스를 추가하며, pass@k 지표(대개 pass@1)로 채점합니다.

자세히 보기
예시
각 항목은 원하는 동작을 설명하는 Python 함수 시그니처와 자연어 docstring(대개 doctest 예제 포함)을 제공하며(예: '임계값보다 엄격히 큰 리스트 요소를 순서대로 반환'), 모델은 이를 구현하는 함수 본문을 생성해야 합니다.
채점 방식
지표는 pass@k입니다. 각 문제에 대해 n >= k개의 완성을 샘플링하고 그중 c개가 모든 테스트를 통과하며, 불편 추정량 pass@k = 1 - C(n-c, k) / C(n, k)를 164개 문제에 대해 평균 냅니다(가장 많이 보고되는 것은 pass@1). 완성은 확장된 전체 테스트 스위트를 통과해야만 인정되므로, HumanEval+ 점수는 일반 HumanEval보다 낮게 나옵니다.
검증 방식
각 완성은 시간 및 메모리 제한 하에서 격리된 샌드박스에서 확장 테스트 스위트에 대해 실행되며, 모든 테스트 케이스(원래 테스트와 EvalPlus가 생성한 입력)를 통과할 때만 인정됩니다. 부분 점수는 없습니다. 하나라도 실패하거나 시간 초과되면 샘플 전체가 불합격입니다.
왜 중요한가
HumanEval의 원래 테스트는 희소하여 미묘하게 틀린 해답이 통과해 보고된 합격률을 부풀립니다. HumanEval+의 약 80x 더 촘촘한 테스트는 이러한 거짓 양성을 드러내고 모델 순위를 재편하여, 코드 생성 모델에 대한 표준적이면서도 더 엄격한 정확성 검증이 됩니다.
예제 풀이
문제
HumanEval+ 스타일의 대표 항목 — docstring과 doctest가 있는 타입 지정 Python 시그니처로, 모델은 함수 본문을 완성해야 합니다: ```python from typing import List def above_threshold(numbers: List[float], threshold: float) -> List[float]: """Return the numbers from the input list that are strictly greater than the given threshold, preserving their original order. >>> above_threshold([1.0, 5.5, 2.3, 8.0], 3.0) [5.5, 8.0] """ ```
해답
```python
from typing import List

def above_threshold(numbers: List[float], threshold: float) -> List[float]:
    return [n for n in numbers if n > threshold]
```
풀이
이 리스트 컴프리헨션은 임계값보다 엄격히 큰 요소만 정확히 유지하고 입력 순서를 보존하여 명세와 doctest([5.5, 8.0])를 만족합니다. 채점은 이를 전체 HumanEval+ 스위트 — 빈 리스트, 음수, 모두 같은 값 등 자동 생성된 다수의 경계 사례 — 에 대해 실행하며, 모든 테스트를 통과할 때만 1점을 부여합니다.
0 3.5 7 10.5 14 2026-07-13 Qwen3.5-4B · 13 · 2026-07-13
Qwen3.5-4B
타임라인
날짜 모델 점수 출처
2026-07-13 Qwen3.5-4B 13.0% Flint는 정확도를 유지하면서 추론 추적을 압축하여 토큰 사용량을 줄입니다