Michelangelo AI Uber has published Michelangelo AI, an ML platform it says is proven at its own scale, handling 400+ active ML projects, 20K+ model training jobs per month, 5K+ models in production and 45M+ real-time predictions per second at peak. The platform ships feature management, model training, evaluation, deployment and monitoring, with feature management, evaluation and monitoring marked "Coming Soon," and exposes a Python API built on the michelangelo.uniflow library with a Ray plugin for distributed training. The release gives developers a documented workflow for training and deploying models, though three of its five core modules are not yet available. Proven at Uber Scale 400+Active ML projects 20K+Model training jobs / month 5K+Models in production 45M+Real-time predictions / sec peak Everything you need for ML in production Feature Management Coming Soon Centralized feature store with versioning, lineage tracking, and real-time serving for consistent ML features across training and inference. Model Training Scalable distributed training with experiment tracking, hyperparameter tuning, and automatic resource management. Evaluation Coming Soon Comprehensive model evaluation with automated metrics, A/B testing, and performance benchmarking across datasets. Deployment One-click deployment to production with canary releases, traffic splitting, and automatic rollback capabilities. Monitoring Coming Soon Real-time model monitoring with drift detection, alerting, and observability for production ML systems. Simple, powerful API From training to production in minutes 1import michelangelo.uniflow.core as uniflow2from michelangelo.uniflow.plugins.ray import RayTask3 4@uniflow.task config=RayTask head cpu=2, worker instances=2 5def train train data, validation data, params: dict :6 """Distributed training with Ray."""7 trainer = XGBoostTrainer 8 params=params,9 datasets={"train": train data, "validation": validation data},10 11 return trainer.fit 12 13@uniflow.workflow 14def train workflow dataset: str :15 """End-to-end ML training pipeline."""16 train data, val data = load and split dataset 17 result = train train data, val data, params={"max depth": 5} 18 return result19 20if name == " main ":21 ctx = uniflow.create context 22 ctx.run train workflow, dataset="s3://data/training.parquet"