Machine Learning Engineering with Python: Manage the production life cycle of machine learning models using MLOps with practical examples
Supercharge the value of your machine learning models by building scalable and robust solutions that can serve them in production environments
- Explore hyperparameter optimization and model management tools
- Learn object-oriented programming and functional programming in Python to build your own ML libraries and packages
- Explore key ML engineering patterns like microservices and the Extract Transform Machine Learn (ETML) pattern with use cases
Machine learning engineering is a thriving discipline at the interface of software development and machine learning. This book will help developers working with machine learning and Python to put their knowledge to work and create high-quality machine learning products and services.
Machine Learning Engineering with Python takes a hands-on approach to help you get to grips with essential technical concepts, implementation patterns, and development methodologies to have you up and running in no time. You’ll begin by understanding key steps of the machine learning development life cycle before moving on to practical illustrations and getting to grips with building and deploying robust machine learning solutions. As you advance, you’ll explore how to create your own toolsets for training and deployment across all your projects in a consistent way. The book will also help you get hands-on with deployment architectures and discover methods for scaling up your solutions while building a solid understanding of how to use cloud-based tools effectively. Finally, you’ll work through examples to help you solve typical business problems.
By the end of this book, you’ll be able to build end-to-end machine learning services using a variety of techniques and design your own processes for consistently performant machine learning engineering.
What you will learn
- Find out what an effective ML engineering process looks like
- Uncover options for automating training and deployment and learn how to use them
- Discover how to build your own wrapper libraries for encapsulating your data science and machine learning logic and solutions
- Understand what aspects of software engineering you can bring to machine learning
- Gain insights into adapting software engineering for machine learning using appropriate cloud technologies
- Perform hyperparameter tuning in a relatively automated way
Who this book is for
This book is for machine learning engineers, data scientists, and software developers who want to build robust software solutions with machine learning components. If you’re someone who manages or wants to understand the production life cycle of these systems, you’ll find this book useful. Intermediate-level knowledge of Python is necessary.
Table of Contents
- Introduction to ML Engineering
- The Machine Learning Development Process
- From Model to Model Factory
- Packaging Up
- Deployment Patterns and Tools
- Scaling Up
- Building an Example ML Microservice
- Building an Extract Transform Machine Learning Use Case
Machine Learning Engineering with Python Contributors About the author About the reviewers Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Section 1: What Is ML Engineering? Chapter 1: Introduction to ML Engineering Technical requirements Defining a taxonomy of data disciplines Data scientist ML engineer Data engineer Assembling your team ML engineering in the real world What does an ML solution look like? Why Python? High-level ML system design Example 1: Batch anomaly detection service Example 2: Forecasting API Example 3: Streamed classification Summary Chapter 2: The Machine Learning Development Process Technical requirements Setting up our tools Setting up an AWS account Concept to solution in four steps Discover Play Develop Deploy Summary Section 2: ML Development and Deployment Chapter 3: From Model to Model Factory Technical requirements Defining the model factory Designing your training system Training system design options Train-run Train-persist Retraining required Detecting drift Engineering features for consumption Engineering categorical features Engineering numerical features Learning about learning Defining the target Cutting your losses Hierarchies of automation Optimizing hyperparameters AutoML Auto-sklearn Persisting your models Building the model factory with pipelines Scikit-learn pipelines Spark ML pipelines Summary Chapter 4: Packaging Up Technical requirements Writing good Python Recapping the basics Tips and tricks Adhering to standards Writing good PySpark Choosing a style Object-oriented programming Functional programming Packaging your code Why package? Selecting use cases for packaging Designing your package Building your package Testing, logging, and error handling Testing Logging Error handling Not reinventing the wheel Summary Chapter 5: Deployment Patterns and Tools Technical requirements Architecting systems Exploring the unreasonable effectiveness of patterns Swimming in data lakes Microservices Event-based designs Batching Containerizing Hosting your own microservice on AWS Pushing to ECR Hosting on ECS Creating a load balancer Pipelining 2.0 Revisiting CI/CD Summary Chapter 6: Scaling Up Technical requirements Scaling with Spark Spark tips and tricks Spark on the cloud Spinning up serverless infrastructure Containerizing at scale with Kubernetes Summary Section 3: End-to-End Examples Chapter 7: Building an Example ML Microservice Technical requirements Understanding the forecasting problem Designing our forecasting service Selecting the tools Executing the build Training pipeline and forecaster Training and forecast handlers Summary Chapter 8: Building an Extract Transform Machine Learning Use Case Technical requirements Understanding the batch processing problem Designing an ETML solution Selecting the tools Interfaces Scaling of models Scheduling of ETML pipelines Executing the build Not reinventing the wheel in practice Using the Gitflow workflow Injecting some engineering practices Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts
How to download source code?
1. Go to:
2. In the Find a repository… box, search the book title:
Machine Learning Engineering with Python: Manage the production life cycle of machine learning models using MLOps with practical examples, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.