Reactive for machine-learning teams
Machine-learning systems can be designed to be just as reactive as the most bulletproof web or mobile app. It takes a system-level understanding of your machine-learning system and a team-level commitment to continual evolution. But you can succeed. Jeffrey Smith shows you how.
Talk Title | Reactive for machine-learning teams |
Speakers | Jeffrey Smith (IPsoft) |
Conference | O’Reilly Software Architecture Conference |
Conf Tag | Engineering the Future of Software |
Location | New York, New York |
Date | April 3-5, 2017 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Reactive systems design is an exciting, new approach to designing applications that stay responsive to user input in the face of failures and changes in scale. It’s been successfully applied across web and mobile apps, but few have shared how it might work with a machine-learning system. Jeffrey Smith helps fill that gap, giving an architecture-oriented view on how machine-learning systems can be refactored to be more reactive. Jeff covers the various common components of machine-learning systems, such as data collectors, feature generation and model learning pipelines, model servers, model microservices, experimentation frameworks, model publishers, model supervisors, and more and explores the key challenges in designing systems made up of components like these. Along the way, Jeff characterizes when, where, and how reactive principles can be applied. But you can’t change everything overnight. There are unique challenges in building machine-learning systems, such as nondeterministic behavior, the lack of clear business rules, computational explosion due to sophisticated modeling techniques, and more, and evolving a machine-learning system to be more reactive is not a trivial task. It’s a long journey. Jeff walks you through what this journey could look like for a machine-learning team, paying particular attention to the system-wide implications of design choices. These steps include: