콘텐츠로 이동
Data Prep
상세

모델 선택 의사결정 가이드

상용 API vs 오픈소스 자체 호스팅 선택을 위한 실무 가이드.

개요

LLM 도입 시 가장 먼저 결정해야 할 것은 상용 API를 쓸지, 직접 모델을 호스팅할지다. 이 결정은 비용, 성능, 보안, 운영 복잡도에 모두 영향을 미친다.

핵심 의사결정 트리

데이터 외부 전송 가능?
├─ No → 자체 호스팅 (On-premise/Private Cloud)
└─ Yes
    └─ 월 API 비용 예상?
        ├─ <$500 → 상용 API
        ├─ $500-$5,000 → 상황별 판단
        └─ >$5,000 → 자체 호스팅 검토

상용 API

주요 제공자 비교 (2026년 2월 기준)

제공자 대표 모델 입력 ($/1M tokens) 출력 ($/1M tokens) 강점
OpenAI GPT-4o $2.50 $10.00 범용 성능, 에코시스템
OpenAI o3-mini $1.10 $4.40 추론 특화
Anthropic Claude 3.5 Sonnet $3.00 $15.00 긴 컨텍스트, 안전성
Google Gemini 1.5 Pro $1.25 $5.00 멀티모달, 긴 컨텍스트
Mistral Mistral Large $2.00 $6.00 유럽 데이터 규정

적합한 상황

  • MVP/프로토타입 개발
  • 트래픽 예측 어려움
  • ML 엔지니어 부재
  • 빠른 시장 진입 필요
  • 요구사항 자주 변경

비용 계산 예시

시나리오: 고객 지원 챗봇
- 일일 대화: 1,000건
- 평균 입력: 500 토큰
- 평균 출력: 300 토큰

GPT-4o 기준:
- 입력: 1,000 × 500 × 30일 = 15M tokens → $37.50
- 출력: 1,000 × 300 × 30일 = 9M tokens → $90.00
- 월 총액: $127.50

장단점

장점 단점
즉시 사용 가능 데이터 외부 전송
운영 부담 없음 비용 예측 어려움
최신 모델 자동 적용 Rate limit 제약
확장성 무제한 커스터마이징 제한

자체 호스팅

오픈소스 모델 비교

모델 파라미터 VRAM 요구 성능 (MMLU) 라이선스
Llama 3.1 8B/70B/405B 16GB/140GB/800GB 69/83/89 Llama 3.1 License
Mistral 7B/8x7B 16GB/100GB 63/71 Apache 2.0
Qwen 2.5 7B/72B 16GB/150GB 74/86 Qwen License
DeepSeek V3 671B (MoE) 80GB (활성 37B) 88 DeepSeek License

인프라 옵션

Option 1: 클라우드 GPU

# AWS 기준
g5.xlarge (A10G 24GB):
  - 시간당: $1.01
  - 적합 모델: 7B-13B (양자화)

g5.48xlarge (A10G 192GB):
  - 시간당: $16.29
  - 적합 모델: 70B

p5.48xlarge (H100 640GB):
  - 시간당: $98.32
  - 적합 모델: 405B+

Option 2: On-premise

# 구성 예시
Entry Level:
  - GPU: RTX 4090 24GB × 2
  - 비용: ~$4,000
  - 적합: 7B-13B

Production:
  - GPU: H100 SXM5 80GB × 4
  - 비용: ~$120,000
  - 적합: 70B-405B

서빙 스택

스택 지연시간 처리량 난이도
vLLM 최저 최고 중간
TGI (HuggingFace) 낮음 높음 낮음
TensorRT-LLM 매우 낮음 매우 높음 높음
Ollama 중간 낮음 매우 낮음

적합한 상황

  • 민감한 데이터 처리
  • 높은 트래픽 (월 $5,000+ API 비용 예상)
  • Fine-tuning 필요
  • 특정 SLA 요구 (지연시간 보장)
  • 규제 준수 (데이터 주권)

비용 계산 예시

시나리오: 동일한 고객 지원 챗봇

vLLM + Llama 3.1 70B on AWS g5.48xlarge:
- 처리량: ~50 req/sec
- 시간당 비용: $16.29
- 월 비용 (24/7): $11,889

vs API 비용 스케일링:
- 1,000 대화/일 → $127.50/월 (API 유리)
- 10,000 대화/일 → $1,275/월 (API 유리)
- 50,000 대화/일 → $6,375/월 (자체 호스팅 검토)
- 100,000 대화/일 → $12,750/월 (자체 호스팅 유리)

하이브리드 전략

라우팅 기반

def route_request(query, complexity):
    if complexity == "simple":
        # 간단한 쿼리 → 작은 자체 호스팅 모델
        return local_llm_7b.generate(query)
    elif requires_reasoning(query):
        # 복잡한 추론 → 상용 API
        return openai_o3.generate(query)
    else:
        # 일반 쿼리 → 중간 자체 호스팅 모델
        return local_llm_70b.generate(query)

Fallback 패턴

async def generate_with_fallback(prompt):
    try:
        # 1차: 자체 호스팅 (비용 절감)
        return await local_llm.generate(prompt, timeout=5)
    except (TimeoutError, ServiceUnavailable):
        # 2차: 상용 API (안정성)
        return await openai_api.generate(prompt)

의사결정 체크리스트

보안/규정

  • [ ] 데이터가 외부로 나가도 되는가?
  • [ ] 특정 지역 데이터 저장 요구사항이 있는가?
  • [ ] 감사 로그가 필요한가?

비용

  • [ ] 예상 월간 토큰 사용량은?
  • [ ] GPU 인프라 운영 인력이 있는가?
  • [ ] 초기 투자 vs 운영비 선호는?

기술

  • [ ] Fine-tuning이 필요한가?
  • [ ] 지연시간 SLA가 있는가?
  • [ ] 모델 업데이트 주기 요구사항은?

운영

  • [ ] 24/7 운영이 가능한가?
  • [ ] 장애 대응 프로세스가 있는가?
  • [ ] 모니터링/알림 시스템이 있는가?

마이그레이션 전략

API → 자체 호스팅

Phase 1: 섀도우 테스트
- 동일 쿼리를 양쪽에 전송
- 품질/지연시간 비교

Phase 2: 점진적 전환
- 10% → 30% → 50% → 100%
- 롤백 기준 명확화

Phase 3: 최적화
- 프롬프트 조정 (모델별 최적화)
- 캐싱 전략 수립

자체 호스팅 → API

대부분 간단함:
1. API 클라이언트 구현
2. 프롬프트 형식 조정
3. 에러 핸들링 추가

요약 매트릭스

기준 상용 API 자체 호스팅
초기 비용 없음 높음
운영 비용 (저트래픽) 낮음 높음
운영 비용 (고트래픽) 높음 중간
데이터 보안 제한적 완전 통제
커스터마이징 제한적 무제한
운영 복잡도 없음 높음
확장성 무제한 인프라 의존
지연시간 네트워크 의존 통제 가능