pass@k 계산기
입력
| 표본당 성공률 | 40 % |
|---|---|
| 표본 수 | 10 |
pass@k 계산기
코드 및 추론 평가를 위한 pass@k를 계산합니다. 표본당 성공률로부터 모델이 독립적으로 뽑은 k개의 표본 중 적어도 하나가 문제를 푸는 확률을 구합니다.
입력
표본 추출
결과
값을 입력하면 계산 결과가 표시됩니다.
세부 정보
pass@k
pass@k는 후보 답을 자동으로 검사할 수 있는 과제에서 언어 모델을 채점하는 표준 방식이며, 가장 잘 알려진 사례는 각 시도가 테스트 스위트를 통과하거나 통과하지 못하는 코드 생성입니다. 단 하나의 답이 맞는지 묻는 대신, pass@k는 k번의 시도 가운데 어느 하나라도 맞는지를 묻습니다. 이 계산기는 모델의 표본당 성공률을 pass@k로 변환하므로, 한 번 측정한 정확도를 임의의 시도 횟수로 투영할 수 있습니다.
pass@k가 측정하는 것
벤치마크의 각 문제에 대해 모델은 k개의 독립 후보 해답을 생성하며, 적어도 하나의 후보가 통과하면 그 문제를 푼 것으로 집계합니다. pass@k는 그 규칙에 따라 풀린 문제의 비율입니다. pass@1은 평범한 단일 시도 정확도이고, pass@10과 pass@100은 여러 번 시도할 때 모델이 정답에 얼마나 자주 도달하는지를 측정합니다. 이 지표는 테스트 스위트, 컴파일러, 증명 검사기 같은 외부 검증기가 여러 후보 가운데 정답을 알아볼 수 있을 때마다 중요합니다. 그럴 때 추가 시도가 곧바로 더 많이 풀린 문제로 이어지기 때문입니다.
공식
각 표본이 확률 로 독립적으로 성공한다면, 단일 표본은 그 여확률로 실패하고 개의 표본 모두가 확률 로 실패합니다. pass@k는 그 여사건입니다.
Pkqk=1−(1−p)k=(1−p)k여기서 는 pass@k이고 는 모든 시도가 실패할 확률입니다. 전부 실패 확률은 에 따라 기하급수적으로 줄어들며, 그래서 표본당 성공률이 보통 수준이어도 시도가 충분하면 거의 확실에 가까워집니다.
계산 예시
어떤 모델이 코딩 문제를 단일 시도의 40%에서 풀고, 평가가 10개의 표본을 허용한다고 가정합니다.
q10P10=(1−0.4)10=0.610≈0.0060=1−0.0060≈0.994=99.4%표본당 40%의 비율이 pass@10에서는 약 99%가 됩니다. 이 도약은 pass@k 값이 k에 따라 그토록 빠르게 오르는 이유를, 그리고 벤치마크 표가 여러 k 값을 나란히 보고하는 이유를 잘 보여 줍니다. 그 곡선의 모양은 어느 한 점보다 모델에 대해 더 많은 것을 말해 줍니다.
측정 방법
정확히 k개의 표본을 뽑아 pass@k를 추정하면 잡음이 큽니다. HumanEval 같은 벤치마크는 대신 더 큰 집단인 개의 표본을 뽑고 성공한 개를 세어, 불편 추정량 를 사용하며, 개 가운데 개를 고르는 모든 방법에 대해 평균을 냅니다. 여기서 사용한 독립 형태는 를 으로 둘 때 그 추정량과 일치하며, 알려진 성공률을 정해진 시도 예산으로 투영하는 데 적합한 도구입니다. 이 형태는 표본 간 성공이 동일하고 독립이라고 가정합니다. 매우 낮은 온도에서는 표본이 거의 동일해져 더 뽑아도 거의 도움이 되지 않습니다. 안정적인 추정을 위해 평가에 몇 개의 문제가 필요한지 계획하려면 LLM 평가 표본 크기 계산기를 참고하십시오.
자주 묻는 질문 (FAQ)
pass@k란 무엇입니까?
pass@k는 코드 생성을 비롯한 표본 추출 후 검사 방식 평가의 표준 지표입니다. 각 문제에 대해 모델은 k개의 후보 해답을 생성하며, 적어도 하나의 후보가 테스트를 통과하면 그 문제를 푼 것으로 집계합니다. pass@k는 그 규칙에 따라 풀린 문제의 비율입니다. pass@1은 단일 시도 정확도를 반영하고, pass@10이나 pass@100은 여러 번 시도할 때 모델이 문제를 얼마나 자주 풀 수 있는지를 측정합니다. 이는 테스트 스위트나 검증기 같은 외부 검사기가 여러 답 가운데 정답을 골라낼 수 있을 때 의미가 있습니다.
이 공식은 표본이 독립이라고 가정합니까?
그렇습니다. 1에서 (1에서 p를 뺀 값)의 k제곱을 뺀 식은 k개의 표본 각각이 동일한 확률 p로 독립적으로 성공한다고 가정합니다. 이는 표본이 다양해지도록 0이 아닌 온도에서 뽑을 때 잘 성립합니다. 표본이 거의 동일해져 더 뽑아도 거의 도움이 되지 않는 매우 낮은 온도에서는, 그리고 문제 난이도가 달라서 하나의 평균 p가 쉬운 문제와 어려운 문제의 혼합을 가릴 때는 성립하지 않습니다. 측정한 비율을 다른 k로 투영할 때 독립 형태는 좋은 1차 근사입니다.
실제로 pass@k는 어떻게 측정합니까?
문자 그대로 k개의 표본을 뽑아 pass@k를 추정하면 잡음이 큽니다. HumanEval 같은 벤치마크는 대신 더 많은 수 n개의 표본을 뽑고 성공한 c개를 세어, 불편 추정량 pass@k = 1 − C(n−c, k) / C(n, k)를 사용합니다. 여기서 C는 이항 계수입니다. 이는 n개 가운데 k개를 고르는 모든 방법에 대해 평균을 내므로 훨씬 더 안정적인 값을 줍니다. 이 계산기는 더 간단한 독립 형태를 사용하며, p를 c/n으로 두면 그 추정량과 일치하고, 알려진 성공률을 정해진 시도 예산으로 투영하는 데 적합합니다.
면책조항
독립 형태는 표본당 성공 확률이 동일하고 독립이라고 가정합니다. 실제 표본은 낮은 온도에서 상관되고 문제마다 난이도가 다르므로, 측정한 pass@k는 다를 수 있습니다. 벤치마크 결과를 보고할 때는 큰 표본 집단과 불편 추정량을 사용하십시오.