Beautiful models that scale with your needs

Michelangelo PyML brings the flexibility of Python ML deployment to Uber

Jane Elizabeth
Michelangelo PyML
© Shutterstock / TAW4 (modified)

Looking for a tool that can help you build the prettiest ML models this side of the Sistine Chapel? Take inspiration from Uber’s latest ML platform, Michelangelo PyML, which offers rapid deployment at scale for developers with a flexibility and power that would put David to shame.

In the past few years, Uber has leaned heavily into the AI field. This investment has borne all kinds of fruit, including last year’s powerful machine learning platform, Michelangelo. However, although Michelangelo makes it possible to for Uber’s devs to utilize ML predictions at scale, it’s not quite flexible enough for their liking. Hence, the development of Michelangelo PyML.

Michelangelo PyML brings the flexibility of Python ML deployment to Uber’s existing machine learning platform. After all, Python is one of the most popular languages for ML for a number of reasons: great tools, user friendliness, and more.

While this is still a proprietary tool for Uber devs, there are a lot of ideas for other developers and data scientists to take away.

With Michelangelo PyML, developers can create Python-based models at scale for online or offline use in a snap with arbitrary user code. What’s more, these models can take advantage of other Python packages or native Linux libraries.

michelangelo pyml

Flexibility vs. resource efficiency tradeoffs in Michelangelo. If you’re looking for a resource efficient ML platform, Michelangelo is still your best bet. But for flexibility, PyML has got you covered. Source: Uber.

Helpfully, Michelangelo PyML can be used in conjunction with Jupyter Notebooks, making it easier for data scientists to take advantage of their favorite tools. In fact, the entire tool can be accessed through a simple Python SDK!

How does Michelangelo PyML work?

Essentially, the architecture gives data scientists a basic structure for rapid, reliable deployment without data restrictions. Obviously, this means a balance between the various needs of data, models, and execution environments, but Michelangelo PyML manages well enough.

michelangelo pyml

Overview of the PyML architecture. Source: Uber.

First, a model’s artifacts and dependencies get uploaded to and versioned by Michelangelo’s (MA) backend. Afterwards, a Docker image is built. This image can either be deployed as a Docker container for online predictions or leveraged to run large scale offline predictions.

The primary idea behind this platform is to support model builders working on their local Linux device, simplifying the process of transferring locally built models to a scalable platform. It does this with two data types: DataFrames, which store tabular structured data; and Tensors, which store named multidimensional arrays.

SEE MORE: Uber joins the framework race with Fusion.js

Getting Michelangelo PyML

Right now, your options for getting your hands on Michelangelo PyML are limited to joining Uber. Sorry! However, Uber does open source their tools on a regular basis, so it’s possible that this ML platform might join tools like Fusion.js, M3 for Prometheus, and more.

In the meantime, head on over to the in-depth article to see how Michelangelo PyML works with model definition, online or offline predictions, and more for inspiration on your own machine learning models!

Jane Elizabeth
Jane Elizabeth is an assistant editor for