Litcius/Paper detail

Software Architecture Challenges for ML Systems

Grace A. Lewis, İpek Özkaya, Xiwei Xu

202151 citationsDOI

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.

Topics & Concepts

Computer scienceArchitectureSoftware engineeringSoftware architectureSoftware versioningReference architectureRetrainingSoftwareArchitecture tradeoff analysis methodEngineering managementProcess managementEngineeringOperating systemInternational tradeVisual artsBusinessArtSoftware Engineering ResearchData Stream Mining TechniquesAnomaly Detection Techniques and Applications
Software Architecture Challenges for ML Systems | Litcius