Phase 19 - Lesson 07

Capstone 07 — Pipeline de fine-tuning de extremo a extremo (Datos a SFT a DPO a Servir)

Un modelo de 8B entrenado con tus propios datos, alineado por DPO según tus preferencias, quantizado, con decodificación especulativa y servido a un costo medible de $/1M de tokens. La stack abierta de 2026 es Axolotl v0.8, TRL 0.15, Unsloth para iteración, GPTQ/AWQ/GGUF para quantización y vLLM 0.7 con EAGLE-3 para servir. El capstone consiste en ejecutar todo el pipeline de manera reproducible — entrada en YAML, endpoint activo en la salida — y publicar un model card bajo el Model Openness Framework de 2026.

Tipo: Capstone Lenguajes: Python (pipeline), YAML (configuraciones), Bash (scripts) Requisitos previos: Fase 2 (ML), Fase 3 (DL), Fase 7 (transformers), Fase 10 (LLMs desde cero), Fase 11 (ingeniería de LLM), Fase 17 (infraestructura), Fase 18 (seguridad) Fases ejercitadas: P2 · P3 · P7 · P10 · P11 · P17 · P18 Tiempo: 35 horas

Problema

Cada equipo serio de IA en 2026 mantiene un pipeline de fine-tuning disponible. No porque lancen un modelo base de frontera, sino porque la adaptación downstream — SFT de dominio, DPO contra preferencias etiquetadas, borradores destilados para decodificación especulativa, servir con EAGLE-3 — es donde residen las ganancias medibles. Axolotl v0.8 maneja configuraciones de SFT multi-GPU. TRL 0.15 maneja DPO y GRPO. Unsloth proporciona iteración rápida en GPU única. vLLM 0.7 con EAGLE-3 aumenta el rendimiento (throughput) de decodificación en 2-3x sin pérdida de calidad. Las herramientas funcionan; el arte está en los archivos YAML, la higiene de datos y la disciplina de evaluación.

Llevarás un modelo base de 8B (Llama 3.3, Qwen3 o Gemma 3) a través de SFT y luego DPO con datos específicos de tareas, lo quantizarás para servirlo y medirás las ganancias frente a lm-evaluation-harness, RewardBench-2, MT-Bench-v2 y MMLU-Pro. Producirás un model card bajo el Model Openness Framework de 2026. El punto clave es la reproducibilidad: un solo comando vuelve a ejecutar todo el pipeline de extremo a extremo.

Concept

El pipeline consta de cinco etapas. Datos: desduplicación (MinHash / Datatrove), filtro de calidad (clasificador estilo Nemotron-CC), limpieza de PII (datos personales sensibles), verificación de higiene de divisiones contra la contaminación de benchmarks públicos. SFT: YAML de Axolotl, ZeRO-3 en 8xH100, distribución de coseno (cosine schedule), secuencias empaquetadas, 2-3 épocas. DPO o GRPO: configuración de TRL, 1 época, pares de preferencias etiquetados por humanos o evaluados por modelos, ajuste de beta. Quantización: GPTQ + AWQ + GGUF para flexibilidad de despliegue. Servicio: vLLM 0.7 con cabezales especulativos EAGLE-3 (o SGLang con SpecForge), despliegue en K8s, HPA en tiempo de espera de la cola.

Las ablaciones son el entregable: solo SFT frente a SFT+DPO frente a SFT+GRPO en tres benchmarks específicos de tareas. Métricas de servicio: tokens/s en lotes de 1 / 8 / 32, tasa de aceptación de EAGLE-3, $/1M de tokens. Evaluación de seguridad: tasa de aprobación de Llama Guard 4. Model card: evaluaciones de sesgo, semillas (seeds) de reproducibilidad, licenciamiento de datos.

Architecture

raw data (HF datasets + internal)
    |
    v
Datatrove dedup + Nemotron-CC quality filter + PII scrub
    |
    v
split hygiene (MMLU-Pro contamination check)
    |
    v
Axolotl SFT config (YAML)  ---> 8xH100, ZeRO-3
    |
    v
TRL DPO / GRPO config       ---> 4xH100, 1 epoch
    |
    v
GPTQ + AWQ + GGUF quantize
    |
    v
vLLM 0.7 + EAGLE-3 speculative decoding
    |
    v
K8s deployment, HPA on queue-wait
    |
    v
lm-eval-harness + RewardBench-2 + MT-Bench-v2 + MMLU-Pro
    |
    v
model card (2026 MOF) + safety eval (Llama Guard 4)

Stack

  • Datos: Datatrove para desduplicación, clasificador Nemotron-CC para calidad, Presidio para PII
  • Base: Llama 3.3 8B, Qwen3 14B o Gemma 3 12B
  • SFT: Axolotl v0.8 con ZeRO-3, Flash Attention 3, secuencias empaquetadas
  • Ajuste de preferencias: TRL 0.15 para DPO o GRPO; Unsloth para iteración en GPU única
  • Quantización: GPTQ (Marlin), AWQ, GGUF vía llama.cpp
  • Servicio: vLLM 0.7 con decodificación especulativa EAGLE-3 (o SGLang 0.4 + SpecForge)
  • Evaluación: lm-evaluation-harness, RewardBench-2, MT-Bench-v2, MMLU-Pro
  • Evaluación de seguridad: Llama Guard 4, ShieldGemma-2
  • Infraestructura: Kubernetes + plugin de dispositivos NVIDIA, HPA en la métrica de espera de la cola
  • Observabilidad: W&B para entrenamiento, Langfuse para inferencia

Build It

  1. Pipeline de datos. Ejecuta la desduplicación con Datatrove en el corpus crudo. Aplica el clasificador de calidad estilo Nemotron-CC. Presidio limpia PII. Escribe divisiones de entrenamiento/valulación con una semilla explícita.

  2. Verificación de contaminación. Para cada división de validación, calcula MinHash contra los conjuntos de prueba de MMLU-Pro, MT-Bench-v2 y RewardBench-2. Rechaza cualquier superposición.

  3. Axolotl SFT. YAML con ZeRO-3, FA3, empaquetado de secuencias. 2-3 épocas en 8xH100. Registra en W&B.

  4. TRL DPO / GRPO. Toma el checkpoint de SFT, ejecuta una época de DPO en pares de preferencias (o GRPO con una recompensa verificable en matemáticas/código). Haz un barrido de beta.

  5. Quantize. Produce tres quants: GPTQ-INT4-Marlin, AWQ-INT4, GGUF-Q4_K_M para llama.cpp. Registra el tamaño y el rendimiento nominal.

  6. Serve with speculative decoding. Configuración de vLLM 0.7 con cabezales de borrador EAGLE-3 entrenados a través de Red Hat Speculators. Mide la tasa de aceptación y la latencia de cola en lotes de 1 / 8 / 32. Reporta $/1M de tokens frente a Anthropic / OpenAI en la misma evaluación.

  7. Eval matrix. Ejecuta lm-eval-harness, RewardBench-2, MT-Bench-v2, MMLU-Pro en modelos base, solo SFT, SFT+DPO, SFT+GRPO. Produce una tabla.

  8. Safety eval. Tasa de aprobación de Llama Guard 4 en el conjunto de desarrollo. Filtro de salida ShieldGemma-2.

  9. Model card. Plantilla MOF 2026: datos, entrenamiento, evaluación, seguridad, licencia, sección de reproducibilidad con YAMLs y SHAs de commit.

Use It

$ ./pipeline.sh config/llama3.3-8b-domainX.yaml
[data]    300k deduped, 12k filtered, 280k accepted (seed=7)
[SFT]     3 epochs, 8xH100, 6h12m, val loss 1.42 -> 1.03
[DPO]     1 epoch, beta=0.08, 4xH100, 1h40m
[quant]   GPTQ-INT4 4.6 GB, AWQ-INT4 4.8 GB, GGUF-Q4_K_M 5.1 GB
[serve]   vLLM 0.7, EAGLE-3 acceptance 0.74, p99 126ms @ bs=8
[eval]    MMLU-Pro +3.2, MT-Bench-v2 +0.41, RewardBench-2 +0.08
[card]    model-card.md generated under 2026 MOF

Ship It

outputs/skill-finetuning-pipeline.md describe el entregable. Un solo comando procesa los datos a través de SFT, DPO, quantización, servicio y evaluación, y emite un model card más el endpoint servido.

Peso Criterio Cómo se mide
25 Delta de evaluación vs base Ganancia medida en tareas objetivo (MMLU-Pro, MT-Bench-v2, específicas de la tarea)
20 Reproducibilidad del pipeline Un solo comando vuelve a ejecutar todo de extremo a extremo con semillas idénticas
20 Higiene de datos Tasa de desduplicación, cobertura de limpieza de PII, control de contaminación en verde
20 Eficiencia de servicio tokens/s en bs=1/8/32, tasa de aceptación de EAGLE-3, $/1M de tokens
15 Model card + evaluación de seguridad Completidad de MOF 2026 + tasa de aprobación de Llama Guard 4
100

Exercises

  1. Ejecuta solo SFT frente a SFT+DPO frente a SFT+GRPO en el mismo benchmark específico de la tarea. Reporta qué método de preferencias gana y por cuánto.

  2. Cambia Llama 3.3 8B por Qwen3 14B. Mide $/1M de tokens a calidad equivalente.

  3. Mide la tasa de aceptación de EAGLE-3 en datos de dominio frente a ShareGPT genérico. Reporta el delta y lo que significa para los presupuestos de latencia.

  4. Inyecta 1% de contaminación (filtra respuestas de MMLU-Pro en los datos de entrenamiento) y vuelve a ejecutar la evaluación. Observa cómo la precisión en MMLU-Pro sube de forma irreal. Construye una compuerta de CI de verificación de contaminación que detecte esto.

  5. Agrega LoRA SFT como alternativa al fine-tune completo. Mide la brecha de calidad con 10 veces menos memoria.

Key Terms

Término Lo que la gente dice Lo que realmente significa
Axolotl "Entrenador SFT" Entrenador unificado basado en YAML para SFT, DPO y destilación
TRL "Ajustador de preferencias" Biblioteca de Hugging Face para DPO, GRPO, PPO en LLMs
GRPO "Optimización de políticas relativas al grupo" Receta de RL (aprendizaje por refuerzo) de DeepSeek R1 con recompensas verificables
EAGLE-3 "Borrador de decodificación especulativa" Cabezales de borrador que predicen N tokens adelante; vLLM verifica con el modelo objetivo
MOF "Model Openness Framework" Estándar de 2026 para calificar lanzamientos de modelos en función de datos, código y licencia
Verificación de contaminación "Higiene de divisiones" Detección basada en MinHash de filtración del conjunto de prueba en el entrenamiento
Tasa de aceptación "Métrica EAGLE / MTP" Fracción de tokens sugeridos que acepta el modelo objetivo

Further Reading

0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).