p99 SLA를 준수하면서 AI API 비용을 절반으로 줄인 방법
AI 비용이 너무 빠르게 증가하고 있었습니다. CFO는 이를 지속 불가능한 비용 소모(burn rate)라고 불렀습니다. 당시 저희는 모든 작업에 GPT-4o를 사용했습니다. 성능은 좋았지만, 비용이 너무 높았고 p99 지연 시간(latency)이 일정하지 않았습니다.
저는 AI 모델 선택을 시스템 설계 문제로 다루기로 했습니다. 단순히 '가장 좋은 모델'을 찾는 것을 멈추고, 우리의 특정 SLA에 '가장 적합한 모델'을 찾기 시작했습니다.
먼저 명확한 목표를 설정했습니다: • 채팅 p99 지연 시간 1.5초 미만 • 99.9% 가용성 • 멀티 리전 페일오버(Multi-region failover) • 피크 부하의 3배에 달하는 처리량(Throughput) 용량
이 수치들이 정해지자 해결책이 명확해졌습니다. 토큰당 가장 저렴한 모델이 항상 프로덕션 환경에 최선인 것은 아닙니다. 저렴한 모델 때문에 지연 시간이 두 배로 늘어난다면, 사용자를 잃게 됩니다.
여러 모델을 비교해 보았습니다. 가격 차이는 엄청났습니다. GPT-4o는 출력 토큰 100만 개당 10.00달러인 반면, GLM-4 Plus는 0.80달러였습니다. 테스트 결과, 요약 및 추출과 같은 저희의 특정 작업에서 GLM-4 Plus는 GPT-4o와 거의 대등한 성능을 보였습니다.
이를 관리하기 위해 라우팅 레이어(routing layer)를 구축했습니다. 시스템은 다음 규칙을 따릅니다: • 워크로드 유형에 따라 요청 라우팅 • 지연 시간 급증 시 폴백(fallback) 모델 사용 • 리전 간 트래픽 분산 • 빈번한 요청 캐싱
또한 Redis 캐시를 추가했습니다. 일주일 만에 캐시 히트율(hit rate)이 40%에 도달했습니다. 이를 통해 반복되는 쿼리에 대한 토큰 지출을 줄였고, 지연 시간을 1.4초에서 200밀리초로 단축했습니다.
결과: • 월간 추론(inference) 비용 58% 감소 • p99 지연 시간 1.6초에서 1.18초로 단축 • 가동 시간(Uptime) 99.95% 유지 • 캐시 히트율 42% 달성
제가 배운 세 가지 교훈:
- 자체 평가 스위트(evaluation suite)를 구축하세요. 일반적인 벤치마크를 신뢰하지 마세요. 실제 프로덕션 데이터를 사용해야 합니다.
- 속도 제한(rate limits)을 면밀히 모니터링하세요. 특정 리전의 트래픽이 예상치 못한 급증을 일으킬 수 있습니다.
- 킬 스위치(kill switch)를 만드세요. 잘못된 프롬프트 하나가 토큰 사용량을 폭증시킬 수 있습니다. 최대 토큰 수를 제한함으로써 한 번에 14,000달러를 절약한 적이 있습니다.
AI 비용이 너무 높다면, 먼저 SLA를 정의하세요. 실제 트래픽을 기반으로 평가 스위트를 구축하세요. 그런 다음, 현재 무시하고 있는 모델들의 가격을 살펴보시기 바랍니다.
출처: https://dev.to/bolddeck/how-i-cut-our-ai-api-bill-in-half-while-hitting-p99-slas-1l05
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi