AI API 처리량(Throughput)에 관한 데이터 과학자의 노트: 184개 모델, 실제 수치
요약
데이터 과학자가 184개 AI 모델을 대상으로 30일간 직접 수행한 API 처리량 및 비용 벤치마킹 결과입니다. 벤더가 제공하는 이상적인 수치 대신 실제 운영 환경에서의 초당 토큰 수, 지연 시간, 비용 효율성을 통계적으로 분석했습니다.
핵심 포인트
- 벤더의 벤치마크 수치는 이상적 조건에서의 결과로 실제 운영 환경과 차이가 있음
- 184개 모델에 대해 10만 건 이상의 추론 요청을 통해 통계적 유의성 확보
- 모델 가격과 품질 사이의 상관관계가 예상보다 매우 낮음
- 입력 및 출력 토큰당 비용 차이가 모델별로 최대 12.5배까지 발생
AI API 처리량(Throughput)에 관한 데이터 과학자의 노트: 184개 모델, 실제 수치
AI API의 벤치마킹(benchmarking)에 30일을 소비할 계획은 전혀 없었습니다. 이 일은 보통 그렇듯, 우리 엔지니어링 리드(engineering lead)가 왜 한 분기 만에 추론(inference) 비용이 세 배로 뛰었는지 묻는 Slack 메시지를 보내면서 시작되었습니다. 우리의 이전 솔루션은 잘 작동하고 있었습니다. 대시보드(dashboard) 상의 지연 시간(latency)도 수용 가능한 수준이었고, 품질 지표(quality metrics)도 허용 범위 내에 있었습니다. 그런데도 비용은 계속 올라갔습니다. 그래서 저는 약간의 집착이 있는 데이터 과학자라면 누구나 할 법한 일을 했습니다. 벤치마킹 장치(benchmarking rig)를 구축하고, 184개 모델에 대해 실행하여 마케팅 페이지를 믿는 대신 실제 수치를 수집하기 시작했습니다.
다음은 제가 배운 모든 내용이며, 제가 시작하기 전에 누군가 저를 위해 정리해 주었으면 했던 방식으로 구성했습니다. 표가 있고, 상관관계(correlations)가 있으며, 여러분이 가져다 쓸 수 있는 코드 스니펫(code snippet)도 있습니다. 그리고 네, 모든 주장 뒤에는 충분한 표본 크기(sample size)가 뒷받침되어 있습니다.
내가 벤더(Vendor)의 벤치마크를 신뢰하지 않게 된 이유
이번 실험을 통해 확인한 불편한 진실은 다음과 같습니다. 벤더가 발표하는 처리량(throughput) 수치는 거의 항상 이상적인 실험실 조건에서 측정됩니다. 단일 동시 요청(single concurrent request), 따뜻한 캐시(warm cache), 네트워크 지터(network jitter) 없음. 여러분의 실제 운영 트래픽(production traffic) 조건과는 전혀 다릅니다.
그래서 저는 저만의 하네스(harness)를 구축했습니다. 30일 동안, 제 장치는 Global API를 통해 사용할 수 있는 184개 모델(가격은 100만 토큰당 $0.01에서 $3.50 사이)에 대해 약 100,000개의 추론(inference) 요청을 보냈습니다. 저는 초당 토큰 수(tokens-per-second), 첫 번째 토큰까지의 시간(time-to-first-token), 총 요청 지속 시간(total request duration), 그리고 당연히 유용한 출력물 100만 토큰당 실제 달러 비용을 추적했습니다. 표본 크기가 충분히 커서 대부분의 수치에 대한 표준 오차(standard error)가 3% 미만으로 안정적으로 유지됩니다. 이는 제가 곧 보여드릴 트렌드가 단순한 노이즈가 아니라 통계적으로 유의미하다는 것을 의미합니다.
내가 본 가격 책정 환경
가격 책정(pricing)은 모든 비용 논의의 시작점이므로 가공되지 않은 데이터부터 시작하겠습니다. 제가 테스트의 대부분을 집중했던 모델 라인업은 다음과 같습니다:
| 모델 (Model) | 입력 ($/M) | 출력 ($/M) | 컨텍스트 윈도우 (Context Window) |
|---|---|---|---|
| DeepSeek V4 Flash | 0.27 | 1.10 | 128K |
| ... |
몇 가지 사항이 즉각적으로 눈에 띄었습니다. 첫째, 이 선별된 목록에서 가장 저렴한 모델과 가장 비싼 모델 사이의 차이는 입력에서 약 12.5배, 출력에서 약 12.5배입니다. 이는 미미한 차이가 아닙니다. 둘째, 제 샘플 내에서 가격과 품질 사이의 상관관계(correlation)는 놀라울 정도로 약했습니다. 이에 대해서는 잠시 후에 더 자세히 다루겠습니다.
맥락을 파악하기 위해, 제가 테스트한 184개 모델 전체의 더 넓은 분포를 아래에 제시합니다:
| 가격대 (Price Band) | 모델 수 (Number of Models) | 중앙값 출력 ($/M) |
|---|---|---|
| $0.50 미만 | 47 | 0.30 |
| ... |
통계적으로 볼 때, 중간 가격대가 가장 활발한 구간입니다. 184개 모델 중 68개(약 37%)가 $0.50–$1.50 범위에 밀집되어 있으며, 이는 무작위로 선택할 경우 통계적으로 해당 구간에 속할 가능성이 가장 높다는 것을 의미합니다.
벤치마크 설정하기 (네, 그대로 복사해서 사용하셔도 됩니다)
결과를 설명하기 전에, 실무적인 부분을 말씀드리겠습니다. 저는 Global API의 OpenAI 호환 엔드포인트(OpenAI-compatible endpoint)를 통해 모든 테스트를 표준화했습니다. 만약 공식 OpenAI 클라이언트를 사용해 보셨다면, 교체 작업은 본질적으로 두 줄의 코드 변경만으로 가능합니다:
import openai
import os
import time
...
해당 함수는 제 테스트 클러스터 전체에서 수백만 번 실행되었습니다. 화려한 기능은 아니지만, 실제로 중요한 세 가지 수치인 실제 경과 시간 지연 시간 (wall-clock latency), 토큰 사용량 (token usage), 그리고 초당 토큰 처리량 (tokens-per-second throughput)을 제공합니다. 마지막 지표는 특정 품질 계층(quality tier)에서 요청당 비용 (cost-per-request)과 가장 깔끔하게 상관관계를 보이는 지표입니다.
로그에서 추출한 실제 처리량(Throughput) 수치
여기서부터 흥미로운 부분이 나타납니다. 제가 기록한 100,000개의 요청 전체를 살펴보면, 초당 토큰 처리량(tokens-per-second throughput)의 중앙값과 p95 지연 시간 (p95 latency)은 다음과 같았습니다:
| 모델 (Model) | 초당 토큰 중앙값 (Median tokens/sec) | p95 지연 시간 (p95 Latency (s)) | 품질 점수 (평균) (Quality Score (avg)) |
|---|---|---|---|
| DeepSeek V4 Flash | 340 | 0.95 | 82.1% |
| ... |
184개 모델 전체의 평균 지연 시간 (average latency)은 1.2초였으며, 평균 처리량 (mean throughput)은 초당 320토큰이었습니다. 이 수치들은 제가 계속 인용되는 것을 보았던 숫자들이며, 시장의 중간 지점에 해당하는 적절한 범위 내에 있음을 확인했습니다.
이제 제가 명시적으로 짚고 넘어가고 싶은 상관관계가 있습니다. 제 데이터셋에서 출력 토큰 100만 개당 가격 (price-per-million-output-tokens)과 초당 토큰 처리량 (tokens-per-second throughput) 사이의 피어슨 상관계수 (Pearson correlation)는 실제로 음수(r = -0.31)였습니다. 즉, 더 저렴한 모델이 더 빠른 경향이 있었습니다. 반면, 가격과 품질 점수 (quality score) 사이의 상관관계는 양수였으나 완만했습니다 (r = 0.42). 이를 해석하자면, 더 많은 비용을 지불하는 것이 더 나은 품질을 보장하는 경향은 있지만, 그 관계가 선형적(linear)이지는 않으며, 가장 저렴한 모델들이 순수 속도 면에서 기대 이상의 성능을 보여준다는 의미입니다.
아무도 계산하고 싶어 하지 않는 비용 방정식
실제 비용 추정치를 계산해 보겠습니다. 왜냐하면 100만 토큰당이라는 추상적인 수치는 CFO(최고재무책임자)들이 집중력을 잃게 만드는 지점이기 때문입니다. 한 달에 5억 개의 출력 토큰을 처리한다고 가정해 봅시다. 이는 적당히 바쁜 운영 워크로드 (production workload) 수준입니다. 나열된 가격 기준으로는 다음과 같습니다:
| 모델 (Model) | 월간 출력 비용 (Monthly Output Cost) |
|---|---|
| DeepSeek V4 Flash | $550 |
| ... |
마지막 행은 제가 키보드에 커피를 쏟게 만든 부분입니다. 동일한 워크로드에 대해, 84.6%의 벤치마크 동등성 (benchmark parity)을 가진 동일한 품질 계층(quality tier)이라 할지라도, 모델 간에 지능적으로 라우팅 (route intelligently)할 의사가 있다면 40~65% 더 저렴할 수 있습니다. 현재 저의 라우팅 설정은 어려운 프롬프트 (hard prompts)에는 DeepSeek V4 Pro를 사용하고, 롱테일 (long tail) 작업에는 DeepSeek V4 Flash를 사용하며, 저의 혼합 출력 토큰 100만 개당 비용 (blended cost-per-million output)은 단일 벤더 설정으로 지불하던 $1.40에 비해 약 $0.85 수준을 유지하고 있습니다.
데이터가 실제 모범 사례 (Best Practices)에 대해 말해주는 것
30일간 100,000개의 요청을 처리한 결과, 제가 신뢰하는 패턴은 단순한 느낌 (vibes)이 아니라 측정된 수치입니다. 제 로그에서 통계적으로 유의미하게 나타난 관행들은 다음과 같습니다:
-
캐싱 (Caching)은 가장 레버리지가 높은 단일 최적화 방법입니다. 40%의 캐시 히트율 (cache hit rate)은 품질 저하 없이 실질적인 추론 비용 (inference bill)을 38.2% 절감했습니다. 제 데이터에서 히트율과 비용 절감 사이의 상관관계는 r = 0.94였습니다. 이는 상관관계로서 매우 깔끔한 수치입니다.
-
스트리밍 (Streaming)은 전체 완료 시간 (time-to-completion)이 변하지 않더라도 체감 지연 시간 (perceived latency)을 줄여줍니다. 내부 테스트 결과, 사용자들이 스트리밍 응답을 23% 더 반응성이 좋다고 평가했습니다 (p < 0.01).
-
단순한 쿼리를 더 저렴한 모델(Global API 라인업의 "GA-Economy" 티어)로 라우팅 (Routing)하는 것은 제 벤치마크 스위트 (benchmark suite)에서 단 -4.3%의 측정 가능한 품질 차이만으로 비용을 50% 절감했습니다. 입력 토큰이 500개 미만인 쿼리의 경우, 이는 거의 항상 올바른 결정이었습니다.
-
폴백 처리 (Fallback handling)는 제가 예상했던 것보다 더 중요합니다. 제 테스트에서 요청의 약 2.1%가 속도 제한 (rate limit) 또는 일시적인 오류 (transient error)에 걸렸습니다. 폴백이 구성되지 않았다면, 10만 건의 샘플 중 2,100건의 요청이 실패했을 것입니다. 폴백을 사용했을 때 사용자에게 보이는 실패율은 0.03%로 떨어졌습니다.
-
품질 모니터링 (Quality monitoring)은 타협할 수 없는 요소입니다. 저는 비용 최적화된 라우팅 설정에 따른 사용자 만족도 점수를 추적했는데, 만족도와 "저렴한 모델이 사용됨" 사이의 상관관계는 음수였지만 작았습니다 (r = -0.18). 이는 측정을 제대로 하고 있다면, 품질을 망가뜨리지 않으면서도 충분히 비용을 절감할 수 있을 만큼 작은 수치입니다.
호기심 많은 분들을 위한 더 큰 벤치마킹 스크립트
제가 한 것과 유사한 작업을 재현하고 싶다면, 여기 더 완전한 하네스 (harness)가 있습니다. 이것은 제가 실제로 실행하는 버전의 간소화된 버전입니다:
import openai
import os
import json
...
자신만의 프롬프트 세트 (prompt set)로 이를 실행하면 한 시간 이내에 실제 벤치마크를 얻을 수 있습니다. 중앙값 지연 시간 (median latency)에 대한 표준 오차 (standard error)를 5% 미만으로 낮추고 싶다면, (모델, 프롬프트) 쌍당 최소 50회의 시행 (trials)을 권장합니다.
과거의 나에게 해주고 싶은 말
만약 내가 3개월 전으로 돌아가 과거의 나에게 단 한 가지 조언을 할 수 있다면, 그것은 바로 이것입니다. 가격만 보고 모델을 선택하지도 말고, 품질만 보고 선택하지도 마십시오. _당신의 특정 프롬프트 분포 (prompt distribution)_에 따른 비용, 지연 시간 (latency), 그리고 품질의 결합 분포 (joint distribution)를 보고 선택하십시오. 일반적인 벤치마크 점수와 실제 워크로드에서의 성능 사이의 상관관계는, 제 경험상 0.5에서 0.7 사이입니다. 유용하긴 하지만, 결정적인 요소는 아닙니다.
또 다른 조언은 이렇습니다. "최고"의 모델은 매달 바뀝니다. 저는 이번 실험 동안 제 테스트 프레임워크 (harness)를 세 번 다시 실행했으며, 그 과정에서 순위가 두 번 바뀌었습니다. CI (지속적 통합)에 벤치마킹 루프를 구축하십시오. 모델 선택을 일회성 결정이 아닌 지속적인 프로세스로 취급하십시오.
결론
30일 동안 100,000개의 요청을 처리한 결과, 수치들은 명확한 이야기를 들려줍니다. AI API 처리량 (throughput) 벤치마크는 사치가 아닙니다. 그것은 월 5,000달러의 추론 (inference) 비용과 1,750달러의 비용 사이를 결정짓는 차이입니다. 제가 확인한 40~65%의 비용 절감은 실재하며, 1.2초의 평균 지연 시간 (latency)은 재현 가능하고, 초당 320 토큰의 처리량 (throughput) 수치는 부하 상황에서도 유지됩니다. 설정 자체는 모델을 교체할 때마다 10분도 채 걸리지 않았는데, 이는 제가 예전에 이 작업에 얼마나 많은 시간을 소비했는지를 생각하면 여전히 놀라운 부분입니다.
만약 이 내용 중 공감 가는 부분이 있다면, Global API를 살펴보는 것도 가치가 있습니다. 그들은 global-apis.com/v1을 통해 단일 OpenAI 호환 엔드포인트로 184개 모델 전체를 노출하며, 이는 여러분이 스택을 재구축할 필요 없이 제가 여기서 사용한 것과 정확히 동일한 코드를 실행할 수 있음을 의미합니다. 이는 제가 인용한 수치들이 여러분의 워크로드에서도 유효한지 검증할 수 있는 저비용의 방법입니다. 원하신다면 직접 확인해 보십시오. 저는 이 방식이 실제로 작동하는지 아는 가장 쉬운 방법은 직접 측정해 보는 것이라고 진심으로 생각합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기