evalkit은(는) 무엇을 하나요?
LLM을 올바르게 평가하세요 — 신뢰 구간, 편향 없는 pass@k, 유의성 검정, 편향 제어 LLM-as-judge, 오염 검사. numpy 통계 코어 기반의 드롭인 에이전트 스킬이며, 실제 결과와 검증되었습니다.
- 신뢰 구간: 부트스트랩 및 정규 근사를 통해 추정의 불확실성을 정량화합니다.
- 편향 없는 pass@k: 샘플링 편향을 보정한 pass@k 추정치를 계산합니다.
- 유의성 검정: 모델 간 성능 차이가 통계적으로 유의미한지 확인합니다.
- 편향 제어 LLM-as-judge: LLM 기반 평가자의 위치 및 순서 편향을 완화합니다.
- 오염 검사: 학습 데이터와 평가 데이터 간의 유사성을 탐지합니다.
- 드롭인 에이전트 스킬: 별도의 설정 없이 에이전트 워크플로에 바로 통합 가능합니다.
- numpy 통계 코어: 경량화된 numpy 기반 통계 엔진으로 빠른 실행과 검증된 정확성을 제공합니다.
사용법
에이전트 환경에서 다음 명령어로 스킬 파일을 추가하세요:
# 예시: Claude Code에 스킬 추가
claude add-skill azrabano23/evalkit
기능
다음 핵심 평가 기능을 제공합니다:
| 기능 | 설명 |
|---|---|
evalkit.confidence_interval | 부트스트랩 또는 정규 근사 신뢰 구간 계산 |
evalkit.pass_at_k | 편향 없는 pass@k 추정 (Chen et al., 2021 방법) |
evalkit.significance_test | 모델 간 유의성 검정 (McNemar 또는 부트스트랩) |
evalkit.llm_judge | 편향 제어 LLM-as-judge 평가 |
evalkit.contamination_check | 데이터 오염 검사 |
예제
신뢰 구간 계산
import evalkit
scores = [0.85, 0.82, 0.88, 0.91, 0.79]
ci = evalkit.confidence_interval(scores, method='bootstrap', n_resamples=1000, ci_level=0.95)
print(ci)
# 출력: {'lower': 0.81, 'upper': 0.89, 'mean': 0.85}
편향 없는 pass@k
results = [True, False, True, True, False, True, True, True, False, True]
pk = evalkit.pass_at_k(results, k=5)
print(pk)
# 출력: 0.75
유의성 검정
model_a = [0.8, 0.7, 0.9, 0.75, 0.85]
model_b = [0.82, 0.72, 0.88, 0.78, 0.83]
p_value = evalkit.significance_test(model_a, model_b, test='mcnemar')
print(p_value)
# p-값이 0.05 미만이면 유의미한 차이
라이선스
MIT