首发于隐私计算

踏步走进“联邦学习”- Section 1

Hello,大家好,我是你们的 "安全六三"。

相信了解过联邦学习的小伙伴,都看到过下面这本书《Advances and Open Problems in Federated Learning》,或者在论坛等网站上了解过这本书的大纲。那么,为什么我还有跟大家分享这本书呢,因为网上还没有太多的对这本书的具体细节介绍,而且,这本书又是大而全的 "联邦学习百科全书",所以我打算和大家一起仔细阅读一遍。

看上面这张图,有没有被惊讶到,不管你们,反正我第一眼看到的时候确实惊讶了。

废话不多说,我们开学~!

Abstract

联邦学习(Federated learning,FL)是一种机器学习环境,在这种环境下,许多客户端(如移动设备或整个组织)在中央服务器的协调下协同训练一个模型,同时保持训练数据的分散性。FL 体现了集中数据收集和最小化的原则,可以减轻传统的集中机器学习和数据科学方法所产生的许多系统隐私风险和成本。在 FL 研究爆炸式增长的推动下,本文讨论了最近的进展,并提出了广泛的开放问题和挑战。

1 Introduction

本文描述了联邦学习环境的定义特征和挑战,强调了重要的实际约束和考虑,然后列举了一系列有价值的研究方向。 这项工作的目标是突出具有重大理论和实践意义的研究问题,并鼓励对可能对现实世界产生重大影响的问题进行研究。

联邦学习一词于 2016 年由 McMahan [289] 等人引入。" 我们将我们的方法称为联邦学习,因为学习任务是由一个松散的参与设备(我们称为客户端)联合解决的,这些设备由一个中央服务器协调。" 在有限的通信带宽下,在大量不可靠的设备上进行不平衡和 non-IID (相同和独立分布) 的数据分区,作为一组定义的挑战被引入。

重要的相关工作先于联邦学习一词的引入。 许多研究社区(包括密码学、数据库和机器学习)追求的一个长期目标是分析和学习分布在许多所有者之间的数据,而不暴露这些数据。 加密数据计算的密码学方法始于1980年代初[340,421],Agrawal 和 Srikant [15] 和 Vaidya 等人 [390] 是早期的相关工作成果,这些工作试图从使用集中式服务器的本地数据中学习,同时保持隐私。 相反,即使引入了联合学习一词,我们也意识到没有一项工作直接解决了全套FL 挑战。 因此,联邦学习一词为一组特征、约束和挑战提供了一种方便的速记,这些特征、约束和挑战在隐私至上的分散数据上的应用ML问题中经常同时出现。

本文起源于2019年6月17日至18日在谷歌西雅图办事处举办的联邦学习和分析研讨班。 在这两天的活动中,需要一份广泛的文件来调查联邦学习领域的许多开放挑战,这一点变得很清楚。

讨论的许多问题的一个关键特性是它们本质上是跨学科的,即解决它们可能不仅需要机器学习,而且需要来自分布式优化、密码学、安全性、差异隐私、公平性、压缩感知、系统、信息理论、统计等方面的技术。 许多最困难的问题都在这些领域的交叉点,因此我们认为,合作对正在取得的进展至关重要。 这项工作的目标之一是突出这些领域的技术可能结合起来的方式,既提出了有趣的可能性,也提出了新的挑战。

自从联合学习这个术语最初被提出来,强调移动和边缘设备应用 [289,287] 以来,人们对将FL 应用于其他应用的兴趣大大增加,包括一些可能只涉及少量相对可靠的客户端,例如多个组织协作训练一个模型。 我们将这两个联邦学习设置分别称为“cross-device” 和“cross-silo”。 鉴于这些变化,我们提出了一个更广泛的联邦学习定义:

联邦学习是一种机器学习环境,在中央服务器或服务提供商的协调下,多个实体(客户端)协作解决机器学习问题。每个客户端的原始数据都存储在本地,不进行交换或传输;相反,旨在进行即时汇总的重点的更新被用来实现学习目标。

重点更新是狭义范围的更新,以包含手头特定学习任务所需的最低信息;为了使数据最小化,尽可能早地进行聚合。我们注意到,这个定义区分了联邦学习和完全分散(对等)学习技术,如第 2.1 节所讨论的那样。

虽然保护隐私的数据分析已经研究了50多年,但只有在过去的十年中,解决方案才有了一定规模的应用,例如 [156,135]。 “cross-device” 联邦学习和联邦数据分析现在正在应用于消费数字产品。 谷歌在Gboard移动键盘[323,196,420,98,329]以及Pixel手机[18]和Android消息[375]中广泛使用联邦学习。 虽然谷歌已经开创了“cross-device” FL 的先河,但对这一 setting 的兴趣现在要广泛得多,例如:苹果正在iOS13 [27] 中使用“cross-device” FL,用于快速类型键盘和“Hi, Siri”[28] 的声音分类器;doc.ai正在开发医学研究的“cross-device”FL解决方案 [130] ,Snips已经探索了用于热词检测的“cross-device”FL [259]。

“cross-silo”应用程序也在无数领域被提出,包括再保险 [407] 的金融风险预测、药品发现[158]、电子健康记录挖掘 [162]、医疗数据分割 [19,121] 和智能制造 [305]。

对联合学习技术的需求日益增长,衍生出一些可用工具和框架。 其中包括 TensorFlow Federated[38], Federated AI Technology Enabler[34],PySyft[342],Leaf[35],PaddleFL [36]和Clara Training Framework [33];

下表对比了“cross-device” 和“cross-silo”联合学习与传统的单数据中心分布式学习。 这些特征建立了许多实际的联合学习系统必须满足的限制条件,因此既是联合学习的动机,也是联合学习中的公开挑战。这些特点将在下面的章节中详细讨论。

Table 1: Typical characteristics of federated learning settings vs. distributed learning in the datacenter (e.g. [131]).Cross-device and cross-silo federated learning are two examples of FL domains, but are not intended to be exhaustive.The primary defining characteristics of FL

这两种 FL 变体被称为具有代表性的重要例子,但不同的 FL 设置可能会有不同的这些特征组合。在本文的其余部分,除非另有说明,否则我们考虑的是“cross-device”的FL设置,尽管许多问题也适用于其他 FL 设置。第2节具体论述了其他许多变化和应用的一些情况。

接下来,我们将更详细地考虑“cross-device”联合学习,重点关注典型的大规模部署技术中常见的实际方面;Bonawitz等人 [74] 为特定的生产系统提供了更多的细节,包括对具体架构选择和考虑的讨论。

1.1 The Cross-Device Federated Learning Setting

本节从应用的角度出发,与前一节不同的是,本节并不试图从定义的角度出发。 相反,目标是描述 cross-device FL中的一些实际问题,以及它们如何适合于更广泛的机器学习开发和部署生态系统。 希望为接下来的开放问题提供有用的背景和动机,并帮助研究人员估计在现实世界系统中部署一种特定的新方法是多么简单。 在考虑FL训练过程之前,我们首先勾勒出模型的生命周期。

Figure 1: The lifecycle of an FL-trained model and the various actors in a federated learning system. Thisfigure is revisited in Section 4 from a threat models perspective.

1.1.1 The Lifecycle of a Model in Federated Learning

