Machine Learning Systems

with tinyML

Abstract
Machine Learning Systems with TinyML 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 aims to demystify 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!

Preface

Cover image.

Welcome to Machine Learning Systems with TinyML. 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 aim to make this open-source book a collaborative effort that brings together insights from students, professionals, and the broader community of AI practitioners. We want to create a one-stop guide that dives deep into the nuts and bolts of AI systems and their many 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.

Book Conventions

For details on the conventions used in this book, check out the Conventions section.

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!