본문 바로가기
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

비용은 모델 이름보다 운영 방식에서 갈려

같은 모델도 어느 provider와 지역, 어느 배치 환경에서 돌리느냐에 따라 비용과 응답성이 달라져.

  • 입력·출력 100만 토큰당 가격은 provider와 모델 등급마다 달라.
  • 0까지 축소되는 관리형 서비스는 첫 요청에 5~30초의 콜드 스타트가 생길 수 있어.
  • 동시성은 초·분·일 단위 제한과 공유 또는 전용 용량에 좌우돼.
  • 지연 시간은 지역, 네트워크 거리, 모델 크기, 배치 경쟁을 함께 반영해.

생성 요청의 재시도는 중복 실행과 같지 않아

sampling을 쓰면 같은 입력도 다른 답을 내므로 추론 호출은 멱등하지 않아. 429에는 jitter를 섞은 지수 backoff를 적용하고, 5xx는 같은 입력으로 제한된 횟수만 재시도해. 429가 아닌 4xx는 숨기지 말고 즉시 실패시켜. tenacity로 이 정책을 코드에 명시할 수 있어.

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

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

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