Módulo 3: Modelos de Embeddings Comparison
Introducción al Módulo 3: Modelos de Embeddings Comparison
Bienvenida al módulo
Ya sabes qué son embeddings (Módulo 1) y cómo funcionan internamente (Módulo 2: Transformers, tokenización, pooling). Ahora llega el momento crítico para AI Engineers: elegir el modelo correcto.
En este módulo aprenderás a comparar modelos de embeddings (OpenAI, Sentence-BERT, BGE, Instructor, Cohere), ejecutar benchmarks con MTEB, usar modelos open-source localmente, optimizar para tu dominio específico, y manejar multiidioma. Al final, podrás tomar decisiones informadas sobre qué modelo usar según tu caso de uso, presupuesto, y requerimientos de performance.
Objetivos del módulo
Al finalizar este módulo, serás capaz de:
- ✅ Comparar modelos: OpenAI vs open-source (SBERT, BGE, Instructor)
- ✅ Ejecutar benchmarks: MTEB scores, latencia, costos
- ✅ Usar open-source: Sentence-Transformers (HuggingFace)
- ✅ Optimizar para dominio: Fine-tuning (conceptual) vs zero-shot
- ✅ Manejar multiidioma: Multilingual embeddings (mBERT, XLM-R)
- ✅ Decidir trade-offs: Precisión vs costo vs latencia
- ✅ Implementar fallback: Multi-provider strategy
- ✅ Proyecto: Benchmark framework para comparar modelos
Roadmap del módulo
Fase 1: Landscape de modelos (Cápsulas 01-03)
Cápsula 01: Introducción (esta cápsula)
- Objetivos, roadmap, contexto
Cápsula 02: OpenAI Embeddings Models
text-embedding-3-smallvs3-large- Performance, costos, dimensiones
- Cuándo usar cada uno
Cápsula 03: Open-Source Embeddings Overview
- Sentence-BERT (SBERT)
- BGE Models
- Instructor Embeddings
- Cohere (API)
- E5 Models
Fase 2: Evaluación y benchmarking (Cápsulas 04-06)
Cápsula 04: MTEB Benchmark
- Qué es MTEB (Massive Text Embedding Benchmark)
- Interpretar scores
- Limitaciones de benchmarks
Cápsula 05: Latencia y Throughput
- Medir latencia (API vs local)
- Throughput (documentos/segundo)
- Batch processing performance
Cápsula 06: Cost Analysis
- Comparar costos (OpenAI vs self-hosted)
- TCO (Total Cost of Ownership)
- Cuándo self-hosted hace sentido
Fase 3: Specialization y proyecto (Cápsulas 07-08)
Cápsula 07: Domain-Specific y Multilingual
- Domain-specific embeddings (legal, medical)
- Multilingual embeddings (100+ idiomas)
- Cuándo fine-tune vs zero-shot
Cápsula 08: Mini-Proyecto - Benchmark Framework
- Comparar 3+ modelos
- Métricas: MTEB, latencia, costo
- Reportes automáticos
- Recomendación de modelo
Conexión con el AI Engineering Path
Pre-requisitos (completados):
✅ Módulo 1 (Embeddings Deep Dive): Fundamentos de embeddings ✅ Módulo 2 (Embeddings Deep Dive): Arquitectura interna
Este módulo en el path:
AI Semantics Guide (conceptos vectoriales)
↓
Embeddings Deep Dive - M1 (¿Qué son?)
↓
Embeddings Deep Dive - M2 (¿Cómo funcionan?)
↓
Embeddings Deep Dive - M3 (Comparación de modelos) ← ESTÁS AQUÍ
↓
Embeddings Deep Dive - M4 (Evaluación y chunking)
↓
Vector Databases Comparison Guide
Por qué comparar modelos es crítico
Escenario real:
Tarea: Implementar semantic search para 1M documentos
Opciones:
1. OpenAI text-embedding-3-large:
- Performance: Excelente (MTEB ~64)
- Costo: $130/1M tokens
- Latencia: ~100ms (API)
2. Sentence-BERT (all-MiniLM-L6-v2):
- Performance: Bueno (MTEB ~58)
- Costo: $0 (self-hosted)
- Latencia: ~5ms (local GPU)
3. BGE-large-en:
- Performance: Excelente (MTEB ~63)
- Costo: $0 (self-hosted)
- Latencia: ~20ms (local GPU)
Pregunta: ¿Cuál eliges?
Respuesta: Depende de:
- Presupuesto (API vs self-hosted)
- Performance requerido (RAG vs semantic search básico)
- Latencia tolerable (100ms vs 5ms)
- Volumen (1K docs vs 1M docs)
- Idioma (inglés vs multiidioma)
Este módulo te da herramientas para decidir.
Qué aprenderás (detallado)
1. Landscape de modelos:
# OpenAI (API):
- text-embedding-3-small (1536 dims, $0.02/1M tokens)
- text-embedding-3-large (3072 dims, $0.13/1M tokens)
# Open-source (HuggingFace):
- Sentence-BERT (all-MiniLM-L6-v2, all-mpnet-base-v2)
- BGE (BAAI/bge-large-en, bge-base-en)
- Instructor (hkunlp/instructor-large)
- E5 (intfloat/e5-large-v2)
# Commercial API:
- Cohere (embed-english-v3.0)
- Voyage AI (voyage-large-2)
2. Evaluación sistemática:
MTEB scores (performance):
Modelo | MTEB Score | Uso típico
---------------------|------------|------------------
text-embedding-3-large | ~64 | RAG production
BGE-large-en | ~63 | Self-hosted RAG
text-embedding-3-small | ~62 | Prototipado
all-mpnet-base-v2 | ~58 | Semantic search básico
all-MiniLM-L6-v2 | ~56 | Demos, MVP
Latencia (speed):
Modelo | Latencia | Dónde
---------------------|----------|------------
all-MiniLM-L6-v2 | ~5ms | Local CPU
BGE-large-en (GPU) | ~20ms | Local GPU
OpenAI API | ~100ms | Cloud
Costo (economics):
Modelo | Costo/1M tokens | Break-even
---------------------|-----------------|-------------
OpenAI 3-large | $130 | -
BGE (self-hosted) | $0 + GPU ($2/h)| ~65 horas uso
3. Trade-offs reales:
Caso 1: Startup con presupuesto limitado
Recomendación: Sentence-BERT (all-MiniLM-L6-v2)
- Costo: $0 (self-hosted)
- Performance: Suficiente para MVP
- Latencia: Excelente (5ms local)
Caso 2: Empresa con RAG production-ready
Recomendación: OpenAI text-embedding-3-large
- Costo: $130/1M tokens (presupuesto OK)
- Performance: Top-tier (MTEB 64)
- Latencia: Aceptable (100ms)
- Zero maintenance
Caso 3: E-commerce con 10M productos
Recomendación: BGE-large-en (self-hosted GPU)
- Costo: $0/token + GPU ($500/mes)
- Performance: Excelente (MTEB 63)
- Latencia: 20ms (local)
- Break-even después de 1 mes vs OpenAI
Balance teoría/práctica (50/50)
Teoría (50%):
- Comparación de modelos (arquitecturas, performance)
- MTEB benchmark (cómo interpretar scores)
- Cost analysis (TCO, break-even)
- Domain-specific y multilingual (cuándo usar)
Práctica (50%):
- Ejecutar benchmarks con MTEB
- Medir latencia (código)
- Calcular costos (spreadsheet)
- Comparar modelos (proyecto final)
Este módulo es menos "hands-on code" que M1/M2 (más evaluación y decisiones estratégicas).
Qué NO aprenderás (fuera de scope)
❌ Fine-tuning de embeddings:
Razón: Fine-tuning es avanzado (requiere ML Engineering).
Cobertura: Solo conceptual (cuándo considerar fine-tuning).
❌ Entrenar embeddings desde cero:
Razón: Requiere corpus masivo + semanas de GPU + ML expertise.
Cobertura: No aplica para AI Engineers (usa modelos pre-entrenados).
❌ Arquitecturas custom (modificar Transformers):
Razón: Fuera de scope de AI Engineering (es Research/ML Engineering).
Cobertura: Solo usar modelos existentes.
❌ Visualización avanzada (UMAP, t-SNE):
Razón: No es crítico para producción (más Data Science).
Cobertura: Solo conceptual (no código matplotlib).
Herramientas del módulo
Bibliotecas Python:
# Sentence-Transformers (HuggingFace)
from sentence_transformers import SentenceTransformer
# MTEB (benchmarking)
from mteb import MTEB
# OpenAI (ya visto)
from openai import OpenAI
# Cost tracking
import time
Setup requerido:
# Instalar Sentence-Transformers
pip install sentence-transformers
# Instalar MTEB
pip install mteb
# OpenAI (ya instalado)
pip install openai
Estructura del módulo
module-03-modelos-embeddings-comparison/
└── es/
├── 01-introduccion-modulo.md ← Estás aquí
├── 02-openai-models.md
├── 03-open-source-overview.md
├── 04-mteb-benchmark.md
├── 05-latencia-throughput.md
├── 06-cost-analysis.md
├── 07-domain-multilingual.md
└── 08-proyecto-benchmark-framework.md
Habilidades profesionales
Al completar este módulo, demostrarás:
1. Strategic thinking:
- Evaluar trade-offs (costo vs performance)
- TCO analysis (no solo precio de API)
- Break-even calculations
2. Technical evaluation:
- Interpretar benchmarks (MTEB)
- Medir latencia (código)
- Comparar modelos objetivamente
3. Decision-making:
- Elegir modelo según caso de uso
- Justificar decisiones con datos
- Fallback strategies (multi-provider)
Casos de uso reales
1. RAG system (production):
Requerimientos:
- Alta precisión (contexto correcto)
- Latencia <200ms
- Presupuesto: $500/mes
- Volumen: 100K queries/mes
Decisión:
Modelo: OpenAI text-embedding-3-large
Razón:
- Performance top-tier (RAG crítico)
- Latencia OK (100ms)
- Costo OK ($130/1M tokens = $13/100K queries)
2. E-commerce search (10M productos):
Requerimientos:
- Performance bueno (no crítico)
- Latencia <50ms
- Presupuesto: $200/mes
- Volumen: 1M queries/mes
Decisión:
Modelo: BGE-large-en (self-hosted GPU)
Razón:
- Performance excelente (MTEB 63)
- Latencia excelente (20ms)
- Costo OK (GPU $200/mes, no por query)
3. Startup MVP (proof-of-concept):
Requerimientos:
- Performance suficiente
- Latencia cualquiera
- Presupuesto: $0
- Volumen: 1K queries/mes
Decisión:
Modelo: Sentence-BERT (all-MiniLM-L6-v2)
Razón:
- Performance OK para MVP (MTEB 56)
- Latencia excelente (5ms local CPU)
- Costo: $0 (self-hosted)
Metodología del módulo
Aprendizaje comparativo:
Paso 1: Conocer modelos (landscape)
↓
Paso 2: Evaluar (MTEB, latencia, costo)
↓
Paso 3: Decidir (trade-offs, caso de uso)
↓
Paso 4: Implementar (proyecto benchmark)
Ejercicio inicial (reflexión)
Escenario:
Estás construyendo un sistema de búsqueda semántica para una base de conocimientos interna de tu empresa (10,000 documentos técnicos en español).
Preguntas:
- ¿Qué modelo elegirías? ¿Por qué?
- ¿Qué métricas usarías para evaluar?
- ¿Cuál es tu presupuesto máximo mensual?
- ¿Qué latencia es aceptable?
No hay respuesta correcta única (depende de restricciones).
Al final del módulo, podrás responder con datos concretos.
Recursos del módulo
Benchmarks:
- MTEB Leaderboard - Rankings oficiales
- Sentence-Transformers - Open-source embeddings
- OpenAI Embeddings Guide - Oficial
Herramientas:
- HuggingFace Model Hub - Modelos pre-entrenados
- MTEB GitHub - Código de benchmarking
En la siguiente cápsula
Cápsula 02: OpenAI Embeddings Models
Aprenderás:
- Diferencias entre
3-smally3-large - Performance comparado (MTEB scores)
- Costos detallados
- Dimensiones configurables
- Cuándo usar cada modelo
De introducción a deep dive en OpenAI.
Módulo 3 - Embeddings Deep Dive Guide Eligiendo el modelo correcto: performance, costo, y trade-offs