Módulo 7: Comparación técnica de proveedores

Módulo 7: Comparación técnica de proveedores

Llevas seis módulos. Conoces OpenAI, LM Studio, Ollama, OpenRouter y Modal. Cada uno funciona. Si te preguntan "¿cuál uso para mi proyecto?", hasta ahora la respuesta era cualitativa: "depende del caso".

Este módulo te da la respuesta cuantitativa. Vas a correr tus propios benchmarks (latencia, costo, calidad), construir una matriz de decisión basada en datos, y terminar con una herramienta Python que automatice la recomendación.

Al terminar el módulo vas a poder:

  • Medir P50, P95, P99 de latencia para cada proveedor con un harness reproducible
  • Calcular costo real por millón de requests para tu carga específica
  • Evaluar calidad usando un set de prompts representativos y métricas defendibles
  • Comparar en una matriz multi-criterio y explicar el trade-off de cada elección
  • Migrar entre proveedores con cambios mínimos de código
  • Automatizar la decisión con un decision tool basado en requisitos

¿Dónde estamos en el path?

MóduloStatus
1-6Aprendiste cómo usar cada proveedor
7Aprendes cómo decidir con datos ← estás aquí
8Construyes el cliente unificado que abstrae proveedores

Después de M07 vas a tener algo que muy pocos AI engineers de tu nivel pueden hacer: defender una elección de proveedor con benchmarks propios en una reunión técnica.


Por qué este módulo es importante profesionalmente

Tres razones concretas:

1. Diferenciador en entrevistas. "Elegí OpenAI porque es el más conocido" vs "elegí OpenAI porque mi benchmark mostró P95 de 1.4s vs 4.2s de Ollama local, mi presupuesto cubre $X/mes, y mi modelo no tiene restricciones de datos". El segundo es contratable; el primero es ruido.

2. Reduce errores costosos. Equipos pagan miles de dólares en infraestructura mal dimensionada porque eligieron "el más obvio" sin medir. Una hora benchmarkeando salva semanas de migración después.

3. Te da autoridad técnica. Cuando tu cofounder pregunta "¿por qué Modal y no AWS?", la diferencia entre balbucear y mostrar números es la diferencia entre que confíen en ti o no.


Un escenario que ilustra el módulo

Imagina que eres lead de AI en una startup B2B de soporte. Tu CTO te dice:

"Queremos ofrecer un chatbot que responda preguntas técnicas sobre nuestro producto. Esperamos 500K consultas/mes. Algunos clientes son enterprise y nos contratan con cláusulas de privacidad. Tenemos $2k/mes de presupuesto inicial. Necesitamos respuestas en <5 segundos. ¿Qué stack recomiendas?"

Sin este módulo, tu respuesta es una corazonada. Con este módulo, tu respuesta es:

  1. Bencheo OpenAI GPT-4o-mini, OpenRouter (Mixtral), Modal con Mistral 7B → latencias P95 medidas
  2. Calculo cost-per-request en mi tráfico esperado → 3 escenarios mensuales
  3. Pruebo 30 prompts representativos de soporte técnico → comparo calidad
  4. Tabla multi-criterio: latencia × costo × calidad × privacidad
  5. Recomendación final con números, no opiniones

Eso es lo que vas a poder hacer al final del módulo.


Mapa del módulo

CápsulaTemaQué construyes
01Introducción (esta)Modelo mental + objetivos
02Benchmark de latenciaHarness Python que mide P50/P95/P99
03Benchmark de costoCalculadora cost-per-request con múltiples escenarios
04Benchmark de calidadSet de evaluación + scoring manual o LLM-as-judge
05Matriz de decisión avanzadaMulti-criterio ponderado, no "tabla con estrellitas"
06Migration pathsCómo cambiar de proveedor con cambios mínimos
07Tabla comparativa completaEl consolidado: una tabla con todo
08Proyecto: decision toolFunción Python que recomienda dado un perfil de requisitos

Conexión con el proyecto final del path

Lo que aprendas acá alimenta el Módulo 8 (Unified Client):

  • Tus benchmarks te dicen qué proveedor poner como default del cliente unificado
  • Tu decisión de costo te dice qué orden de fallback usar (más barato primero, fallback al caro)
  • Tu matriz de decisión te da el modelo mental que el cliente unificado encapsula

Sin M07, M08 es código sin justificación. Con M07, M08 es la materialización de tu análisis.


Qué NO se cubre

