Software Architecture Challenges for ML Systems
Authors:
- 1 September 2021
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 634-638
Abstract
Developing machine learning (ML) systems, just like any other system, requires architecture thinking. However, there are characteristics of ML components that create challenges and unique quality attribute (QA) concerns for software architecture and design activities, such as data-dependent behavior, detecting and responding to drift over time, and timely capture of ground truth to inform retraining. This paper presents four categories of software architecture challenges that need to be addressed to support ML system development, maintenance and evolution: software architecture practices for ML systems, architecture patterns and tactics for ML-important QAs, monitorability as a driving QA, and co-architecting and co-versioning. These challenges were collected from targeted workshops, practitioner interviews, and industry engagements. The goal of our work is to encourage further research in these areas and use the information presented in this paper to guide the development of empirically-validated practices for architecting ML systems.Keywords
This publication has 14 references indexed in Scilit:
- An end-to-end model-based approach to support big data analytics developmentJournal of Computer Languages, 2020
- Software engineering challenges for machine learning applications: A literature reviewIntelligent Decision Technologies, 2020
- Studying Software Engineering Patterns for Designing Machine Learning Systems2019
- Requirements Engineering for Machine Learning: Perspectives from Data Scientists2019
- Software Engineering for Machine Learning: A Case Study2019
- A Taxonomy of Software Engineering Challenges for Machine Learning Systems: An Empirical Investigation2019
- Model Cards for Model Reporting2019
- Software Engineering for Machine-Learning Applications: The Road AheadIEEE Software, 2018
- A Survey of Software Quality for Machine Learning Applications2018
- Characterizing concept driftData Mining and Knowledge Discovery, 2016