Skip to content
#PlatformEngineering

[2/2] From Predictive to Generative - How Michelangelo Accelerates Uber’s AI Journey (Category PlatformEngineering)

#PlatformEngineering #Architecture #Engineering #Management #ML #AI #Software #Leadership #DistributedSystem #SystemDesign

Continue. story About Michelangelo ML-platform I want to share the lessons that can be learned from the story about Michelangelo 8 The years of its evolution and development within Uber. You are also planning to build your own platform:)

1. Centralized ML Platform For medium and large companies, centralization significantly increases the efficiency of ML model development, eliminating duplication and allowing standards to be implemented everywhere. At Uber, the organization looked like this: a strong central ML Platform team + embedding ML engineers and data scientists into product teams. This allowed to combine platform expertise with deep knowledge of the product domain.

2. Single and flexible UX Some people like point-and-click interfaces, while others prefer to code everything. But for the platform, it is important to provide both capabilities within a single platform experience: UI tools for visualization and rapid prototyping, as well as the ability to fully work through code. (API, configurations, Git). At Uber, this duality was critical to the adoption of the platform by different teams. Different modes exist together and the platform synchronizes changes, whether through UI or code, providing consistency and version control.

3. High-level templates + access to low-level components Platform delivers efficiency by providing high-level abstractions (templates of typical ML-pilines, auto-settings, ready-made integrations) for most users. But advanced teams need access to low-level customization components. That's what Michelangelo did. 2.0Most use ready-made workflow templates and standard configurations, and power users, if necessary, "descend" to the level of custom pipelines built into the common system.

4. Modular architecture and openness Modularity allows platform components to evolve and scale independently. Plug-and-play design allows you to quickly implement state-of-the-art technologies from open-source or third-party services as they become available. Uber keeps its focus on the core user experience, but can technically connect the best solutions for orchestration, data storage, computing, etc. without breaking the overall product. Uber prefers open solutions where possible, but also uses cloud models, carefully assessing bones.

5. Conscious Application of Deep Learning Advanced methods like DL can solve very complex problems, but require huge resources and infrastructure, which must be justified by business value. Therefore, architecture supports different types of models, and the choice is made pragmatically. For teams planning to implement DL, it is important to provide support for scalable learning ahead of time. (GPU/TPU, distributed training) And think about monitoring the performance of models, because DL maintenance in production is more complicated and more expensive than conventional models.

6. Prioritizing ML projects Not all models are equal – some directly affect key business metrics, others play a supporting role. Enter a prioritization system (tiers) For ML projects to rationally allocate resources and reliability requirements. Uber's experience shows the effectiveness of clear separation

  • Critical. (tier-1) models receive the maximum level of support, monitoring, strict deployment processes
  • Low-priority expas (tier-4) They can be serviced in a simplified way, giving teams the freedom to create without spending excessive resources.

In summary, it seems that Michelangelo has shown the evolution of the platform to successfully scale AI in a large company. The secret of success lies in the continuous improvement of the developer experience, process standardization and flexible architecture ready for new technological trends.

#Architecture #Engineering #Management #ML #AI #Software #Leadership #DistributedSystem #SystemDesign