Federated learning has received fast-growing interests from academia and industry to tackle the challenges of data hungriness and privacy in machine learning. A federated learning system can be viewed as a large-scale distributed system with different components and stakeholders as numerous client devices participate in federated learning. Designing a federated learning system requires software system design thinking apart from machine learning knowledge. Although much effort has been put into federated learning from the machine learning technique aspects, the software architecture design concerns in building federated learning systems have been largely ignored. Therefore, in this paper, we present a collection of architectural patterns to deal with the design challenges of federated learning systems. Architectural patterns present reusable solutions to a commonly occurring problem within a given context during software architecture design. The presented patterns are based on the results of a systematic literature review and include three client management patterns, four model management patterns, three model training patterns, and four model aggregation patterns. The patterns are associated to particular state transitions in a federated learning model lifecycle, serving as a guidance for effective use of the patterns in the design of federated learning systems.
翻译:联邦学习得到了学术界和工业界迅速增长的兴趣,以应对机器学习中的数据饥饿和隐私的挑战; 联合会学习系统可被视为一个大型分布式系统,由不同组成部分和利益攸关方组成,因为许多客户设备都参与联合会学习; 设计联合会学习系统需要软件系统设计,除了机械学习知识之外,还需要有软件系统设计思维; 尽管已经作出很大努力,从机器学习技术方面学习联合会式学习,但软件结构设计对建立联合学习系统的关切基本上被忽视; 因此,在本文件中,我们提出了一套建筑模式,以应对联合学习系统的设计挑战; 建筑模式为在软件结构设计期间某个特定背景下常见的问题提供了可再使用的解决办法; 提出的模式基于系统文献审查的结果,包括三个客户管理模式、四个模式管理模式、三个模式培训模式和四个模式汇总模式; 这些模式与联邦学习模式生命周期中特定的国家过渡有关,作为有效利用联邦学习系统设计模式的指导。