All 60 tasks, level by level
The real graded MLOps tasks the portal assigns, grouped into three levels.
The portal assigns these MLOps tasks. Finish Level 1 before Level 2 and Level 2 before Level 3. Your mentor may mark some tasks as required for the certificate.
Level 1: Foundations (24 tasks)
| Task | What to do |
|---|---|
| What MLOps is | Explain the ML lifecycle (data, training, deployment, monitoring) and where MLOps fits, with a diagram. |
| Reproducible environment | Create a project with a pinned requirements file or conda environment and a README that anyone can follow. |
| Train a baseline model | Train a simple scikit-learn model on a public dataset and record its accuracy and training time. |
| Project structure | Organise your ML code into data, features, train and predict modules instead of one notebook. |
| Version code with Git | Commit your project with a clear history and a .gitignore that keeps data and models out of Git. |
| Version data with DVC | Track your dataset with DVC and show how to switch between two versions of the data. |
| Experiment tracking | Log parameters, metrics and the model for 5 training runs with MLflow and compare them. |
| Save and load models | Save a trained model with joblib or ONNX and load it in a separate script to predict. |
| Model serving API | Serve your model with FastAPI or Flask: POST features, get a prediction back as JSON. |
| Input validation | Validate prediction requests with Pydantic and return clear errors for bad input. |
| Unit tests for ML code | Write tests for data cleaning, feature code and the prediction endpoint. |
| Containerise the model | Write a Dockerfile for the model API and run it locally. |
| Makefile or task runner | Add make (or invoke/just) commands for setup, train, test and serve. |
| Config files for training | Move hyperparameters to a YAML config and load it with Hydra or a simple loader. |
| Random seeds | Make training reproducible with fixed seeds and show two identical runs. |
| Data schema | Define the expected input schema with Pandera or Great Expectations and validate it. |
| Model card | Write a model card: purpose, data, metrics, limits and ethical considerations. |
| Notebook to script | Convert an exploratory notebook into clean, tested Python modules. |
| Pre-commit for ML | Add black, ruff and nbstripout as pre-commit hooks. |
| Environment with Docker | Build a training image so anyone can run training with one command. |
| Compare model formats | Save a model as pickle, joblib and ONNX and compare size and load time. |
| Simple dashboard of runs | Show your MLflow runs in a table and pick the best model with a rule. |
| API contract | Document your prediction API with OpenAPI, including examples. |
| Cost of training | Estimate the cost of training your model on a cloud GPU vs a CPU. |
Level 2: Building real features (20 tasks)
| Task | What to do |
|---|---|
| Training pipeline | Turn data preparation, training and evaluation into a pipeline (DVC pipeline, Prefect or Airflow). |
| CI for ML | Add GitHub Actions that run tests and a quick training check on every push. |
| Model registry | Register models in MLflow's registry and move one from staging to production. |
| Deploy to the cloud | Deploy the model API to a free cloud service and share the live URL. |
| Batch prediction | Build a batch job that scores a whole CSV file and writes the results with a timestamp. |
| Feature store concept | Explain feature stores and build a simple shared feature table used by training and serving. |
| Hyperparameter tuning | Tune your model with Optuna or GridSearch and log every trial to MLflow. |
| Model evaluation report | Produce an evaluation report with metrics, confusion matrix and error analysis on slices of data. |
| Load testing | Load-test your model API with Locust or k6 and report latency and throughput. |
| Logging predictions | Log every prediction with inputs, output, model version and time for later monitoring. |
| Feature pipeline | Separate feature computation into a reusable pipeline used by training and serving. |
| Pipeline orchestration | Run your pipeline in Airflow, Prefect or Kubeflow Pipelines with retries. |
| Model validation gate | Block promotion of a model that performs worse than the current one on a holdout set. |
| Shadow deployment | Run a new model in shadow mode next to the old one and compare predictions. |
| Serving with BentoML or Ray Serve | Serve your model with a model-serving framework and compare with FastAPI. |
| GPU basics | Train a small deep learning model on a free GPU notebook and log GPU usage. |
| Prediction caching | Cache predictions for repeated inputs and measure latency improvement. |
| Secrets and credentials | Keep cloud and database credentials out of code in your ML pipeline. |
| Data versioning workflow | Show a full workflow: change data, retrain, compare and roll back with DVC. |
| Explainability | Add SHAP explanations to predictions and show them in the API response. |
Level 3: Professional work and capstone (16 tasks)
| Task | What to do |
|---|---|
| Data drift detection | Use Evidently or a custom check to compare new data with training data and flag drift. |
| Model monitoring dashboard | Build a dashboard with prediction volume, latency and drift over time. |
| Automated retraining | Trigger retraining when drift is detected or on a schedule, and register the new model only if it beats the old one. |
| Kubernetes deployment | Deploy the model to a local Kubernetes cluster with a health check and two replicas. |
A/B or canary release | Route a share of traffic to a new model version and compare their results. |
| LLM serving basics | Serve a small open model or an LLM API behind your own endpoint with caching and rate limits. |
| Responsible ML checks | Check your model for bias across one sensitive attribute and document the result and fix. |
| Capstone: end-to-end MLOps | Deliver a full MLOps project: versioned data, tracked experiments, CI, deployed API, monitoring and retraining, with an architecture diagram. |
| Concept drift simulation | Simulate concept drift on a dataset and show your monitoring catching it. |
| Feature store with Feast | Set up Feast with offline and online stores for one feature set. |
| LLMOps basics | Version prompts, log LLM calls and evaluate outputs for an LLM feature. |
| RAG evaluation pipeline | Build an automated evaluation for a RAG app with a fixed question set. |
| Autoscaling model service | Configure autoscaling for your model service and test it under load. |
| Governance and audit | Record who trained, approved and deployed each model version. |
| Incident runbook for models | Write a runbook for a model producing bad predictions in production. |
| Capstone 2: ML platform template | Build a reusable MLOps template repo (data checks, training, tracking, CI, serving, monitoring) and document how a team would use it. |