벤치마크 · coding

CRUXEval

0 결과 0 모델

CRUXEval(Code Reasoning, Understanding, and eXecution Evaluation)은 800개의 짧은 Python 함수로 모델이 코드 실행을 얼마나 잘 추론하는지를 측정합니다. 두 가지 과제——주어진 출력을 내는 입력을 예측하기, 주어진 입력에 대한 출력을 예측하기——로 구성되며 pass@1 기능적 정확성으로 채점됩니다.

자세히 보기
예시
짧고 자체 완결적인 Python 함수가 제시됩니다. 출력 예측에서는 모델에 특정 입력이 주어지고 함수가 반환하는 정확한 값을 말해야 하며, 입력 예측에서는 출력이 주어지고 그것을 재현하는 임의의 입력을 제시해야 합니다.
채점 방식
지표는 pass@1이며(표준 무편향 추정량으로 pass@k도 보고됨), 모델은 문제마다 하나 이상의 답을 생성하고 각 답은 함수를 실행해 검증되며, 점수는 800문제 중 푼 비율입니다. CRUXEval-I(입력)와 CRUXEval-O(출력)에 대해 따로 보고됩니다.
검증 방식
모든 예측은 문자열 일치가 아니라 실행으로 검증됩니다. 출력 답은 함수의 실제 반환값과 같을 때만 인정되고, 입력 답은 함수에 넣었을 때 실제로 목표 출력을 낼 때만 인정되므로, 원래 입력뿐 아니라 유효한 입력이면 무엇이든 됩니다.
왜 중요한가
실행 동작을 예측하는 것은 코드 추론을 코드 작성과 분리합니다——모델은 그럴듯한 코드를 생성해도 그것이 실제로 무엇을 하는지 추적하지 못할 수 있습니다. 함수들은 단순하고 자체 완결적이어서 CRUXEval을 이 능력에 대한 깔끔한 검사로 만들며, 두 방향은 순방향(출력)과 역방향(입력) 추론을 모두 시험합니다.
예제 풀이
문제
def f(nums): result = [] for n in nums: result.append(n * 2) return result assert f([1, 2, 3]) == ?? CRUXEval-O(출력 예측): ?? 를 f가 반환하는 값으로 바꾸세요.
해답
[2, 4, 6]
풀이
루프가 [1, 2, 3]의 각 요소를 두 배로 만들어 [2, 4, 6]을 생성합니다. 채점은 assert f([1, 2, 3]) == [2, 4, 6]을 실행하고 그 어서션이 통과할 때만 답을 인정합니다.

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