자동 라우팅 벤치마크: 비용 사다리

자동 라우팅 벤치마크: 비용 사다리 (Auto Routing Benchmark: Cost Ladders)

이 벤치마크는 LiteLLM 라우팅 전략이 응답 품질을 유지하면서 비용을 얼마나 줄이는지 평가해요. 시맨틱 Auto Router, 규칙 기반 complexity_router, 고정 모델 기준선, 그리고 비용이 매칭된 셔플 대조군을 세 모델 Gemini 3.x 비용 사다리에서 비교해요.

출처: 문서

본문

주요 발견 (Key findings)

  • 시맨틱 Auto Router는 동일한 비용에서 complexity_router보다 더 많은 품질을 보존했어요. 약 58% 절감 시점에서 시맨틱 라우터는 플래그십 대비 46.8% 승률과 82/90의 정확 일치를 달성했어요. 피팅된 complexity_router는 41.5%와 71/90을 기록했어요.
  • 시맨틱 라우터는 셔플 대조군보다 훨씬 더 잘 수행했어요. complexity_router는 그렇지 않았어요.
  • 규칙 기반 complexity 점수는 저렴한 모델이 수용 가능한 답변을 만들어낼 때를 예측하지 못했어요.
  • 이 사다리에서 중간 모델은 저렴한 모델보다 비용이 14.1배 더 들면서도 더 나쁜 결과를 만들어냈어요. 따라서 모델 티어 선택이 라우터 선택만큼이나 중요했어요.

벤치마크 설계 (Benchmark design)

평가 데이터셋 (Evaluation dataset)

평가에는 세 가지 범주에 걸친 300개의 프롬프트가 사용됐어요:

카테고리 프롬프트 소스
채팅 (Chat) 120 WildChat-1M
검증 가능한 추론 (Verifiable reasoning) 90 MATH-500 레벨 4, 5 + MMLU-Pro
코드 (Code) 90 BigCodeBench

모든 구성 및 임계값 피팅 결정에는 별도의 100개 프롬프트 훈련 세트가 사용됐어요. 훈련과 평가 프롬프트는 서로 겹치지 않는 인덱스 범위에서 왔어요.

응답 생성 및 채점 (Response generation and scoring)

세 모델 각각이 온도 0에서 평가 프롬프트당 하나의 응답을 생성해 고정된 3 x 300 응답 행렬을 만들었어요. 모든 라우팅 전략은 이 동일한 행렬에서 선택했어요. 이 설계는 전략들을 정확히 짝지어, 생성 샘플링이 비교에 영향을 주지 못하게 해요.

품질은 두 가지 방식으로 측정됐어요:

  • 다른 공급자 제품군의 모델이 올플래그십 기준선에 대해 블라인드 쌍별 비교를 수행했어요. 각 쌍은 양쪽 응답 순서로 판정됐고, 상충되는 판정은 동점으로 기록됐어요.
  • 90개의 검증 가능한 추론 프롬프트는 LLM 판정자 없이 기계적 정확 일치로 채점됐어요.
  • 보고된 비용에는 선택된 모델의 입력, 출력, 그리고 thinking 토큰이 포함돼요.

결과 (Results)

전략 플래그십 대비 승률 95% CI 비용 플래그십 대비 절감 정확 일치
올 플래그십 (기준선) 50.0% $9.32 0 82/90
Semantic Auto Router, threshold 0.3 48.2% [45.8%, 50.5%] $4.893 47.5% 82/90
Semantic Auto Router, threshold 0.2 46.8% [44.0%, 49.5%] $3.894 58.2% 82/90
올 저렴 (All cheap) 43.7% [40.0%, 47.5%] $0.24 97.4% 81/90
complexity_router, 피팅됨 41.5% [38.0%, 45.0%] $3.889 58.3% 71/90
complexity_router, 기본값 39.8% [36.0%, 43.7%] $2.053 78.0% 76/90
셔플 대조군 (Shuffled control) 39.2% [35.7%, 42.7%] $3.784 59.4% 68/90

