In the previous post, I talked about using MapReduce and Spark for distributed model training. In this post, I will talk about parameter server and how it is used in distributed model training.
Posts in the MLSys category:
Distributed model training I: MapReduce and Spark
In the previous post, I introduced challenges in machine learning systems with big data and complex models. In this post, I will discuss distributed systems in the era of big data.
Think big: ML systems in the era of big data
Let’s start with linear regression. Using established libraries such as scikit-learn, it is almost trivial to train a linear regression model. We can easily run the model training with a few hundred Megabytes of data on our laptop with a build-in CPU.
Now let’s think big.
Machine Learning Lifecycle
In business management, product lifecycle is broken into 4 stages with the distinct pattern of sales over time: introduction, growth, mature, and decline. In the diagram below, I adapt the classic product lifecycle curve to show the engineering load over time in machine learning (ML): from model development to maintenance. Managing and coordinating different stages in ML lifecycle presents pressing challenges for ML practitioners.
5 things you need to know about Machine Learning Systems
The more I work on building end-to-end machine learning (ML) pipelines, the more I realize the importance of system design and infrastructure. ML shares many concerns with traditional software development, and poses new challenges to system design.
Onboarding as a Machine Learning Engineer
It’s been 3 months since I started my new position as a Machine Learning Engineer (MLE) at Spotify. What I like most about this position is that I get to participate in building an end-to-end pipeline, including ideation and experiment, data engineering, machine learning modeling, model serving, online A/B test, monitoring, and many more.