Machine Learning Systems
Principles and Practices of Engineering Artificially Intelligent Systems
Machine Learning Systems offers readers an entry point to understand machine learning (ML) systems by grounding concepts in applied ML. As the demand for efficient and scalable ML solutions grows, the ability to construct robust ML pipelines becomes increasingly crucial. This book focuses on demystifying the process of developing complete ML systems suitable for deployment, spanning key phases like data collection, model design, optimization, acceleration, security hardening, and integration, all from a systems perspective. The text covers a wide range of concepts relevant to general ML engineering across industries and applications, using TinyML as a pedagogical tool due to its global accessibility. Readers will learn basic principles around designing ML model architectures, hardware-aware training strategies, performant inference optimization, and benchmarking methodologies. The book also explores crucial systems considerations in areas like reliability, privacy, responsible AI, and solution validation. Enjoy reading it!
🎙 Listen to the AI Podcast, created using Google’s Notebook LM and inspired by insights drawn from our IEEE education viewpoint paper. This podcast provides an accessible overview of what this book is all about.
Acknowledgment: Special thanks to Marco Zennaro, one of our early community contributors who helped us with the AI for Good chapter, for inspiring the creation of this podcast. Thank you, Marco!
Preface
Welcome to Machine Learning Systems. This book is your gateway to the fast-paced world of AI systems. It is an extension of the course CS249r at Harvard University.
We have created this open-source book as a collaborative effort to bring together insights from students, professionals, and the broader community of AI practitioners. Our goal is to develop a comprehensive guide that explores the intricacies of AI systems and their numerous applications.
“If you want to go fast, go alone. If you want to go far, go together.” – African Proverb
This isn’t a static textbook; it’s a living, breathing document. We’re making it open-source and continuously updated to meet the ever-changing needs of this dynamic field. Expect a rich blend of expert knowledge that guides you through the complex interplay between cutting-edge algorithms and the foundational principles that make them work. We’re setting the stage for the next big leap in AI innovation.
Why We Wrote This Book
We’re in an age where technology is always evolving. Open collaboration and sharing knowledge are the building blocks of true innovation. That’s the spirit behind this effort. We go beyond the traditional textbook model to create a living knowledge hub, so that we can all share and learn from one another.
The book focuses on AI systems’ principles and case studies, aiming to give you a deep understanding that will help you navigate the ever-changing landscape of AI systems. By keeping it open, we’re not just making learning accessible but inviting new ideas and ongoing improvements. In short, we’re building a community where knowledge is free to grow and light the way forward in global AI technology.
What You’ll Need to Know
To dive into this book, you don’t need to be an AI expert. All you need is a basic understanding of computer science concepts and a curiosity to explore how AI systems work. This is where innovation happens, and a basic grasp of programming and data structures will be your compass.
Content Transparency Statement
This book is a community-driven project, with content generated collaboratively by numerous contributors over time. The content creation process may have involved various editing tools, including generative AI technology. As the main author, editor, and curator, Prof. Vijay Janapa Reddi maintains human oversight and editorial oversight to make sure the content is accurate and relevant. However, no one is perfect, so inaccuracies may still exist. We highly value your feedback and encourage you to provide corrections or suggestions. This collaborative approach is crucial for enhancing and maintaining the quality of the content contained within and making high-quality information globally accessible.
Want to Help Out?
If you’re interested in contributing, you can find the guidelines here.
Get in Touch
Do you have questions or feedback? Feel free to e-mail Prof. Vijay Janapa Reddi directly, or you are welcome to start a discussion thread on GitHub.
Contributors
A big thanks to everyone who’s helped make this book what it is! You can see the full list of individual contributors here and additional GitHub style details here. Join us as a contributor!
Copyright
This book is open-source and developed collaboratively through GitHub. Unless otherwise stated, this work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 CC BY-SA 4.0). You can find the full text of the license here.
Contributors to this project have dedicated their contributions to the public domain or under the same open license as the original project. While the contributions are collaborative, each contributor retains copyright in their respective contributions.
For details on authorship, contributions, and how to contribute, please see the project repository on GitHub.
All trademarks and registered trademarks mentioned in this book are the property of their respective owners.
The information provided in this book is believed to be accurate and reliable. However, the authors, editors, and publishers cannot be held liable for any damages caused or alleged to be caused either directly or indirectly by the information contained in this book.