In the previous section of this course, you explored the machine learning options available on Google Cloud. Now let's switch our focus to the machine learning workflow with Vertex AI from data preparation to model training and finally model deployment. Vertex AI; Google's AI platform, provides developers and data scientists one unified environment to build custom ML models. This process is actually not too different from serving food in a restaurant, starting with preparing raw ingredients through to serving dishes to a table. Later in this section, you'll get hands-on practice building a machine learning model end-to-end using AutoML on Vertex AI. But before we get into the details, let's look at the basic differences between machine learning and traditional programming. In traditional programming, simply put 1 plus 1 equals 2. Data plus rules otherwise known as algorithms, lead to answers. With traditional programming a computer can only follow the algorithms that a human has set up but what if we're just too lazy to figure out all the algorithms or what if the algorithms are too complex to figure out? This is where machine learning comes in. With machine learning, you feed a machine a large amount of data along with answers that you would expect a model to conclude from the data, then you select a machine learning model. From there, you expect the machine to learn from the provided data and examples to solve the puzzle on its own. Instead of telling a machine how to do addition, you give it pairs of numbers and the answers. For example, 1,1, and 2, 2, 3, and 5. You then ask it to figure out how to do addition on its own, but how is it possible that a machine can actually learn to solve puzzles? For machine learning to be successful you'll need lots of storage, like what's available with Cloud Storage and the ability to make fast calculations like with cloud computing. There are many practical examples of this capability. For example, by feeding Google Photos lots of pictures with tags you can teach the software to associate and then automatically attach tags to new pictures. Tags can then be used for search functionality or even to automatically create photo albums. Can you come up with any other examples to apply machine learning capabilities? Take a moment to think about it. There are three key stages to this learning process. The first is data preparation, a model needs a large amount of data to learn from. Data used in machine learning can either be real-time streaming or batch data and it can either be structured which is numbers and text normally saved in tables, or unstructured which is data that can't be put into tables like images and videos. The second stage is model training. A model needs a tremendous amount of iterative training. This is when training and evaluation form a cycle to train data, then evaluate the data, and then train the data so more. The third and final stage is model serving. A model needs to actually be used in order to predict results. This is when the machine learning model is deployed, monitored, and managed. If you don't move and ML model into production, then it has no use. It remains only a theoretical model. Now, it was mentioned earlier that the machine learning workflow on Vertex AI is not too different from serving food in a restaurant, so if you compare these steps to running a restaurant data preparation is when you prepare the raw ingredients. Model training is when you experiment with different recipes, and model serving is when you finalize the menu to serve the meal to lots of hungry customers. It's important to note that an ML workflow isn't linear, it's iterative. For example, during model training, you may need to return to dig into the raw data and generate more useful features to feed the model. When monitoring the model during model serving, you might find data drifting or the accuracy of your prediction might suddenly drop. You might need to check the data sources and adjust the model parameters. Fortunately, these steps can be automated with machine learning operations or MLOps. We'll go into more detail on this soon. How does Vertex AI support this workflow? You'll recall that Vertex AI provides two options to build machine learning models. AutoML which is a codeless solution, and custom training which is a code based solution. Vertex AI provides many features to support the ML workflow, all of which are accessible through either AutoML or Vertex AI Workbench. Examples include Feature Store which provides a centralized repository for organizing, storing, and serving features to feed the training models, Vizier which helps you tune hyperparameters and complex machine learning models, Explainable AI which helps with things like interpreting training performance, and pipelines, which help you monitor the ML production line.