Calibration set size for LLM-as-judge: when 50 traces is enough and when 200 is mandatory

개요

LLM-as-judge 모델의 성능을 검증하기 위한 사람 레이블 기반 보정 세트 크기는 고정된 값이 아니라 레이블의 균형 정도에 따라 달라져야 합니다.

주요 내용

* Cohen's kappa의 민감성: Cohen's kappa는 두 평가자(사람과 LLM) 간의 일치도를 측정하며, 확률을 보정합니다. kappa 공식에서 분모는 각 클래스에 대한 레이블의 주변 분포(marginals)에 따라 달라지는데, 클래스가 불균형할수록 분모가 0에 가까워져 kappa 값이 불안정해집니다. 즉, 소수 클래스의 비율이 낮을수록 동일한 정확도(observed agreement)를 달성하기 위해 더 많은 데이터가 필요합니다.
* 50개의 트레이스가 충분한 경우: 레이블 기준이 이진적이고 대략적으로 균형이 잡혀 있으며(각 클래스가 30% ~ 70% 범위), 희귀하지만 중요한 예외 클래스가 없는 경우 50개의 계층화된(stratified) 트레이스로도 Cohen's kappa의 신뢰 구간을 허용 가능한 수준으로 좁힐 수 있습니다.
* 200개 이상의 트레이스가 필수적인 경우: 드물지만 심각한 결과를 초래하는 클래스(예: 안전 위반이 6%를 차지하는 경우)가 존재할 때는 50개의 트레이스로는 부족합니다. 이 경우 최소 200개 이상의 트레이스를 확보해야 희귀 클래스에 대한 추정치의 분산이 허용 가능한 범위 내로 유지됩니다. 소수 클래스 데이터 포인트 수를 기준으로 필요한 총 트레이스 수를 결정해야 합니다.
* Wilson 구간의 유용성: 소규모 샘플에서 클래스별 정밀도(precision) 및 재현율(recall)을 추정할 때, 소수 클래스가 적은 경우 일반 근사 방법은 부적절합니다. Wilson 구간은 이러한 경우에도 0과 1 사이의 유효한 신뢰 구간을 제공하며, 특히 비율이 0 또는 1에 가까울 때 더 정확합니다.
* 계층화 샘플링의 중요성: 보정 세트의 레이블 분포가 실제 운영 환경(production)의 분포와 유사하게 유지되도록 계층화 샘플링을 적용해야 합니다. 시간 창(time windows)이나 기타 주변 분포를 변경하는 공변량(covariate)을 기준으로 계층화하고, 각 계층 내에서 비례적으로 샘플링하며, 희귀 클래스는 초과 샘플링하여 각 창 내에서 충분한 수를 확보해야 합니다. 이는 운영 환경의 데이터 드리프트(drift)를 감지하는 데 도움이 됩니다.
* Python 코드 제공: Cohen's kappa 계산, Wilson 구간 계산, kappa의 bootstrap 기반 신뢰 구간 계산을 위한 Python 코드가 제공됩니다.

시사점

LLM-as-judge 모델의 신뢰도를 평가하기 위한 보정 세트의 크기는 평가하려는 클래스의 분포 균형성, 특히 희귀 클래스의 존재 여부에 따라 동적으로 결정되어야 하며, 이를 위해 계층화 샘플링과 Wilson 구간과 같은 통계적 기법을 활용하는 것이 중요합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions