Using Spark Mllib Models in a Production Training and Serving Platform: Experiences and Extensions

Download Slides

Overview Uber’s Michelangelo is a machine learning platform that supports training and serving thousands of models in production. Most Michelangelo customer models are based on Spark Mllib. In this talk, we will describe Michelangelo’s experiences with and evolving use of Spark Mllib, particularly in the areas of model persistence and online serving.

Extended Description Michelangelo  was originally developed to support scalable machine learning for production models. Its end-to-end support for scheduled Spark-based data ingestion and model training, along with model evaluation and deployment for batch and online model serving, has gained wide acceptance across Uber. More recently, Michelangelo is evolving to handle more use cases, including evaluating and serving models trained outside of core Michelangelo, e.g., on a distributed tensorflow platform providing Horovod  or using PySpark in a Jupyter notebook on Data Science Workbench To support evaluation and serving of models trained outside of Michelangelo, Michelangelo’s use of Spark Mllib needed updating, to generalize its mechanisms for model persistence and online serving. In this talk, we will describe these mechanisms and explore possible avenues for open-sourcing them.


Try Databricks
See More Spark + AI Summit in San Francisco 2019 Videos

« back
About Michael Mui

Michael is a software engineer on the Michelangelo machine learning platform team at Uber. Michael enjoys applying techniques from optimization and building large-scale distributed systems to solve difficult decision problems. Prior to Uber, he worked at Samsung Research on sensor fusion and probabilistic state estimation. Michael received a B.S in Electrical Engineering and Computer Science (EECS) from Berkeley.