FL 过程通常由为特定应用程序开发模型的模型工程师驱动。 例如,自然语言处理领域专家可以开发下一个单词预测模型,用于虚拟键盘。 图1显示了主要组件和参与者。 在高层次上,一个典型的工作流程是:

  1. Problem identifification: 模型工程师确定要用FL解决的问题。
  2. Client instrumentation: 如果需要的话,客户端(如手机上运行的应用程序)被指示在本地(有时间和数量限制) 存储必要的训练数据。在许多情况下,应用程序已经存储了这些数据(例如,一个短信应用程序必须存储短信,一个照片管理应用程序已经存储了照片)。然而,在某些情况下,可能需要维护额外的数据或元数据,例如,用户交互数据为监督学习任务提供标签。
  3. Simulation prototyping (optional): 模型工程师可以使用代理数据集在 FL 模拟中原型模型体系结构和测试学习 hyperparameters。
  4. Federated model training: 启动多个联合训练任务来训练模型的不同变化,或者使用不同的优化 hyperparameters。
  5. (Federated) model evaluation: 在任务经过充分的训练后(通常是几天,见下文),对模型进行分析,并选出好的候选模型。分析可能包括在数据中心标准数据集上的指标,或联合评估,其中模型被推送到持有的客户机上,在本地客户机数据上进行评估。
  6. Deployment: 最后,一旦一个好的模型被选中,它将通过一个标准的模型启动过程。包括手动质量保证,实时A/B测试(通常是在一些设备上使用新模型,在其他设备上使用上一代模型,以比较它们的体内性能),以及阶段性的推广(以便在影响太多用户之前发现并回滚不良行为)。一个模型的具体启动过程由应用程序的所有者设定,通常与模型的训练方式无关。换句话说,这一步同样适用于用联合学习或传统数据中心方法训练的模型。

FL系统面临的一个主要的实际挑战是使上述工作尽可能的直接,理想的情况是接近集中训练的ML系统所达到的易用性。虽然本文的大部分内容都是关于联合训练的,但还有许多其他的组成部分,包括联合分析任务,如模型评估和调试。目前,我们将更详细地考虑单个FL模型的训练(步骤4)。

1.1.2 A Typical Federated Training Process

我们现在考虑一个FL训练的模板,它包含了McMahan等人[289]和其他许多人的Federated Averaging算法;同样,变化是可能的,但这给出了一个共同的起点。

服务器(服务提供商)通过重复以下步骤来协调训练过程,直到训练停止(由监控训练过程的模型工程师决定):

  1. Client selection: 服务器从一组符合资格要求的客户中抽取样本。例如,手机可能只有在插上电源、处于未计量的Wi-Fi连接上,并且闲置的情况下才会在服务器上签到,以避免影响设备的用户。
  2. Broadcast: 选定的客户端从服务器上下载当前的模型权重和训练程序(如TensorFlow图[6])。
  3. Client computation: 每个选定的设备都通过执行训练程序在本地计算对模型的更新,例如,可以在本地数据上运行SGD(如联合平均)。
  4. Aggregation: 服务器收集设备更新的总和。出于效率考虑,一旦报告了足够数量的设备结果,此时可能会丢弃散乱的消息。此阶段也是许多其他技术的集成点,稍后将讨论,可能包括:安全的聚合以增加隐私,对聚合进行有损压缩以提高通信效率,以及增加噪声并更新限幅以实现差分隐私。
  5. Model update: 服务器根据本轮参与的客户端计算出的汇总更新,在本地更新共享模型。

表2给出了移动设备上典型的联合学习应用所涉及的数量的典型数量级大小。

Table 2: Order-of-magnitude sizes for typical cross-device federated learning applications.

客户端计算、聚合和模型更新阶段的分离并不是联合学习的严格要求,而且它确实排除了某些类别的算法,例如异步SGD,在与其他客户端的更新进行聚合之前,每个客户端的更新都会立即应用到模型中。这样的异步方法可能会简化系统设计的某些方面,从优化的角度来看也是有益的(尽管这一点还可以争论)。然而,上面介绍的方法有一个实质性的优势,就是提供了不同研究方向之间的分离:压缩、差分隐私和安全的多方计算方面的进展,可以为标准的基元(如计算总和或分散更新的手段)开发,然后用任意的优化或分析算法组成,只要这些算法是用聚合基元来表达的。

