Dojo
TrueML · Entrenamiento práctico

Dojo de entrenamiento ML engineer's

Proyectos chicos que corren en tu Mac, uno por cada estación del camino del dato a producción. Cada uno lo construyes cuatro veces: con ayuda, solo, roto con ayuda y roto solo. Con una explicación rápida de cada concepto en el momento en que lo usas.

2 de 12 estaciones listas
Datosestaciones 1 · 2Modeloestaciones 3 · 4 · 5APIestación 6Contenedorestaciones 7 · 8Orquestaciónestaciones 9 · 10Monitoreoestaciones 11 · 12

Qué es C01

el caso del tronco

C01 es el primer caso del curso: un marketplace de segunda mano donde quien vende sube fotos al crear una publicación y el sistema le sugiere la categoría. Por dentro es un clasificador de imágenes (una ResNet-50 con 500 categorías) servido con Triton en Kubernetes, que responde unas 10 millones de fotos al día y tiene que contestar el 99 % de las veces en menos de 200 ms.

500categorías
≈ 10 Mfotos al día
≤ 200 msp99
top-5por foto
1 al mesmodelo nuevo

Es el tronco del dojo porque recorre las 12 estaciones completas: de las fotos etiquetadas al entrenamiento, del modelo aprobado a la imagen de Docker en el clúster, y de la request en vivo al monitoreo que pide el siguiente modelo. Los otros patrones (batch, LLM y RAG, streaming, edge…) cambian solo algunas estaciones, así que llegan después, como ramas.

En el dojo, cada estación es una versión chica de C01 que corre en tu Mac: los mismos conceptos y las mismas fallas, con otros tamaños. La estación 1, por ejemplo, usa fotos de Fashion-MNIST, 24,000 requests y un S3 local en Docker.

El mapa del C01

12 estaciones · 4 tramos

Doce estaciones en cuatro tramos: Datos, Modelo, Release y Operación. Entre una estación y la siguiente viaja un artefacto concreto (el snapshot del dataset, el checkpoint, el engine, la imagen de Docker…), y el reentrenamiento cierra el ciclo. La línea lleva los colores de las seis etapas de la T, y cada tramo dice a qué ritmo cambia: el modelo en semanas, el código en días, una request dura milisegundos y el monitoreo no para.

DATOS · semanasMODELO · semanasRELEASE · díasOPERACIÓN · milisegundos y continuo↺ reentrenamientoC01 · DEL DATO A PRODUCCIÓN2 de 12 estaciones ya tienen dojoPasa el cursor por una estación para ver qué sale de ella1 · Datos y etiquetas · sale: labels del mes (≈ 5k humanos + débiles filtrados)abrir el dojo →Datos y etiquetas12 · Versionado y linaje · sale: snapshot ds-2026-09-01 (manifest inmutable)Versionado y linaje23 · Entrenamiento · sale: checkpoint candidato (corrida en MLflow)Entrenamiento34 · Gate de evaluación y registry · sale: checkpoint aprobado por el gateGate de evaluación yregistry45 · Export, engine y paridad · sale: engine model.plan (versión challenger)Export, engine yparidad56 · Código de serving · sale: código del gateway + model repository de TritonCódigo deserving67 · Empaquetado (Docker) · sale: Dockerfiles probados (gateway y Triton)abrir el dojo →Empaquetado(Docker)78 · CI/CD y registro de imágenes · sale: imagen en ECR (tag inmutable + digest)CI/CD yregistro deimágenes89 · Kubernetes · sale: pods listos detrás del ALB internoKubernetes910 · Rollout seguro · sale: versión nueva al 100 % (alias champion)Rollout seguro1011 · La request en vivo · sale: una línea de log JSON y métricas por requestLa request envivo1112 · Monitoreo y reentrenamiento · sale: disparador de reentrenamiento y muestras para etiquetarMonitoreo yreentrenamiento12

Toca una estación: la que ya tiene dojo abre su página; las demás, su explicación en la cheat sheet «Del dato a producción», de donde sale este mapa.

Las 12 estaciones

agrupadas en la T · 2 listas

Las mismas doce, agrupadas en las seis etapas de la T. Las que ya tienen dojo se abren aquí; las demás llevan a su explicación en la cheat sheet mientras llega su mini-proyecto.

↺Reentrenamiento: vuelve a 1 · Datos
Datosestaciones 1 · 2Modeloestaciones 3 · 4 · 5APIestación 6Contenedorestaciones 7 · 8Orquestaciónestaciones 9 · 10Monitoreoestaciones 11 · 12
Pasa el cursor por una etapa de la lista para verla en la T.

Cómo se usa el dojo

de la lectura a romper

Cada estación es un mini-proyecto con su kit. Esta app es la guía y no corre nada: el trabajo pasa en tu Mac, en la carpeta del kit, con una sesión de Claude Code abierta ahí.

01

Lee antes de tocar

En la página de la estación: el mapa (dónde estás, qué entra y qué sale), los precálculos (las cuentas de servilleta, en C01 y en el dojo) y los conceptos exprés. Se lee en el celular, en un rato libre.

02

Baja el kit y levanta el mundo

Un .zip con una empresa ficticia que ya tiene el problema: sus datos, sus servicios en Docker, un verificar.py que revisa tu trabajo y un romper.py que mete fallas. Cinco comandos y queda arriba.

03

Haz las cuatro rondas

Copia el prompt de la ronda en la página de la estación y pégalo en Claude Code. El CLAUDE.md del kit pone las reglas de fondo, así que Claude sabe cuánto ayudarte en cada una.

ConstruirRomperCon ayuda
1 GuiadoConstruyes el proyecto con Claude Code paso a paso. Cada paso explica el concepto que usa.
3 Romper con ayudaUn script mete una falla real. La diagnostican juntos: síntoma, hipótesis, prueba, arreglo.
Solo
2 SoloLo rehaces desde el esqueleto con los objetivos y el verificador. Claude no te da código.
4 Romper soloEl script esconde la falla, ni Claude la sabe. Tú la encuentras y la arreglas.
04

Repasa

Al final de cada página: el memo de la estación, su trampa, la lista de «listo cuando…» y cómo te lo pueden preguntar en una entrevista.

05

Lleva tu registro

Claude anota cada ronda en BITACORA.md (qué hiciste, cuánto tardaste, qué pistas usaste) y en taller/progreso.json. Pronto vas a poder subirlo a tu tablero aquí mismo.

Qué necesitas

  • Una Mac con Docker Desktop y unos GB libres
  • Python 3.11 o más nuevo
  • Claude Code

Cada estación dice lo suyo en «El kit».

En qué orden

Del 1 al 12, que es el orden en que el dato viaja en C01. Cada kit trae su propio mundo, así que una estación corre aunque no hayas terminado la anterior.

Empezar por la estación 1: Datos y etiquetas

Los otros patrones

Después del tronco vienen las ramas: batch, LLM y RAG, streaming, edge, asíncrono e híbrido, cada una con su mini-proyecto y solo las estaciones que cambian.

batchLLM y RAGstreamingedgeasíncronohíbrido