Book Review: Designing Machine Learning Systems

Table of Contents

Since the start of this year, my place of work has started to delve deeper into the work of AI model infrastructure. Much of the work around AI leaves me asking “why” on many things. In addition to this, many new terms are getting thrown around at work and I find myself lost. As much as I want others at the office to teach me everything, we are all busy. I am one of those people who still like to read books to learn (which is a bit ironic given I could just ask ChatGPT I guess) and thus I found myself reading this book.

I found Designing Machine Learning Systems fairly soon after and started reading. It begins fairly high-level and contains information most of us know at this point. ML models run pretty much everywhere and are ubuquitous, and we encounter them pretty much any time we use the internet. It then quickly goes into the types of problems that you can solve with it, which I found useful as it pertains to specific business problems that you can face.

Chapter 3 is where things get more interesting, as the book delves into topics like data engineering. This is a topic I have encountered in the field fairly often but it’s nice to have a book give some context as to why it’s necessary. It also gives an overview of the many different data types that exist and the benefits/drawbacks of each.

Chapters 4 through 6 is where things get meatier and a bit heavy, as the book delves into collecting data, model features, and developing and testing models. This is the part of the book I found the most difficult to get through as I had no previous knowledge of these topics, but is also the part where I had the most to gain. I have a new, massive appreciation for how much work goes into training models, and an understanding of the problems that the industry faces in tackling them. Even though I may not work on these problems directly, I felt that having a conceptual overview on them can help with discussions I may have with team members in the future.

Chapters 7 through 10 were slightly easier although still difficult, mostly because these parts dealt with running models in production and tooling around DevOps. This is the part of the book that will probably help me the most and is the most relevant to me, as I will be working on the MLOps for my company in the not-so-distant future. The chapter on tooling (10) was especially useful, as I was unaware of many of these tools before reading the book.

It’s important to note that this book deals with training your own models vs. using a public one like GPT, or fine-tuning. This is work that is most likely only being done by established companies or consulting firms, so it is not likely I will be using most of the information (at least not immediately). Nonetheless, I though it would be helpful to give me a foundation upon which future learnings could be built. My next book will be AI Engineering which is by the same author and looks to be much more relevant. I will be dropping another post when I finish that one (hopefully not too far away). Stay tuned!