Para mantener scope:

  • Benchmarks de modelos fine-tuneados. Asumimos que usas modelos base. Si tienes fine-tunes, agrégalos al benchmark pero el método es el mismo.
  • Benchmarks distribuidos (load testing con miles de clientes). Vemos benchmarks de tipo "single client mide latencia". Para load testing real necesitas Locust, k6 o similar — fuera de scope.
  • Comparación de calidad rigurosa científica. Hacemos LLM-as-judge y evaluación manual; para papers académicos necesitas evaluadores humanos múltiples, kappa de inter-rater, etc.
  • Benchmarks de proveedores no cubiertos (Anthropic Claude, Google Gemini, Together.ai, Replicate). El método se transfiere — agrégalos tú si tu caso lo requiere.

Trampas comunes al cursar el módulo

Trampa 1 — "Mido una vez y declaro ganador." Latencia varía mucho. Mide 50-100 requests por proveedor para tener percentiles defendibles. Un sample de 1 es ruido.

Trampa 2 — "Comparo precios sin entender tokenización." "$0.50 por 1M tokens" significa cosas distintas según si tu request promedio usa 100 o 2000 tokens. Siempre calcula costo por request en tu caso, no precio nominal.

Trampa 3 — "Comparo modelos diferentes y declaro ganadores absolutos." GPT-4o vs Mistral 7B no es comparación justa de proveedor — es comparación de modelo. Sé explícito sobre qué estás comparando: el proveedor (infraestructura) o el modelo (capacidad).

Trampa 4 — "Eligiendo solo por benchmark." Los números son una entrada, no la decisión completa. Restricciones legales, soporte enterprise, dependencias del equipo — todo influye. La cápsula 05 te muestra cómo combinarlos.


Pregunta de auto-evaluación

Antes de pasar a 02:

  • ¿Cuál es la diferencia entre latencia promedio y P95 de latencia? ¿Por qué importa P95 para producto real?
  • Si OpenAI cuesta $5/1M tokens y Mistral en Modal cuesta $0.30/1M tokens, ¿cuál es más barato para 100K requests con 800 tokens promedio? (calcula)
  • ¿Por qué "calidad" es la más difícil de medir de las tres dimensiones (latencia, costo, calidad)?
Respuestas guía
  • Promedio se afecta por outliers — un request de 30s lleva la media para arriba pero "se promedia" con muchos rápidos. P95 dice "el 95% de mis usuarios espera menos que esto"; mucho más fiel a la experiencia real. Si tu P50 es 2s pero P95 es 25s, el 5% de usuarios espera 25s — para muchos productos eso es inaceptable aunque el promedio se vea bien.
  • OpenAI: 100,000 × 800 × $5 / 1,000,000 = $400. Mistral en Modal: 100,000 × 800 × $0.30 / 1,000,000 = $24. Mistral 16× más barato en este escenario. (Asumiendo precios por 1M tokens; verifica precios actuales de cada proveedor.)
  • Porque latencia y costo son objetivos (números medidos directamente). Calidad es subjetiva (¿qué es "mejor respuesta"?). La cápsula 04 cubre cómo hacerla lo más objetiva posible: rubrics, LLM-as-judge, evaluación contra ground truth.

Evidencia de éxito al terminar el módulo

Vas a saber que terminaste bien si puedes:

  • ✅ Correr python benchmark.py y obtener una tabla con P50/P95/P99 de cada proveedor
  • ✅ Mostrar el costo mensual estimado de cada opción para 3 escenarios de tráfico distintos
  • ✅ Justificar qué proveedor recomendarías para un caso específico con números
  • ✅ Tener un decision tool reusable que tomas en otros proyectos

Siguiente cápsula

02 — Benchmark de latencia arranca el trabajo cuantitativo. Vas a construir un harness Python que:

  • Mide P50/P95/P99 de cada proveedor con un set de prompts comunes
  • Calienta los providers antes de medir (evita contaminar con cold starts)
  • Exporta resultados a JSON/CSV para análisis posterior

Es la primera de tres mediciones (latencia, costo, calidad) que después combinarás en la matriz de decisión.


Recursos para el módulo

  1. Artificial Analysis Benchmarks — benchmarks públicos de latencia y calidad de proveedores LLM (referencia, no fuente de verdad para tu caso).
  2. Anyscale — How to benchmark LLMs — metodología técnica de benchmarking.
  3. HumanEval, MMLU, BBH — datasets estándar de evaluación de calidad.
  4. LangSmith — LLM-as-judge — herramienta para evaluación automática.
  5. The art of choosing LLM providers (a16z) — perspectiva de mercado.