[Book Review] Effective Machine Learning Teams

3 min read
Cover
"This review was written after receiving a complimentary book through Hanbit Media's 'I Am a Reviewer' program."

Before We Begin

If you're running an ML team or working on an ML project and wondering why it's so difficult, or if you feel like you're missing something beyond the technical aspects, I recommend this book. However, if you simply want to learn ML algorithms or data analysis techniques, I'd suggest looking elsewhere. This book will be more helpful if you already have basic knowledge of ML team operations and product development.

Introduction

Book Structure

This book is a practical guide for teams working with machine learning, organized into 3 core sections:

  • Part 1: Product and Delivery
  • Part 2: Engineering
  • Part 3: Team

Summary

Core Message: ML Is Not Just a Technical Problem

The book's introduction clearly states that building ML products isn't simply about ML algorithms or data problems. It focuses on finding solutions centered around the concept of 'team' from a holistic perspective, exploring principles and practices that can help.

Part 1: Product and Delivery

It covers the initial stages of service development using ML step by step. It systematically explains what's important throughout the entire process from idea collection, validation, delivery planning, to execution.

Part 2: Engineering

Starting with practical explanations of Docker, it emphasizes the importance of testing. It comprehensively covers not just general software testing, but also special testing methods unique to ML models.

It shows solutions for technical debt through refactoring, and the approach to realistic technical debt management techniques was particularly impressive. These aren't theoretical discussions but content that can actually be used in the field.

The section on overcoming human status quo bias and strategies for maintaining ML services in a healthy state was especially interesting. It's a realistic approach that considers not just technical issues but also human psychological characteristics.

Automated testing, security, pair programming, version control, trunk-based development, configuration and deployment automation, monitoring... It specifically explains how to apply strategies already proven in general software development to ML environments.

Part 3: Team

The team-related part contains information general enough to be helpful for any team. However, since it's explained in the context of ML teams, ML team-specific content appears throughout, which I found particularly engaging.

Conclusion

While working on ML projects, I was so focused on technical aspects that I missed many important things in team operations and product delivery processes. This book seems to fill those gaps well.

The concrete methods that can be applied immediately to practice rather than theory are especially valuable, and there's plenty of content worth trying out in our team right away.