Book Profile
Machine Learning Design Patterns
Valliappa Lakshmanan, Sara Robinson · 2020
A catalog of thirty reusable design patterns that provide proven solutions to common challenges in data preparation, model building, and MLOps for machine learning practitioners.
Get the book →For data scientists, data engineers, and ML engineers who already know the basics of machine learning, this book provides the crucial next step: learning the hard-earned best practices for building robust, scalable, and maintainable production ML systems. Moving beyond the 'what' and 'how' of algorithms, this book focuses on the 'why' behind the solutions that experienced practitioners use to solve recurring problems in data representation, problem framing, model training, resilient serving, and reproducibility. It offers a catalog of 30 practical design patterns, complete with code examples and trade-off analyses, giving you and your team a shared vocabulary and a toolkit of proven strategies to build high-quality ML systems that deliver real-world value.
What it argues
This model outlines the causal framework implied by the book 'Machine Learning Design Patterns'. It posits that the deliberate application of specific categories of ML design patterns (design levers) enhances crucial qualities of the ML system and development process (mediators), which in turn leads to improved final outcomes like model performance, business value, and system maintainability.
Key ideas it contributes
- Data Representation Patterns — The set of techniques and patterns used to transform raw input data into features suitable for a machine learning model, focusing on capturing relevant information and relationships.
- Problem Representation Patterns — The set of techniques used to frame the machine learning task itself, including the choice of model output, handling of labels, and composition of models.
- Training Patterns — The set of techniques used to modify and optimize the model training process for improved performance, speed, and resource utilization.
- Resilient Serving Patterns — The set of architectural patterns used to deploy and operate ML models in production to ensure scalability, robustness, and performance monitoring.
- Reproducibility Patterns — The set of engineering practices and patterns used to ensure that all aspects of the machine learning process, from data processing to model training, can be consistently and reliably reproduced.
- Responsible AI Patterns — The set of techniques used to analyze, interpret, and govern ML models to ensure they are fair, transparent, and aligned with human values.
- Feature Quality — The degree to which the features used for model training effectively capture the relevant signals and relationships present in the raw data needed for the prediction task.
- Problem-Task Alignment — The degree to which the model's objective function, architecture, and output structure are correctly aligned with the nuances of the actual business problem being solved.