MLOps Syllabus
MLOps Introduction
1. What is MLOps & MLOps Motivation
2. Solutions and Future Trends
3. MLOps Components
4. Different Roles involved in MLOps (ML Engineering + Operations)
5. Machine Learning Life Cycle
6. MLOps Vs DevOps
Building end-to-end Machine Learning Project
1. Machine Learning Projects Checklist
2. Get the data
3. Launch, monitor, and maintain the system
4. Explore the data to gain insights
5. Prepare the data for Machine Learning algorithms
6. Explore many different models and short-list the best ones
7. Fine-tune model
Git foundation Git-hub
1. What? Why? When? Type? Industry wise uses of GIT
2. Creation of Github / Gitlab
3. Local GitHub UI installation, setup with VSCode
4. Local and Remote Repositories installation and configuration
5. GIT Repository initialisation
6. Commands: git log
7. Git Branches - What is branching in Git and why we need it?
8. Master/main branch and user-defined branch
9. Checkout and pushing to a branch, Merging of branches
10. Project control and management
11. In Remote Repositories, Initialisation of Remote Repositories
12. Pushing code to the remote repositories
13. Cloning of the remote repositories to local
14. PR (Pull Requests), Fetch and Pull
Data version control (DVC)
1.What is DVC, DVC Uses, Installation in Mac OS, Windows
2. Data Versioning, Model Versioning
3. Data Access, Model Access & Data Pipelines, Metrics, Parameters, Plots
4. Run, Queue, Compare, Persisting, and Sharing Experiments
5. Clean up, Versioning Data and Models, Sharing Data and Model Files
6. Data Registries, Shared Development Server & Project Structure
7. Setup Google Drive Remote, Large Dataset Optimisation
8. External Dependencies, Managing External Data
9. Automate Pipelines with DVC, Pipelines & Experiment Automation, Build automated pipelines
10. Experiments Management, Experimenting with reproducible pipelines, Common issues with ML
experiments
11. Tracking metrics and plots & Compare experiment results, Build, Test & Deploy
12. Introduction to CI/CD in Machine Learning & Build CI/CD pipeline
13. Install GitLab Runner and Trigger CI/CD pipeline
14. Build Machine Learning pipeline, Build CI/CD pipeline, Trigger CI/CD pipeline
15. Making Continuous Integration work with ML, DVC Integration with Project
Containers
1. Containers Concepts
2. Container Vs Virtual Machine
3. Installing docker on CentOS, Debian and Windows
4. Managing Container with Docker Commands
5. Building your own docker images
6. Docker Compose
7. Docker registry - Docker Hub
8. Networking inside single docker container
9. Lab - Running Python Web App in docker container
10. Lab - Create a docker image from git repo
11. Lab - Deploying flask app using docker-compose
12. Lab - Complex deployment using docker-compose
13. Lab - Creating your own docker registry
Kubernetes
1. Introduction to Kubernetes
2. Architecture and Kubernetes cluster installation
3. Raft Consensus Algorithm and Networking in Kubernetes
4. Raft Consensus Algorithm and Networking in Kubernetes
5. Installing Minikube and Objects in Kubernetes - Pod, Deployment
6. Services - Service Discovery, Service Object, Headless Services, Service Type
7. Role based Access
8. Volumes - Persistent Volumes, Persistent Volume Claim, Storage Class
9. Config Map and Secrets
10. Ingress - Virtual Host, Types, Fanout, Virtual Host, Fanout Ingress configuration,
11. Virtual Host Ingress configuration
12. Lab - Installing Minikube on EC2
13. Lab - Enable and access Dashboard Addon
14. Lab - Deploy flask web app on Minikube
15. Lab - Deploy Nginx app on Minikube
16. Lab - Deploy application with host type volumes
Graffana
1. Introduction to Prometheus
2. Prometheus installation
3. Introduction to Grafana
4. Grafana Installation
5. Integration of Prometheus and Grafana
6. Adding customised dashboard in Grafana
7. Introduction to node exporter
8. Integrating node exporter for monitoring
9. Lab - Scrape metric from Grafana
10. Lab - View Node exporter metric in Grafana
11. Lab - View Docker metric in Grafana
12. Lab - Import AWS EC2 dashboard in Grafana
Continuous Integration using jenkins
1. Introduction to Jenkins
2. Continuous Integration & Continuous Integration with Jenkins
3. Jenkins Architecture
4. Installing Jenkins on EC2
5. User management
6. Set up Jenkins Master & Slave
7. Setup CI-CD pipeline for sample project
8. Lab - Setup Role based access
9. Lab - Master/Slave Setup
10. Lab - Configure SCM in Jenkins
MLFlow(Manage your Machine Learning Lifecycle)
1. What is MLFLow & Installation
2. MLFlow Tracking, Where Runs Are Recorded, How Runs and Arti-facts are Recorded
3. Scenario 1: MLFlow on localhost
4. Scenario 2: MLFlow on localhost with SQLite
5. Scenario 3: MLFlow on localhost with Tracking Server
6. Scenario 4: MLFlow with remote Tracking Server, backend and arti-fact stores
7. Logging Data to Runs, Logging Functions, Launching Multiple Runs in One Program, Performance
Tracking with Metrics
8. Visualising Metrics, Automatic Logging
9. Scikit-learn, TensorFlow and Keras, Gluon, XGBoost, Pytorch
10. MLFLow Tracker, Organising Runs in Experiments, Managing Experiments and Runs with the
Tracking Service API, Tracking UI
11. Querying Runs Programmatically, MLFlow Tracking Servers, Storage,Networking
12. Logging to a Tracking Server, MLFlow Projects, Specifying Projects, Running Projects, Iterating
Quickly, Building Multi Step Workflows
13. MLFLow Models, Storage Format, Model Signature And Input Example
14. Model API, Built-In Model Flavours, Model Customisation, Built-In Deployment Tools,
Deployment to Custom Targets
15. Model Registry, Model Registry Workflows, UI Workflow, Registering a Model, Using the Model
Registry, API Workflow
16. Adding an MLFlow Model to the Model Registry, Fetching an MLFlow Model from the Model
Registry
17. Serving an MLFlow Model from Model Registry, Adding or Updating an MLFlow Model
Descriptions, Renaming an MLFlow Model
18. Transitioning an MLFlow Model’s Stage, Listing and Searching MLFlow Models, Archiving an
MLFlow Model, Deleting MLFlow Models