50% 승률은 해당 전략이 올플래그십 기준선과 구별할 수 없음을 의미해요. 동점은 절반 승으로 계산돼요.

비용 매칭 비교 (Comparison at matched cost)

가장 명확한 비교는 약 58% 절감을 달성한 두 전략 간의 비교예요:

전략 절감 플래그십 대비 승률 정확 일치
Semantic Auto Router, threshold 0.2 58.2% 46.8% 82/90
complexity_router, 피팅됨 58.3% 41.5% 71/90

사실상 동일한 비용에서 시맨틱 라우터는 승률이 5.3%포인트 높았고 검증 가능한 프롬프트를 11개 더 정확하게 답했어요.

라우팅 결정이 가치를 더하는가? (Does the routing decision add value?)

셔플 대조군은 피팅된 complexity_router의 정확한 티어 개수를 사용하되, 고정 시드로 그 티어들을 프롬프트에 무작위로 배정해요. 따라서 비용은 구성상 유사해요. 라우터를 이 대조군과 비교하면, 라우팅 결정이 저렴·비싼 모델의 전반적 혼합 이상으로 가치를 더하는지 검증할 수 있어요.

셔플 대조군과 비교했을 때:

  • 시맨틱 라우터는 threshold 0.3에서 승률을 9.0포인트 향상시켰어요. 95% 신뢰구간은 [+5.3, +12.7].
  • 시맨틱 라우터는 threshold 0.2에서 승률을 7.7포인트 향상시켰어요. 95% 신뢰구간은 [+3.8, +11.5].
  • 피팅된 complexity_router는 승률을 2.3포인트 향상시켰어요. 95% 신뢰구간은 [-0.2, +4.8].
  • 기본 complexity_router는 승률을 0.7포인트 향상시켰어요. 95% 신뢰구간은 [-2.5, +3.8].

두 시맨틱 라우터 신뢰구간 모두 0을 제외해요. 두 complexity_router 신뢰구간 모두 0을 포함해요. 이 평가에서 시맨틱 라우팅은 측정 가능한 가치를 더했지만, 규칙 기반 complexity 라우팅은 그렇지 않았어요.

complexity 점수가 부진했던 이유 (Why the complexity score underperformed)

훈련 프롬프트는 플래그십과 저렴한 응답을 비교해 저렴한 응답이 더 나빴던 사례를 식별해 라벨링됐어요. 그런 다음 complexity 점수가 그 라벨들의 예측 변수로 평가됐어요.

ROC 곡선 아래 면적(AUC)은:

  • 전체 훈련 세트에서 0.524로, 무작위에 가까워요.
  • 채팅 프롬프트에서 0.420으로, 약간 반전된 예측을 나타내요.

저렴한 모델로 충분했던 프롬프트와 그렇지 않았던 프롬프트의 평균 complexity 점수는 소수점 셋째 자리까지 동일했어요. 테스트한 어떤 임계값도 "저렴한 모델이 항상 충분할 것"이라고 예측하는 것보다 나은 성능을 내지 못했어요.

기본 점수 가중치는 코드, 명시적 추론 마커 같은 특징을 강조해요. 이런 특징은 프롬프트의 유형을 설명하지만, 저렴한 모델이 성공적으로 답할 수 있는지 예측하지는 못했어요. 이 평가에서:

  • 채팅 프롬프트의 97%가 가장 저렴한 티어에 배정됐어요.
  • 코드 프롬프트의 97%가 중간 티어에 배정됐어요.
  • 저렴한 모델은 검증 가능한 추론 프롬프트의 90%에서 충분했지만, 채팅 프롬프트에서는 50%만 충분했어요.

이 결과는 같은 제품군의 비용 사다리에 적용돼요. 여기서는 모든 모델이 모든 요청을 시도할 수 있고, 라우팅 결정은 주로 저렴한 모델이 충분한지 여부예요. 서로 다른 능력을 가진 모델 간 라우팅은 별개의 사용 사례예요.

라우터를 튜닝하기 전에 모델 티어를 검증하세요 (Validate the model tiers before tuning the router)

