Módulo 8: Proyecto Final Integrador
5. Etapa 4: Estimación de Costos
Descripción
En esta etapa calculas el costo mensual completo del sistema: setup inicial, infrastructure, queries, y mantenimiento. El presupuesto es $2000/mes.
Costo de setup inicial (una vez)
1. Hardware (si compra)
GPU server (para embeddings):
- NVIDIA T4 (16GB)
- 32GB RAM
- 500GB SSD
Costo: $3000 (compra) o $0.35/hora cloud ($250/mes)
Weaviate server:
- 16 vCPUs
- 64GB RAM
- 500GB SSD
Costo: $2000 (compra) o $0.34/hora cloud ($245/mes)
→ Opción recomendada: Cloud (no CAPEX, más flexible)
2. Indexación inicial
Embedding de 500K chunks (Sentence-BERT local):
- Tiempo: 8 horas
- Costo GPU: $0.35/hora × 8 = $2.80
Weaviate indexación:
- Tiempo: 2 horas
- Costo server: $0.34/hora × 2 = $0.68
Total setup: $3.48 (despreciable)
Costo mensual recurrente
Categoría 1: Infrastructure
GPU server (embeddings):
$0.35/hora × 730 horas/mes = $255/mes
Weaviate server:
$0.34/hora × 730 horas/mes = $248/mes
API server (FastAPI en AWS Lambda):
50K requests/mes × $0.0000002 = $0.01/mes (despreciable)
+ $5/mes (API Gateway)
Subtotal infrastructure: $508/mes
Categoría 2: LLM (GPT-3.5 Turbo)
Queries esperadas:
Total queries: 50K/mes
De las cuales:
- 40% son búsqueda simple (sin LLM): 20K
- 60% son Q&A (con LLM): 30K
Costo LLM:
Q&A queries: 30K/mes
Por query:
- Input: 2500 tokens (query + 5 chunks × 500 tokens)
- Output: 300 tokens (respuesta)
- Costo input: 2500 × $0.0005/1K = $0.00125
- Costo output: 300 × $0.0015/1K = $0.00045
- Costo total/query: $0.0017
Costo mensual LLM:
30K × $0.0017 = $51/mes
Categoría 3: Storage
Vector DB (Weaviate):
- 500K vectors × 768D × 4 bytes = 1.5GB
- HNSW graph: ~2GB
- Metadata + texto: ~3GB
Total: ~6.5GB
AWS EBS (SSD): $0.10/GB/mes
→ 6.5GB × $0.10 = $0.65/mes (despreciable)
Categoría 4: Monitoring y logs
CloudWatch (AWS):
- Logs: ~10GB/mes
- Metrics: Standard
Costo: ~$10/mes
Categoría 5: Re-indexación incremental
Nuevos documentos: +5K/año = ~417/mes
Re-indexación:
- Embedding: 417 docs × 5 chunks = 2085 chunks/mes
- Tiempo GPU: ~3 minutos/mes
- Costo: $0.35/hora × (3/60) = $0.018/mes (despreciable)
Resumen de costos mensuales
| Categoría | Costo/mes |
|---|---|
| GPU server (embeddings) | $255 |
| Weaviate server | $248 |
| API server (Lambda + API Gateway) | $5 |
| LLM (GPT-3.5 Turbo) | $51 |
| Storage (EBS) | $1 |
| Monitoring (CloudWatch) | $10 |
| Re-indexación | <$1 |
| Total | $570/mes |
Análisis vs presupuesto
Presupuesto: $2000/mes
Costo real: $570/mes
Margen: $1430/mes (71% bajo presupuesto) ✅
Optimizaciones de costo
Si presupuesto fuera ajustado ($500/mes):
Opción 1: Eliminar GPU dedicada (usar CPU)
Sentence-BERT en CPU:
- Latency: 200ms/batch (vs 50ms en GPU)
- Impacto en query: +150ms
- Nueva latency total: 380ms (búsqueda), 1590ms (Q&A)
→ Aún < 2s target ✅
Ahorro: $255/mes
Nuevo total: $315/mes
Opción 2: Weaviate en servidor más pequeño
c5.xlarge (4 vCPUs, 8GB RAM):
- Costo: $0.17/hora = $124/mes (vs $248 actual)
- Trade-off: Latencia kNN +20ms (80ms → 100ms)
Ahorro: $124/mes
Nuevo total: $446/mes
Opción 3: Usar Llama 3 local (eliminar GPT-3.5)
Llama 3 8B (self-hosted):
- Requiere GPU adicional (NVIDIA A10): $0.60/hora = $438/mes
- Pero: Elimina costo GPT-3.5 ($51/mes)
Balance: +$387/mes (más caro) ❌
→ NO recomendado para este caso
Proyección de crecimiento
Año 1:
Queries: 50K/mes (constante)
Nuevos docs: +5K/año
Costo: $570/mes × 12 = $6,840/año
Año 2:
Queries: 75K/mes (+50% usuarios)
LLM cost: 45K × $0.0017 = $76.5/mes (+$25.5)
Nuevo total: $595.5/mes × 12 = $7,146/año
Año 5:
Docs: 100K + (5K × 5) = 125K docs (+25%)
Vectors: 625K (vs 500K inicial)
Weaviate: Requiere upgrade → c5.4xlarge ($0.68/hora = $496/mes)
Queries: 100K/mes (2x inicial)
LLM cost: 60K × $0.0017 = $102/mes
Nuevo total: $255 + $496 + $5 + $102 + $1 + $10 = $869/mes
→ Incluso en año 5, costo ($869/mes) < presupuesto ($2000/mes) ✅
Análisis de sensibilidad
¿Qué pasa si queries aumentan 10x?
Queries: 500K/mes (10x)
Q&A queries: 300K/mes
LLM cost: 300K × $0.0017 = $510/mes (vs $51 actual)
Nuevo total: $255 + $248 + $5 + $510 + $1 + $10 = $1,029/mes
→ Aún < $2000 presupuesto ✅
Pero: Latencia puede degradarse (GPU saturado)
→ Solución: Agregar segundo GPU server (+$255/mes)
→ Total: $1,284/mes (aún OK)
¿Qué pasa si usamos GPT-4 en lugar de GPT-3.5?
GPT-4 cost/query: $0.022 (vs $0.0017 GPT-3.5)
→ 13x más caro
LLM cost: 30K × $0.022 = $660/mes (vs $51 actual)
Nuevo total: $255 + $248 + $5 + $660 + $1 + $10 = $1,179/mes
→ Aún < $2000 presupuesto ✅
Trade-off: +$609/mes para mejor calidad (puede valer la pena)
Recomendaciones de costo
-
Monitorear usage mensual:
Alertas si costo > $700/mes (50% bajo presupuesto) -
Cachear queries frecuentes:
Top-100 queries (30% de tráfico) → Ahorro $15/mes LLM -
Ajustar top-K si es posible:
Si precision@10 > 0.80 con top-K=50 (en lugar de 100) → Latencia -20ms -
Evaluar GPT-4 en producción:
A/B test: 10% tráfico GPT-4, 90% GPT-3.5
Si calidad mejora significativamente → Aumentar % GPT-4
Resumen de costos
Costo mensual base: $570/mes (71% bajo presupuesto)
Breakdown:
- Infrastructure (GPU + Weaviate): $503/mes (88%)
- LLM (GPT-3.5): $51/mes (9%)
- Otros (API, storage, monitoring): $16/mes (3%)
Margen: $1430/mes disponible para:
- Upgrades (GPT-4, más GPUs, servidores más grandes)
- Crecimiento (10x queries aún cabe en presupuesto)
- Contingencia
Próxima etapa: 06-the-final-document.md — Consolidar todo en documento de diseño técnico.