Ir al contenido

Módulo 2: ML & LLM Fundamentals

Objetivo: Entender CÓMO funcionan los modelos antes de productionizarlos.

Este módulo cubre la teoría esencial que necesitas para trabajar profesionalmente con ML y LLMs. No puedes diseñar sistemas de RAG, fine-tuning o agentes si no entiendes qué está pasando debajo del capó.

  • Fundamentos primero: Imposible productionizar lo que no entiendes
  • Transformers everywhere: Base de GPT, BERT, Llama, todo modelo moderno
  • RAG es el 80% del trabajo en empresas reales (no fine-tuning)
  • Vector DBs son críticas: Pinecone, Weaviate, pgvector - debes saber elegir

Las matemáticas y arquitectura detrás de TODO modelo moderno.

  • Self-Attention mechanism (Q, K, V matrices)
  • Multi-Head Attention, Positional Encodings
  • Encoder-only (BERT) vs Decoder-only (GPT)
  • 🧪 Lab: Implementar self-attention en NumPy desde cero

El ciclo de vida completo de un LLM.

  • Pre-training objective (next-token prediction)
  • Tokenization (BPE, WordPiece, SentencePiece)
  • Context windows (4K → 128K tokens)
  • Sampling strategies (temperature, top-k, top-p)
  • 🧪 Lab: Experimentar con Llama-2 7B, analizar tokens

La tecnología detrás del retrieval en RAG.

  • Word2Vec → BERT → Sentence Transformers
  • Similarity metrics (cosine, dot product, euclidean)
  • 5 Vector DBs comparadas: Pinecone, Weaviate, Chroma, pgvector, FAISS
  • Índices: Flat vs IVF vs HNSW (trade-offs)
  • 🧪 Lab: Benchmark Chroma vs pgvector vs FAISS (10K docs)

El patrón más usado en producción con LLMs.

  • Pipeline completo: Indexing → Retrieval → Generation
  • Chunking strategies (fixed, semantic, recursive)
  • Hybrid search (vector + BM25)
  • Evaluation metrics (Recall@K, MRR, RAGAS)
  • 🧪 Lab: RAG básico con LangChain (100 documentos)

Cuándo usar cada técnica - el decision tree que necesitas.

  • Prompting: zero-shot, few-shot, chain-of-thought
  • RAG: cuándo es mejor que fine-tuning
  • Fine-tuning: Full vs LoRA vs QLoRA
  • Catastrophic forgetting y mitigaciones
  • 🧪 Lab: Fine-tune Llama-2 7B con LoRA (1K ejemplos)

Hacer inferencia 10x más rápida y barata.

  • Quantization (FP16 → INT8 → INT4)
  • KV Cache, dynamic batching
  • Frameworks: vLLM, TGI, llama.cpp
  • Trade-off: latencia vs throughput vs accuracy
  • 🧪 Lab: Benchmark latencia FP16 vs INT8 vs INT4
  • Model provenance: ¿De dónde viene el modelo? ¿Confiable?
  • Data sanitization: Limpieza de training data
  • Inference safety: Rate limiting, input validation
  • “Explica self-attention como si fuera ELI5”
  • “RAG con 10M docs, retrieval malo con metadata filtering - solución?”
  • “¿Cuándo fine-tuning vs RAG? Da 3 escenarios reales”
  • “Trade-off entre context window largo vs chunking inteligente”
  1. No skipees las matemáticas - son más simples de lo que parecen
  2. Implementa los labs - especialmente el de self-attention
  3. Compara vector DBs - tendrás que elegir una en producción
  4. Construye un RAG completo como proyecto final
  • Álgebra lineal básica (matrices, vectores, dot product)
  • Python + PyTorch o TensorFlow instalado
  • GPU recomendada (pero no obligatoria para labs)

Comienza con 2.1 Transformer Architecture