Machine Learning Systems

with TinyML

Abstract
Machine Learning Systems with TinyML offers readers an entry point to understand comprehensive machine learning systems by grounding concepts in accessible TinyML applications. As resource-constrained edge computing sees rapid expansion, the ability to construct efficient ML pipelines grows 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. The text touches on the full breadth of concepts relevant to general ML engineering across industries and applications through the lens of TinyML. Readers will learn basic principles around designing ML model architectures, hardware-aware training strategies, performant inference optimization, benchmarking methodologies and more. Additionally, crucial systems considerations in areas like reliability, privacy, responsible AI, and solution validation are also explored in depth. In summary, the book strives to equip newcomers and professionals alike with integrated knowledge covering full stack ML system development, using easily accessible TinyML applications as the vehicle to impart universal concepts required to unlock production ML.

Preface

Cover image.

Welcome to Machine Learning Systems with TinyML. This book is your gateway to the fast-paced world of AI systems through the lens of embedded systems. It is an extension of the course, TinyML from CS249r at Harvard University.

Our aim is to make this open-source book a collaborative effort that brings together insights from students, professionals, and the broader community of applied machine learning practitioners. We want to create a one-stop guide that dives deep into the nuts and bolts of AI systems and their many uses.

“If you want to go fast, go alone. If you want to go far, go together.” – African Proverb

This isn’t just a static textbook; it’s a living, breathing document. We’re making it open-source and continually 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 tech 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 Machine Learning Systems with TinyML. We’re going beyond the traditional textbook model to create a living knowledge hub.

The book covers principles, algorithms, and real-world application case studies, aiming to give you a deep understanding that will help you navigate the ever-changing landscape of embedded AI. By keeping it open, we’re not just making learning accessible; we’re 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 embedded AI tech.

What You’ll Need to Know

You don’t need to be a machine learning whiz to dive into this book. All you really need is a basic understanding of systems and a curiosity to explore how embedded hardware, AI, and software come together. This is where innovation happens, and a basic grasp of how systems work will be your compass.

We’re also focusing on the exciting overlaps between these fields, aiming to create a learning environment where traditional boundaries fade away, making room for a more holistic, integrated view of modern tech. Your interest in embedded AI and low-level software will guide you through a rich and rewarding learning experience.

Book Conventions

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

Want to Help Out?

If you’re interested in contributing, you can find the guidelines here.

Get in Touch

Got 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!