#2 Machine Learning Engineering for Production (MLOps) Specialization [Course 1, Week 1, Lesson 2]

The ML project lifecycle has six steps: scoping, data collection and labeling, model training with error analysis, deployment, and production monitoring. Deployment isn't the finish line; live traffic reveals new problems that require retraining on real data.
Chapters
When I'm building a machine learning system, I found that thinking through the machine learning project life cycle is a effective way for me to plan out all the steps that I need to work on. And when you are working on a machine learning system, I think you find too that this framework allows you to plan out all the important things you need to do in order to get a system to work and also to minimize surprises. So let's dive in. These are the major steps of a machine learning project. First is scoping, in which you have to define the project. Just decide what to work on. What exactly do you want to apply machine learning to, and what is X and what is why? After having chosen the project, you then have to collect data or acquire the data you need for your algorithm. This includes defining the data and establishing a baseline, and then also labeling and organizing the data. There's some best practices for this that are not intuitive that you learn more about later in this week. After you have your data, you then have to train a model. During the model phase, you have to select and train the model and also perform error analysis. You might know that machine learning is often a highly iterative task, so during the process of error analysis, you may go back and update the model. Or you might also go back to the earlier phase and decide you need to collect more data as well as part of error analysis. Before taking the system to deployments, I'll often also carry out a final check, maybe a final audit, to make sure that the system's performance is good enough and and that is sufficiently reliable for the application. Sometimes an engineer thinks that when you deploy a system, you're done. I now tell most people when you deploy a system for the first time, you're maybe about halfway to the finish line, because it's often only after you turn on live traffic that you then learn the second half of the important lessons needed in order to get the system to perform well. To carry out the deployment step, you you have to deploy it in production, right the software needed to put into production, and then also monitor the system, track the data that continues to come in and maintain the system. For example, if the data distribution changes, you may need to update the model. And so after the initial deployment, maintenance will often mean going back to perform more error analysis and maybe retrain the model. Or it might mean taking the data you get back now that the system is deployed and is running on live data and feeding that back into your data set to then potentially update your data, retrain the model, and so on until you can put an updated model into deployment. I found this framework useful for a very large variety of machine learning projects, from computer vision to audio data, to streamline structured data to many other applications. So feel free to take a screenshot of this image and use it with your friends or by yourself to plan out your machine learning project as well. Thanks also to landing AIs Dylan Layet and Daniel Bibirieta, who are instrumental to developing this diagram. In this video, we quickly went through the Machine Learning Project Lifecycle. In order to deepen our understanding of this project lifecycle, it'll be useful to walk through a concrete example. So in the next video, let's step through what these different steps of Machine Learning Project Lifecycle look like in the context of a speech recognition application. Let's go on to the next video.










