안정적인 집계(Aggregate)가 안정적인 측정(Measurement)을 의미하지는 않는다
요약
LLM 벤치마크 측정 시 총점(Aggregate)의 안정성이 개별 항목의 일관성을 보장하지 않음을 경고합니다. 총점이 비슷하더라도 개별 항목의 변동성이 클 경우 모델 간의 실제 성능 차이를 노이즈로 인해 오판할 위험이 있습니다.
핵심 포인트
- 총점의 안정성이 개별 항목의 결정론적 동작을 의미하지 않음
- 항목 간 변동이 상쇄되어 총합이 일정하게 유지될 수 있음
- 모델 비교 시 노이즈가 성능 차이(Gap)보다 크면 순위가 뒤바뀔 수 있음
- 정확한 비교를 위해 총합뿐만 아니라 항목별 일관성 확인 필요
우리는 자체 운영 시스템(Production system)을 대상으로 동일한 벤치마크를 다섯 번 실행했고, 800점 만점에 752, 750, 750, 749, 749라는 결과를 얻었습니다.
이는 다섯 번의 실행 동안 단 3개의 항목 차이가 발생했다는 뜻입니다. 0.5% 미만의 차이입니다. 만약 당신이 이 다섯 개의 숫자를 보았다면, 측정값이 본질적으로 결정론적(Deterministic)이라고 결론짓고 평균값을 인용한 뒤 다음 단계로 넘어갔을 것입니다. 저도 거의 그렇게 할 뻔했습니다.
하지만 실행 결과들을 항목별로 하나씩 비교해 보았더니, 800개 항목 중 38개의 답변이 실행 간에 바뀌어 있었습니다. 3개가 아니라 38개였습니다. 이는 전체 세트의 4.8%에 해당합니다.
변동 사항들이 서로 상쇄되었기 때문에 총합은 거의 변하지 않았습니다. 실행 1에서 맞고 실행 3에서 틀린 항목은 합계(Sum)에서는 보이지 않으며, 양방향으로 충분한 수의 변동이 있었기에 집계(Aggregate) 값은 매번 거의 동일하게 나왔습니다. 숫자는 안정적이었습니다. 하지만 그 밑에 있는 측정(Measurement)은 안정적이지 않았습니다.
다섯 번의 실행이 실제로 보여준 것
동일한 800개의 고정 항목, 동일한 설정, 동일한 채점자(Scorer), 그리고 처음부터 끝까지 1시간 30분의 간격을 두고 운영 경로(Production path)를 다섯 번 별도로 통과했습니다. Temperature는 0이었으며, 사람들은 이를 결정론적(Deterministic)인 의미로 기대하는 것이 합리적입니다. 하지만 그렇지 않습니다.
다섯 번의 실행 전체에 걸쳐 항목들이 어떻게 행동했는지에 따라 800개를 분류하면 다음과 같습니다:
다섯 번 모두 정답 730 91.2%
다섯 번 모두 오답 32 4.0%
최소 한 번 변경됨 38 4.8%
그리고 두 실행 간에 서로 일치하지 않는 항목을 계산한 쌍별(Pairwise) 관점은 다음과 같습니다:
실행 쌍(run pair) 1-2 1-3 1-4 1-5 2-3 2-4 2-5 3-4 3-5 4-5
항목 수(items) 16 22 19 21 20 23 17 21 17 16
비율 (%) 2.00 2.75 2.38 2.62 2.50 2.88 2.12 2.62 2.12 2.00
가장 극명한 예시는 가장 많이 불일치하는 쌍입니다. 실행 2와 4는 23개의 항목에서 차이가 납니다. 하지만 총합은 단 1개 차이입니다. 만약 제가 이 두 번의 실행만 수행했다면, 시스템이 단 하나의 항목 오차 범위 내에서 재현된다고 기록했을 것이고, 실제로는 23배나 틀린 결론을 내렸을 것입니다.
무언가를 비교하고 있다면 이것이 중요한 이유
무언가를 비교하고 있다면 이것이 중요한 이유
우리가 신경 써야 하는 이유는 학문적인 문제가 아닙니다. 제가 작성한 글을 포함하여 읽는 거의 모든 모델 비교가 두 개의 총합(totals) 간의 차이이기 때문입니다.
만약 측정값에 주어진 항목 중 임의의 하나를 동일한 실행(run) 사이에서 바꿀 확률이 2.88%라면, 그 총합이 대략 이 확률의 두 배보다 적게 차이나는 두 시스템은 당신이 수행한 실행으로는 구별할 수 없습니다. 간극(gap)은 노이즈(noise)를 극복해야 하며, 측정하지 않고서는 노이즈를 알 수 없습니다.
우리는 처음에는 당황스러운 방식으로 이것을 배웠습니다. 이전에 우리는 세 가지 모델 비교를 두 번, 한 시간 간격을 두고 동일한 프롬프트와 온도 0으로 실행했습니다. 첫 번째 실행(run one)에서 첫 번째로 나온 모델은 두 번째 실행(run two)에서는 세 번째가 되었고, 세 번째였던 모델이 첫 번째가 되었습니다. 그 차이는 약 1~2점 정도였습니다. 노이즈가 간극보다 더 컸습니다. 우리는 순위표를 가지고 있었는데, 그것은 동전 던지기나 마찬가지였습니다.
저렴한 해결책: 추가 실행 한 번 하기
통계 장비는 필요 없습니다. 동일한 항목에 대한 두 번째 통과(pass)가 필요합니다.
- 동일한 항목으로 벤치마크를 두 번 실행하세요. 아무것도 바꾸지 마세요.
- 답변이 바뀐 항목을 세세요. 그 비율이 당신의 노이즈 플로어(noise floor)입니다. 저희의 경우 이 워크로드에서 2.88%였습니다.
- 간극이 대략 두 배의 플로어를 극복하지 못하는 비교는 거부하세요.
누가 더 높은 점수를 받았는지가 아니라, 어떤 항목에서 의견이 일치하지 않는지를 보고하십시오. 저희가 모델들을 총합(total)이 아닌 태스크(task)별로 비교했을 때, 순위(ranking)는 일정하지 않았음에도 불구하고 분할(partition)은 실행(run) 전반에 걸쳐 안정적이었습니다. 즉, 우연에 의해 발생할 확률보다 훨씬 더 자주 동일한 문제들이 매번 논쟁의 대상으로 나타났습니다. 시스템이 어떤 문제를 틀리는지는 시스템의 속성입니다. 총점에서 누가 더 높은 점수를 받았는지는 그날 오후의 속성일 뿐입니다.
이는 실제로 무언가를 구축하는 사람들에게도 더 유용한 발견입니다. 리더보드(leaderboard) 순위는 무엇을 선택해야 할지를 알려줍니다. 하지만 분할(partition)은 하나를 선택하는 것만으로는 충분하지 않은 지점이 어디인지를 알려줍니다.
불편한 부분
저희의 수치가 어떤 상태에 놓여 있는지에 대해 솔직해지고 싶습니다. 왜냐하면 이것을 타인을 위한 교훈으로 발표하는 것이 편리할 수도 있기 때문입니다.
이 원칙은 저희에게도 적용됩니다. 단일 실행(single run)에서 인용한 모든 벤치마크(benchmark) 결과는 명시되지 않은 불확실성을 가진 숫자이며, 과거에 저희가 흥미롭다고 생각했던 차이점 중 일부는 방금 측정한 플로어(floor) 범위 안에 있습니다. 2.88%라는 수치는 타인의 평가에 관한 결과가 아닙니다. 그것은 저희 평가의 오차 막대(error bar)이며, 저희는 이번 주 전까지는 이를 알지 못했습니다.
5번의 실행에는 약 2시간의 시간과 몇 달러의 비용이 들었습니다. 그 비용으로 얻은 것은 더 높은 점수가 아니었습니다. 점수 중 얼마만큼이 실제(real)인지 아는 것이었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기