同样值得强调的是,在两个方面,FL训练过程不应该影响用户体验。首先,如上所述,尽管模型参数通常在每一轮联合训练的广播阶段被发送到一些设备上,但这些模型是训练过程中短暂的一部分,并不用于向用户展示 "实时 "预测。这一点非常重要,因为训练ML模型是具有挑战性的,超参数 hyperparameters 的错误配置可能会产生一个错误的预测模型,相反,用户可见的模型使用被推迟到模型生命周期的步骤6中详述的推出过程。其次,训练本身的目的是为了让用户不可见,正如在客户端选择中所描述的,训练不会减慢设备的速度或耗尽电池,因为它只在设备空闲并连接电源时执行。然而,这些限制因素带来的有限可用性直接导致了开放性的研究挑战,这些挑战将在随后讨论,例如半周期数据的可用性和客户端选择中潜在的偏差。

1.2 Federated Learning Research

本文的其余部分调查了许多开放的问题,这些问题是由现实世界的联邦学习设置的限制和挑战所驱动的,从医院系统的医疗数据培训模型到使用数亿移动设备的训练。 不用说,大多数研究联合学习问题的研究人员可能不会部署生产 FL 系统,也无法访问数百万实时设备的舰队。 这导致了激励工作的实际设置与模拟中进行的实验之间的关键区别,这些实验提供了特定方法对激励问题的适用性的证据。

这使得从实验的角度来看,FL 研究与其他 ML 领域略有不同,从而导致了在进行 FL 研究时的额外考虑。 特别是,在突出显示开放问题时,我们试图在可能的情况下,也指出可以在模拟中测量的相关性能指标、数据集的特性,这些特性将使它们更能代表现实世界的性能等。 模拟的需要对 FL 研究的提出也有影响。 虽然我们无意成为权威或绝对的,但我们对介绍FL研究提出了以下建议,以解决我们描述的开放问题:

  • 如表1所示,FL设置可以包含广泛的问题。 与设定和目标已经确定的领域相比,必须准确地描述特定感兴趣的 FL 设置的细节,特别是当拟议的方法提出的假设可能不适合于所有设置(例如。 参与所有回合的有状态的客户)。
  • 当然,为了使研究具有可重复性,应该介绍任何模拟的细节。但同样重要的是,要解释模拟是为了捕捉现实世界环境的哪些方面(哪些方面没有),以便有效地说明模拟问题的成功意味着在现实世界的目标上取得了有益的进展。我们希望本文件中的指导意见能在这方面有所帮助。
  • 在FL中,隐私和通信效率总是首要问题,即使实验是在使用公共数据的单机上运行的模拟。 与其他类型的ML相比,对于任何建议的方法,必须明确地说明计算在哪里发生,以及传递的内容。

用于联邦学习模拟的软件库以及标准数据集可以帮助缓解进行有效的FL研究的挑战;附录A总结了目前可用的一些选项。 为不同的联邦学习设置开发标准评估度量和建立标准基准数据集,仍然是当前工作的高度重要方向。

1.3 Organization

  • 第2节基于表1中的想法,探索其它 FL 设置和问题,超出了最初对 cross-device 设置的关注。
  • 第3节接着讨论了关于提高联邦学习效率和有效性的核心问题。
  • 第4节仔细考虑了威胁模型,并考虑了一系列旨在实现严格隐私保护的技术。
  • 与所有机器学习系统一样,在联邦学习应用程序中,可能有动机操纵正在训练的模型,各种类型的故障是不可避免的;这些挑战将在第5节中讨论。
  • 最后,我们在第6节中讨论了提供公平和公正模型的重要挑战。

喜欢我创作的小伙伴们,记得关注我哦,让我有动力持续创作,持续给大家带来干货。










参考文献

大家自行去原文中查找对应文献哈,因为参考文献太多了,我就不在这罗列了,原文下载地址是:

发布于 2021-01-08 11:58