Una plataforma que reduce el coste de hacer un buen ML
Diseñamos plataformas de ML en torno a un pequeño conjunto de principios: las características deben definirse una vez y reutilizarse; los experimentos deben ser reproducibles por defecto; los modelos deben ser versionados y registrados antes de llegar a producción; y las rutas de inferencia deben ser observables de la misma manera que los servicios subyacentes. Los principios no son nuevos; la disciplina de aplicarlos consistentemente es lo que distingue a las plataformas que se multiplican de las que se anquilosan.
Nuestra caja de herramientas preferida varía según el entorno. Hemos construido alrededor de ofertas gestionadas como Databricks, SageMaker, Vertex AI y Azure ML, alrededor de stacks de código abierto (MLflow, Feast, Ray, Kubeflow, Argo) en Kubernetes, y alrededor de híbridos de ambos. La elección está dictada por sus inversiones existentes, la comodidad operativa de su equipo y el perfil de latencia de las cargas de trabajo en cuestión.
En todos ellos insistimos en algunos elementos no negociables: cada artefacto (conjunto de datos, conjunto de características, modelo) se identifica mediante un hash direccionable por contenido; cada promoción entre entornos se registra con el linaje de entradas y los resultados de las pruebas que lo justificaron; y cada modelo en producción se empareja con un monitor que sabe lo que significa un buen rendimiento.
- Pipelines de entrenamiento reproducibles
- Almacenes de características con paridad en línea y fuera de línea
- Almacenes vectoriales para recuperación y similitud
- Registro, preparación y reversión de modelos
- Monitorización de deriva, rendimiento y coste
- Entrenamiento e inferencia conscientes del coste

