The increasing usage of machine learning (ML) coupled with the software architectural challenges of the modern era has resulted in two broad research areas: i) software architecture for ML-based systems, which focuses on developing architectural techniques for better developing ML-based software systems, and ii) ML for software architectures, which focuses on developing ML techniques to better architect traditional software systems. In this work, we focus on the former side of the spectrum with a goal to highlight the different architecting practices that exist in the current scenario for architecting ML-based software systems. We identify four key areas of software architecture that need the attention of both the ML and software practitioners to better define a standard set of practices for architecting ML-based software systems. We base these areas in light of our experience in architecting an ML-based software system for solving queuing challenges in one of the largest museums in Italy.
翻译:日益使用机器学习(ML),加上现代软件建筑挑战,产生了两大研究领域:(1) 以ML为基础的系统的软件结构,重点是开发建筑技术,以更好地开发以ML为基础的软件系统;(2) 软件结构的ML,重点是开发ML技术,以更好地设计传统软件系统;在这项工作中,我们侧重于前一方面,目的是突出当前设计以ML为基础的软件系统的设想中存在的不同的建筑做法;我们确定了软件结构的四个关键领域,需要ML和软件从业人员的关注,以便更好地确定一套建筑以ML为基础的软件系统的标准做法;我们根据我们在设计一个基于ML的软件系统以解决意大利最大博物馆的排队挑战方面的经验,将这些领域作为基础。