liveBook · Manning

What you will learn in Machine Learning Platform Engineering

Build an internal developer platform for ML and AI systems

by Benjamin Tan Wei Hao, Shanoop Padmanabhan, and Varun Mallya

Chapter by chapter

Chapter 1: Getting started with MLOps and ML engineering

The chapter introduction sets out a practical, project-based path from ML experimentation to production systems.

1.1 The ML life cycle · 1.1.1 Experimentation phase · 1.1.2 Development/staging/production phase · 1.2 Skills needed for MLOps · 1.2.1 Required skills for ML engineers · 1.2.2 Prerequisites · 1.3 Building an ML platform · 1.3.1 Build vs. buy · 1.3.2 Looking ahead: From MLOps to LLMOps · 1.3.3 Tools used in this book · 1.4 Building ML systems · 1.4.1 Introducing the ML projects · 1.4.2 ML projects · 1.5 Summary

What you learn in chapter 1 →

Chapter 2: What is MLOps?

The chapter introduction frames MLOps around the gap between a useful model and a reliable ML system, then previews the iterative life cycle and the chapter’s scope.

2.1 The iterative MLOps life cycle · 2.1.1 Data collection · 2.1.2 Exploratory Data Analysis · 2.1.3 Modeling and training · 2.1.4 Model evaluation · 2.1.5 Deployment · 2.1.6 Monitoring · 2.1.7 Maintenance, updates, and review · 2.2 Why is robust MLOps important ? · 2.3 Role of MLOps in a mature organization · 2.4 DevOps vs. MLOps · 2.5 Levels of MLOps maturity · 2.5.1 Level 0: Basic · 2.5.2 Level 1: Intermediate · 2.5.3 Level 2: Advanced · 2.6 Summary

What you learn in chapter 2 →

Chapter 3: Building applications on Kubernetes

This chapter introduces the infrastructure tools and practices that support reliable ML systems, from packaging applications to deploying, automating, and monitoring them.

3.1 Containers and tooling · 3.2 Docker · 3.2.1 Write the application code · 3.2.2 Write a Dockerfile · 3.2.3 Building and pushing a Docker image · 3.3 Kubernetes · 3.3.1 Kubernetes architecture overview · 3.3.2 Kubectl · 3.3.3 Kubernetes objects · 3.3.4 Networking and services · 3.3.5 Other objects · 3.3.6 Helm charts · 3.3.7 Conclusion · 3.4 Continuous integration and deployment · 3.4.1 GitLab CI · 3.4.2 Argo CD · 3.5 Prometheus and Grafana · 3.6 Summary

What you learn in chapter 3 →

Chapter 4: Designing reliable ML systems

This introduction maps the tools in a small ML platform, focusing the chapter on MLflow experiment tracking and Feast feature storage while previewing deployment and monitoring.

4.1 MLflow for experiment tracking · 4.1.1 Data exploration · 4.1.2 MLflow tracking · 4.1.3 MLflow model registry · 4.2 Feast as a feature store · 4.2.1 Registering features · 4.2.2 Retrieving features · 4.2.3 Feature server · 4.2.4 Using the Feast UI · 4.3 Summary

What you learn in chapter 4 →

Chapter 5: Orchestrating ML pipelines

This introduction explains why MLflow and Feast need pipeline orchestration and previews an income-classification batch inference workflow built with Kubeflow Pipelines.

5.1 Kubeflow Pipelines: Task orchestrator · 5.1.1 Kubeflow components · 5.1.2 Income classifier pipeline · 5.2 Summary

What you learn in chapter 5 →

Chapter 6: Productionizing ML models

The chapter introduces production deployment with BentoML and data drift monitoring with Evidently, using the income classification model as its running example.

6.1 BentoML as a deployment platform · 6.1.1 Building a Bento · 6.1.2 Building and pushing the Bento · 6.1.3 Deploying a Bento · 6.2 Evidently for data drift monitoring · 6.2.1 Data drift detection report and dashboard · 6.2.2 Data drift detection Kubeflow pipeline component · 6.2.3 Data drift detection for a model deployed as an API · 6.3 Summary

What you learn in chapter 6 →

Chapter 7: Data analysis and preparation

This introduction explains why data preparation matters and previews how Kubeflow notebooks and pipelines will be used for two capstone ML projects.

7.1 Data analysis · 7.1.1 Launching a notebook server in Kubeflow · 7.1.2 Workspace and data volumes · 7.1.3 Configurations and affinity/tolerations · 7.1.4 Customizing the menu · 7.1.5 Creating a custom Kubeflow notebook image · 7.2 Data passing · 7.2.1 Scenario 1: Passing simple values to downstream components · 7.2.2 Scenario 2: Passing paths for larger data · 7.2.3 Overview of KFP v2 artifact types · 7.3 Data preparation in action · 7.3.1 Data preparation: Object detection · 7.3.2 Data preparation: Movie recommender · 7.4 Summary

What you learn in chapter 7 →