중간 티어 gemini-3-flash-preview는 리스트 가격 기준으로 유용한 가격-품질 절충을 제공할 것으로 보였어요. 측정된 성능은 그 가정을 뒷받침하지 않았어요:

지표 gemini-3-flash-preview gemini-3.1-flash-lite
상대 비용 Flash-Lite 비용의 14.1배 기준선
플래그십 대비 승률 37.5% 43.7%
정확 일치 63/90 81/90

이 모델들 중 정확히 하나만 정확히 답한 프롬프트에서 Flash-Lite가 20 대 2로 이겼어요. 중간 티어는 이 데이터셋에서 유용한 비용-품질 절충을 제공하지 못했어요.

Thinking 토큰이 예상치 못한 비용의 상당 부분을 설명해요. gemini-3-flash-preview는 981,308개의 thinking 토큰을 생성했는데, 플래그십은 581,883개였어요. 결과적으로 리스트 가격의 4배 출력 이점이 측정 비용 이점은 2.7배에 그쳤어요. Flash-Lite는 thinking 토큰을 생성하지 않았고 플래그십보다 37배 저렴했는데, 리스트 가격이 제시한 8배 차이와 대조됐어요.

complexity_router 구성 모두 대부분의 프롬프트를 성능이 낮은 중간 티어로 보냈어요. 라우터를 튜닝하기 전에 대표 트래픽에서 각 후보 모델을 측정하고, 비용 계산에 thinking 토큰 요금을 포함하세요.

라우팅 전략 선택하기 (Choosing a routing strategy)

한 모델 제품군 안의 비용 사다리라면:

  • 시맨틱 Auto Router로 시작하세요.
  • 저렴한 모델이 충분한 시점을 보여주는 라벨링된 예제로 라우트를 구축하세요.
  • 프로덕션 트래픽을 대표하는 보류된 훈련 세트에서 score_threshold를 피팅하세요.
  • 명시적 품질·절감 목표를 기준으로 임계값을 선택하세요.

score_threshold는 라우터가 auto_router_default_model로 폴백하는 시점을 제어해요:

  • 0.3에서 라우터는 프롬프트의 52%를 플래그십으로 보내고, 47.5% 절감하며, 48.2% 승률을 달성했어요.
  • 0.2에서 프롬프트의 38%를 플래그십으로 보내고, 58.2% 절감하며, 46.8% 승률을 달성했어요.

낮은 임계값은 절감률을 10.7%포인트 높이고 승률을 1.4포인트 낮췄어요. 어떤 설정도 45% 승률 하한과 50% 절감 목표를 95% 신뢰도로 모두 충족하지 못했어요: threshold 0.3은 절감 목표를 놓쳤고, threshold 0.2의 승률 하한은 44.0%였어요.

평가 세트에서 임계값을 튜닝하지 마세요. 그러면 보고된 결과에 과적합되어 프로덕션 성능의 타당한 추정치가 제공되지 않아요.

제한사항 (Limitations)

이 벤치마크는 하나의 공급자 제품군, 하나의 세 모델 사다리, 하나의 300개 프롬프트 평가 세트, 하나의 판정 모델을 다뤄요. 추가 제한사항:

  • 판정자는 응답 순서가 뒤집혔을 때 쌍의 32%에서 자기 자신과 의견이 달랐어요. 이런 불일치는 동점으로 기록되어 결과가 50% 쪽으로 움직였어요.
  • 판정자 결정은 검증 가능한 하위 집합에서 기계적 정답과 90% 일치했어요.
  • 코드 응답은 판정됐지만 실행되지는 않았어요.
  • 결과는 이 특정 모델 사다리와 데이터셋을 측정해요. 다른 모델과 프로덕션 워크로드는 다른 비용-품질 절충을 만들어낼 수 있어요.

다른 배포를 평가할 때는 정확한 백분율보다 방법론을 사용하세요: 하나의 짝지어진 응답 행렬 생성, 별도 훈련 세트 준비, 비용 매칭 셔플 대조군 포함, thinking 토큰 집계, 그리고 라우터 평가 전에 품질·절감 요건 정의하기.