1 Essentials of machine learning system design
This chapter covers
- What machine learning (ML) system design is, why it is so difficult to define, and where you may first encounter it
- Who we believe will benefit most from reading this book, what information we’re about to give you, and how it will be structured
- What principles of ML system design can be helpful and the best time to apply them
Machine learning (ML) system design is a relatively new term that often gets people from the industry puzzled. Many find it hard to compile a certain scope of responsibilities behind this term, not to mention trying to find a proper name for a respective role or position. The job may be done with various efficiency by ML engineers, software engineers, or even data scientists, depending on the scope of their role.
While all of the positions are valid, we believe that to become a seasoned expert in ML system design, you have to encapsulate expertise from each of the backgrounds. Note that while some of the things we discuss in this book are specific to ML systems, others will be familiar to those readers who have already built non-ML software systems (you will find this information in chapters 2, 13, and 16). This is because ML system design, although a new phenomenon, is still based on the classic fundamentals of software development.