Course Description
The goal of the AWS Machine Learning Engineer (MLE) Nanodegree program is to equip software developers/data scientists with the data science and machine learning skills required to build and deploy machine learning models in production using Amazon SageMaker. This program will focus on the latest best practices and capabilities that are enabled by Amazon SageMaker, including new model design/deployment features and case studies in which they can be applied to.
Learning Objectives
A graduate of this program will be able to:
Create machine learning models in Sagemaker on datasets cleaned using AWS tools.
Deploy machine learning models to an API endpoint and integrate it into a full workflow.
Solve computer vision and natural language problems using fine-tuned deep neural networks.
Operationalize a machine learning pipeline using SageMaker to allow for training and deployment on industry-scale problems.
Select a machine learning challenge and propose a possible solution.
Prerequisites
Python programming knowledge, including:
At least 40 hours of programming experience.
Familiarity with data structures like dictionaries and lists.
Experience with libraries like NumPy and pandas.
Knowledge of functions, variables, loops, and classes.
Exposure to Python through Jupyter Notebooks is recommended.
Experience with constructing and calling HTTP API endpoints is recommended.
Basic knowledge of machine learning algorithms, including:
Basic understanding of the machine learning workflow.
Course Outline :: AWS Machine Learning Engineer Nanodegree ::
Basic theoretical understanding of ML algorithms such as linear regression, logistic regression, and neural network.
Basic understanding of model training and testing processes.
Basic knowledge of commonly used metrics for ML models evaluation such as accuracy, precision, recall, and mean square error (MSE).
Required Hardware/Software
There are no software and version requirements to complete this Nanodegree program.
Outline
Course 1: Introduction to Machine Learning
In this course, learners will be introduced to high level concepts through AWS SageMaker. They’ll begin by using
SageMaker Studio to perform exploratory data analysis. Know how and when to apply the basic concepts of machine learning to real world scenarios. Create machine learning workflows, starting with data cleaning and feature engineering, to evaluation and hyperparameter tuning. Finally, build new ML workflows with highly sophisticated models such as XGBoost and AutoGluon.
Lesson 1
Exploratory Data Analysis
Use AWS SageMaker Studio to access datasets from S3 and perform data analysis functions using AWS tools.
Perform data analysis and feature engineering with Data Wrangler.
Perform data analysis and feature engineering with Pandas in SageMaker Studio.
Label new data for a dataset with Sagemaker ground truth.
Lesson 2
Machine Learning Concepts
Design a domain, model, and data outline for a case study.
Build a ML lifecycle and apply it to a dataset.
Differentiate between supervised and unsupervised models and apply them to an appropriate dataset.
Differentiate between regression and classification methods and apply them to an appropriate dataset.
Lesson 3
Model Deployment Workflow
Load new dataset, create 3 data set types, and identify features/values in SageMaker.
Course Outline :: AWS Machine Learning Engineer Nanodegree ::
Clean or create new features from a dataset.
Train (fit) a regression/classification model using scikit learn.
Evaluate a trained model using methods like mse, rmse, r2, accuracy, f1, and precision.
Tune a model’s hyper parameters to achieve a better result.
Lesson 4
Algorithms & Tools
Train, test, and optimize a linear model, tree-based model, XGBoost model, and AutoGluon Tabular prediction model.
Create a model using Sagemaker Jumpstart.
Course 2: Developing Your First ML Workflow
In order to execute on machine learning’s versatile capabilities, we need to have the infrastructure to execute our ML operations. With the easy availability of managed infrastructure from AWS, we can dynamically create the necessary resources to train, deploy, and evaluate our models. In this course, learners will create general machine learning workflows on AWS.
Begin with an introduction to the general principles of machine learning engineering. From there, learn the fundamentals of SageMaker to train, deploy, and evaluate a model. Following that, learn how to create a machine learning workflow on AWS utilizing tools like Lambda and Step Functions. Finally, learn how to monitor machine learning workflows with services like Model Monitor and Feature Store. With all this, learners will have all the information they need to create an end-to-end machine learning pipeline.
Build a ML Workflow on SageMaker
In this project, learners will develop an end-to-end ML Workflow on SageMaker, Lambda, and Step Functions. Learners will showcase their model deployment capabilities with SageMaker Model Endpoints and Lambda, and their workflow monitoring capabilities with SageMaker Model Monitor and Step Functions. At the end of the project, learners will be able to demonstrate building a scalable ML workflow on SageMaker.
Lesson 1
Introduction to MLE
Understand the prerequisites.
Describe key business stakeholders.
Understand the history of MLE.
Course Outline :: AWS Machine Learning Engineer Nanodegree ::
Describe when to use MLE.
Lesson 2
SageMaker Essentials
Launch training jobs within SageMaker.
Deploy an endpoint that can perform inference on live data.
Evaluate datasets with batch transform jobs.
Perform custom processing jobs on raw data.
Lesson 3
Designing Your Own Workflow
Create Lambda functions.
Trigger Lambda functions utilizing both the SDK and other AWS Services.
Design and execute a workflow utilizing State Machines.
Learn about the use cases for SageMaker Pipelines.
Lesson 4
Monitoring a ML Workflow
Use SageMaker Feature Store to serve and monitor model data.
Configure SageMaker Model Monitor to generate and track metrics about our models.
Use Clarify to explain model predictions and surface biases in models.
Course 3: Deep Learning Topics within Computer Vision & NLP
As more machine learning products are being deployed, machine learning engineering is becoming a very important and sought after skill in the industry. Building infrastructures for training, deployment, and monitoring of deep learning models is different from building other software systems. In this course, learners will train, fine-tune, and deploy deep learning models using Amazon SageMaker.
Begin by finding out what deep learning is, where it is used, along with the tools used by deep learning engineers.
Next we will learn about artificial neurons and neural networks and how to train them. After that, learners will explore advanced neural network architectures like convolutional neural networks and BERT and fine-tune them for special tasks. Finally learners will explore Amazon SageMaker and apply new skills in SageMaker Studio.
Course Outline :: AWS Machine Learning Engineer Nanodegree ::
Image Classification using AWS SageMaker
In this project, learners will be using AWS Sagemaker to finetune a pretrained model that can perform image classification. Learners will have to use Sagemaker profiling, debugger, hyperparameter tuning and other good ML engineering practices to finish this project. To finish this project, learners will have to perform tasks and use tools that a typical ML Engineer does as a part of their job.
Lesson 1
Introduction to Deep Learning Topics within Computer Vision & NLP
Understand the need and importance of deep learning.
Learn the history of deep learning and the business stakeholders in a deep learning project.
Learn the tools used by deep learning engineers.
Lesson 2
Introduction to Deep Learning
Understand the workings of artificial neurons and neural networks.
Understand how to set cost functions and optimizers to train neural networks.
Build and train a neural network on an image classification task.
Lesson 3
Common Model Architecture Types & Fine-Tuning
Understand how advanced neural network architectures like convolutional neural networks and transformerbased models work.
Fine-tune a pretrained model on a different task.
Understand the important of hyperparameter tuning for training (and fine-tuning) deep neural networks.
Lesson 4
Deploy Deep Learning Models on SageMaker
Fine-tune models for image and text classification using SageMaker JumpStart
Debug and profile training jobs using SageMaker Debugger.
Tune hyperparameters when training a model.
Package a model in a Dockerfile for deployment.
Course Outline :: AWS Machine Learning Engineer Nanodegree ::
Course 4: Operationalizing Machine Learning Projects on SageMaker
This course covers advanced topics related to deploying professional machine learning projects on SageMaker. It also covers security applications. Learners will find out how to maximize output while decreasing costs. They will also learn how to deploy projects that can handle high traffic and work with especially large datasets.
Operationalizing an AWS ML Project
In this project, learners will start with a machine learning project that accomplishes computer vision tasks. Learners will deploy the project on AWS and add several important features: cost minimization, security, and redeployment on a separate server. This project will prepare learners to successfully deploy professional projects in industrial applications.
Lesson 1
Manage Compute Resources in AWS Accounts to Ensure Efficient Utilization
Keep costs low in AWS machine learning projects.
Use spot instances for efficiency.
Turn off resources when they’re not being used.
Check costs to ensure they remain low.
Lesson 2
Train Models on Large-Scale Datasets Using Distributed Training
Perform multi-instance training.
Use distributed data to improve performance.
Create and interpret manifest files.
Choose the best data stores for projects.
Lesson 3
Construct Pipelines for High-Throughput, Low-Latency Models
Set up Lambda functions for AWS projects.
Configure endpoints for auto-scaling.
Set up concurrency for Lambda functions.
Create feature stores for data imports.
Course Outline :: AWS Machine Learning Engineer Nanodegree ::
Lesson 4
Design Secure Machine Learning Projects in AWS
Resolve security issues using IAM settings.
Set up a virtual private cloud for security.
Manage security in SageMaker.
Inventory Monitoring at Distribution Centers
Distribution centers often use robots to move objects as a part of their operations. Objects are carried in bins where each bin can contain multiple objects. In this project, learners will have to build a model that can count the number of objects in each bin. A system like this can be used to track inventory and make sure that delivery consignments have the correct number of items.
To build this project, learners will have to use AWS Sagemaker and good machine learning engineering practices to fetch data from a database, preprocess it and then train a machine learning model. This project will serve as a demonstration of end-to-end machine learning engineering skills that will be an important piece of their job-ready portfolio.
Programme scope, delivery arrangements and suitability are confirmed during enquiry.