Chapter 8: Model training and validation: Part 1

This chapter introduction shifts the pipeline from data preparation to reproducible model training and validation, using object detection as the main example.

8.1 Training an object detection model · 8.1.1 Training YOLO on a custom dataset · 8.1.2 Training the model · 8.1.3 Container components for system dependencies · 8.1.4 Creating the validation component · 8.1.5 Creating the pipeline · 8.1.6 Executing the pipeline · 8.1.7 Validating model artifacts · 8.2 Summary

What you learn in chapter 8 →

Chapter 9: Model training and validation: Part 2

The chapter introduces production-oriented ways to manage pipeline data, observe training, and trace model versions in the ID card detection and movie recommendation projects.

9.1 Storing data with PersistentVolumeClaim · 9.1.1 Refactoring the pipeline with a PVC · 9.1.2 Efficient dataset management · 9.1.3 Creating a VolumeOp · 9.1.4 Download Op using PVC · 9.1.5 Splitting the dataset directly · 9.1.6 Simplifying model training · 9.1.7 Simplifying model validation · 9.2 Tracking training with TensorBoard · 9.2.1 Launching a new TensorBoard · 9.2.2 Exploring YOLOv8’s default graphs · 9.3 Movie recommender project · 9.3.1 Reading data from MinIO and quality assurance · 9.3.2 Model training component · 9.3.3 Metrics for evaluation · 9.3.4 Experiment tracking with MLflow · 9.3.5 Model registry with MLflow · 9.3.6 Creating a pipeline from components · 9.3.7 Local inference in a notebook · 9.4 Summary

What you learn in chapter 9 →

Chapter 10: Model inference and serving

The chapter introduces the move from trained, validated models to serving them as APIs, outlines the BentoML deployment path, and explains the value and limits of self-service deployment.

10.1 Model deployment is hard · 10.2 BentoML: Simplifying model deployment · 10.3 A whirlwind tour of BentoML · 10.3.1 BentoML Service and Runners · 10.4 Executing a BentoML Service locally · 10.4.1 Loading a model with BentoML Runner · 10.5 Building Bentos: Packaging your service for deployment · 10.5.1 Bento tags: Versioning and managing your Bentos · 10.6 BentoML and MLflow inference · 10.7 Using only MLflow to create an inference service · 10.8 KServe: An alternative to BentoML · 10.9 Summary

What you learn in chapter 10 →

Chapter 11: Monitoring and explainability

This chapter introduces operational monitoring, data drift detection, and explainability as ways to keep deployed ML services reliable and understand their decisions.

11.1 Monitoring · 11.1.1 Basic monitoring · 11.1.2 Custom metrics · 11.1.3 Logging · 11.1.4 Alerting · 11.2 Data drift detection · 11.2.1 Object detection · 11.2.2 Movie recommender · 11.3 Explainability · 11.3.1 Object detection · 11.3.2 Movie recommendation · 11.4 Summary

What you learn in chapter 11 →

Chapter 12: Designing LLM-powered systems

The chapter introduces LLMOps as an extension of existing MLOps infrastructure and previews building an observable RAG application before hardening it for production.

12.1 LLMOps: New challenges, familiar principles · 12.1.1 What makes LLM applications different · 12.1.2 Extending our ML platform for LLMs · 12.1.3 Essential tools for LLM applications · 12.2 Building DataKrypt’s DakkaBot: A simple RAG architecture · 12.2.1 What you’ll build · 12.2.2 Beyond single API calls: Designing for composability · 12.2.3 Google’s Gemini LLM and embeddings · 12.2.4 The retrieval component · 12.2.5 The augmentation component · 12.2.6 The generation component · 12.3 Giving DakkaBot a UI · 12.4 Observability for LLM applications · 12.4.1 Set up Langfuse via Docker · 12.4.2 Integrating Langfuse with DakkaBot · 12.4.3 Enhanced observability in DakkaBotCore · 12.4.4 Beyond traditional metrics · 12.5 Summary

What you learn in chapter 12 →

Chapter 13: Production LLM system design

This chapter introduction explains why production LLM applications need disciplined prompt management, semantic evaluation, safety controls, and cost monitoring beyond traditional ML practices.

13.1 Prompt engineering: Code for the generative AI era · 13.1.1 Treating prompts as critical infrastructure · 13.1.2 Langfuse prompt management for DakkaBot · 13.1.3 Langfuse prompt management for production · 13.2 Testing LLM applications · 13.2.1 Evaluation framework for LLM responses · 13.2.2 Safety and adversarial testing · 13.3 Governance and safety in production · 13.3.1 Implementing safety guardrails · 13.4 Cost optimization strategies · 13.4.1 Understanding LLM economics · 13.4.2 Model selection strategy · 13.4.3 Caching strategies · 13.4.4 Prompt optimization for efficiency · 13.4.5 Production cost monitoring · 13.4.6 From traditional ML to LLMOps · 13.5 Summary

What you learn in chapter 13 →

Concepts explained in this book

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.