Systems with artificial intelligence components, so-called AI-based systems, have gained considerable attention recently. However, many organizations have issues with achieving production readiness with such systems. As a means to improve certain software quality attributes and to address frequently occurring problems, design patterns represent proven solution blueprints. While new patterns for AI-based systems are emerging, existing patterns have also been adapted to this new context. The goal of this study is to provide an overview of design patterns for AI-based systems, both new and adapted ones. We want to collect and categorize patterns, and make them accessible for researchers and practitioners. To this end, we first performed a multivocal literature review (MLR) to collect design patterns used with AI-based systems. We then integrated the created pattern collection into a web-based pattern repository to make the patterns browsable and easy to find. As a result, we selected 51 resources (35 white and 16 gray ones), from which we extracted 70 unique patterns used for AI-based systems. Among these are 34 new patterns and 36 traditional ones that have been adapted to this context. Popular pattern categories include "architecture" (25 patterns), "deployment" (16), "implementation" (9), or "security & safety" (9). While some patterns with four or more mentions already seem established, the majority of patterns have only been mentioned once or twice (51 patterns). Our results in this emerging field can be used by researchers as a foundation for follow-up studies and by practitioners to discover relevant patterns for informing the design of AI-based systems.
翻译:拥有人工智能组件的系统(称为AI-based系统)最近受到了相当多的关注。然而,许多组织在将这些系统推向生产准备阶段方面遇到了问题。作为改善某些软件质量属性和解决经常出现的问题的手段,设计模式代表了经过验证的解决方案蓝图。虽然新的AI-based系统模式正在涌现,但现有的模式也已经适应了这个新的上下文。本研究的目标是概述AI-based系统的设计模式,包括新的和已适应的模式。我们想收集和分类模式,并使它们对研究人员和从业者易见。为此,我们首先进行了一项多声部文献综述(MLR)以收集与AI-based系统一起使用的设计模式。然后,我们将创建的模式集成到基于Web的模式库中,使模式易于浏览和查找。结果,我们选择了51个资源(35个白色和16个灰色的资源),从中提取出了用于AI-based系统的70个独特模式。其中包括34个新模式和36个传统模式已被适应到该上下文中。流行的模式类别包括“架构”(25个模式)、“部署”(16个模式)、“实施”(9个模式)或“安全性和安全”(9个模式)。虽然一些被提及四次或更多次的模式似乎已经确立,但大部分模式只被提及一次或两次(51个模式)。我们在这个新兴领域的结果可以被用作研究人员的后续研究基础,以及被从业者用于发现相关模式以指导AI-based系统的设计。