liveBook · Manning

Machine learning system design

As explained in Machine Learning System Design

The practice of architecting, building, and evaluating software systems whose behavior depends on machine learning models and their surrounding data and operational components.

Before choosing a model or tool, state the problem the system must solve. Ask what business goal it serves, what it may cost, and whether its likely output justifies that cost. A sophisticated implementation cannot rescue a poorly defined or unsolvable problem. section 2.0

Machine learning system design is the architectural plan that connects an ML system’s building blocks. MLOps supplies tools for building and maintaining the system; design provides a blueprint for how the pieces fit together, where bottlenecks may arise, and how the system can remain flexible as it grows. It draws on software engineering as well as ML, product management, project management, and leadership. section 1.1.1 section 1.4

Treat design as a set of decisions to revisit, not a demand to implement every possible component:

  • Articulate the problem before entering the solution space; consider whether it is solvable with available technology. section 2.0
  • Clarify purpose, budget, deadlines, expected value, risks, and limitations before scoping the project. section 1.4 section 2.0
  • Use a roadmap and checklists to consider each part of the system, including why and when a technique or tool is useful. Not every checklist item needs to be implemented. section 1.2 section 1.4

When a blueprint matters

A shed might be built without a detailed plan; a house or skyscraper cannot sensibly be approached the same way. Likewise, a simple ML project may need little formal design, while a larger system benefits from an explicit plan for its components and their connections. section 1.1.1

Do not assume every proposed problem deserves an ML build. Some must wait for better technology; others are ill-posed, such as trying to devise an algorithm that reliably beats casino roulette. Establish that distinction before committing to a solution. section 2.0

How Machine Learning System Design covers it

How deep it goes
Develops a high-level, checklist-based approach with rationale and tool choices, rather than a deep algorithm tutorial or exhaustive tool catalog.
Examples
Uses a shed-versus-skyscraper analogy and an impossible roulette prediction goal to illustrate planning effort and problem feasibility.
What it assumes
Assumes some software or ML experience for comparing approaches; does not teach classical ML or deep learning from first principles.
What you can do after
Practice/perform it: define a feasible problem, assess business constraints, and plan system components before committing to implementation.
How it connects
Connects MLOps and software engineering with ML, product management, project management, and leadership.

Also explained in

Compare how 2 books explain machine learning system design →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Machine Learning System Design. The section links point to the parts of the book it draws on.