C.W.K.
Stream
Lesson 05 of 05 · published

비용, Rate Limit, 재시도 전략

~26 min · inference, ops

Level 0스카우트
0 XP0/50 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

비용은 시스템 속성, 모델 속성 X

같은 모델이 Provider A vs Provider B vs 너 TGI 박스에서 와일드하게 다른 비용 특성. 네 axis:

  • $/1M input tokens, $/1M output tokens — 프로바이더 + 모델-tier 설정.
  • Cold start — managed 프로바이더가 zero 로 scale. 첫 요청: 5-30초. 그다음: ms.
  • Concurrency — 초당, 분당, 일당 rate limit. Free tier 면 모두랑 공유; paid plan 면 isolated; self-host 면 uncapped.
  • Latency — provider region, 네트워크 거리, 모델 크기, batch contention.

재시도, backoff, idempotency

인퍼런스 콜은 idempotent 아님 — sampling 으로 같은 입력이 다른 출력. 그래서: 무작정 재시도 X. 429 면 jitter + exponential backoff. 5xx 면 같은 입력으로 한 번 재시도. 429 외 4xx 면 loud fail. tenacity 라이브러리가 정책 3 줄로 처리.

Code

Tenacity 재시도 정책·python
from tenacity import retry, stop_after_attempt, wait_exponential, retry_if_exception_type
from huggingface_hub.errors import HfHubHTTPError

@retry(
    stop=stop_after_attempt(4),
    wait=wait_exponential(multiplier=1, min=1, max=30),
    retry=retry_if_exception_type(HfHubHTTPError),
    reraise=True,
)
def safe_chat(client, messages):
    return client.chat_completion(messages=messages, max_tokens=200)
비용-인지 토큰 회계·python
def cost_for(usage_input, usage_output, dollars_per_1m_input, dollars_per_1m_output):
    return (usage_input * dollars_per_1m_input + usage_output * dollars_per_1m_output) / 1_000_000

# chat_completion 후:
# resp.usage.prompt_tokens, resp.usage.completion_tokens 가 OpenAI-shaped response 에 있음

# 예: $0.20 / 1M in, $0.60 / 1M out
print("$", cost_for(1500, 600, 0.20, 0.60))

External links

Exercise

선택한 프로바이더에 같은 모델 100번 콜하는 작은 벤치마크 빌드. 기록: 콜당 latency, 총 토큰, 총 비용. p50/p95/p99 latency + 100 콜당 $ 계산. tenacity 재시도를 HfHubHTTPError 에 추가, forced 429 simulate, backoff 타이밍 검증.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.