Federated Optimization: Distributed Machine Learning for On-Device Intelligence

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

 

Abstract

  我们为机器学习中的分布式优化引入了一个新的且越来越相关的设置,其中规定优化的数据在极大量的节点上分布不均匀。我们的目标是训练一个高质量的集中式模型。我们将此设置称为联邦优化。在这种情况下,通信效率至关重要,最大限度地减少通信次数是主要目标。

  当我们将训练数据本地保存在用户的移动设备上,而不是将其记录到数据中心进行训练时,就会出现一个激励人心的例子。在联邦优化中,设备被用作计算节点,对其本地数据执行计算,以更新全局模型。我们假设网络中的设备数量非常大,相当于给定服务的用户数量,每个用户只占可用数据总量的很小一部分。特别是,我们希望本地可用的数据点数量比设备数量小得多。此外,由于不同的用户使用不同的模式生成数据,因此可以合理地假设没有设备具有整个分布的代表性样本。

  我们证明了现有的算法不适用于这种设置,并提出了一种新的算法,对稀疏凸问题给出了令人鼓舞的实验结果。这项工作还为联邦优化环境下的未来研究探明了一条道路。

 

1  Introduction

  手机和平板电脑现在是许多人的主要计算设备。在许多情况下,这些设备很少与它们的所有者分离[19],而丰富的用户交互和强大的传感器的结合意味着它们能够访问前所未有的数据量,其中大部分是私有的。在这些数据上学习的模型有希望通过驱动更智能的应用程序来大大提高可用性,但数据的敏感性意味着将其集中存储存在风险和责任。

  我们提倡一种替代方法——“联邦学习”,训练数据分散在移动设备上,并通过中央协调服务器聚合本地计算的更新来学习共享模型。这是《2012年白宫消费者数据隐私报告》[98]提出的集中收集或数据最小化原则的直接应用。由于这些更新是专门用于改进当前模型的,因此它们的存在时间可以十分短暂。一旦应用它们,就没有理由将它们存储在服务器上。此外,它们永远不会包含比原始训练数据更多的信息(由于数据处理的不平等),而且通常包含的信息要少得多。这种方法的一个主要优点是将模型训练与直接访问原始训练数据的需求分离开来。显然,协调训练的服务器仍然需要一些信任,并且根据模型和算法的详细信息,更新可能仍然包含私有信息。但是,对于可以根据每个客户端上可用的数据指定训练目标的应用程序,联邦学习可以通过将攻击面仅限于设备而不是设备和云来显著降低隐私和安全风险。

  如果需要额外的隐私,可以使用来自差异隐私的随机技术。可以修改集中式算法以生成一个不同的私有模型[17,33,1],该模型允许发布,同时保护为训练过程提供更新的个人的隐私。如果需要防止恶意(或妥协的)协调服务器,则可以应用来自本地差异隐私的技术来私有化单个更新[32]。这方面的细节超出了目前的工作范围,但对未来的研究是一个有希望的方向。

  关于联邦学习的应用以及隐私衍生结果的更完整的讨论可以在[62]中找到。我们这项工作的重点将是联邦优化,这是一个必须解决的优化问题,以便使联邦学习成为当前方法的一个实用替代方案。

 

1.1  Problem Formulation

  近年来,优化界对有限和结构问题的研究兴趣不断高涨。一般来说,目标的表述如下:

  动机的主要来源是机器学习中出现的问题。问题结构(1)包括线性或逻辑回归、支持向量机,以及更复杂的模型,如条件随机场或神经网络。

 

  更复杂的非凸问题出现在神经网络的上下文中,而不是通过线性特征映射xiTw,网络通过特征向量xi的非凸函数进行预测。然而,由此产生的损失仍然可以写成fi(w),梯度可以使用反向传播来计算。

  企业、政府和学术项目收集的数据量正在迅速增加。因此,在实践中出现的问题(1)通常不可能在单个节点上解决,因为仅仅将整个数据集存储在单个节点上变得不可行。这就需要使用分布式计算框架,其中描述问题的训练数据分布式存储在多个互连节点上,优化问题由节点集群联合解决。

  不严格地说,可以使用任何节点网络来模拟一个强大的节点,在这个节点上可以运行任何算法。实际问题是,在同一节点上,处理器和内存之间进行通信所需的时间通常比两个节点进行通信所需的时间小很多个数量级;对于所需的能源,也有类似的结论[89]。此外,为了充分利用每个节点的并行计算能力,有必要将问题细分为适合独立/并行计算的子问题。

  最先进的优化算法通常是固有的顺序。此外,它们通常依赖于执行大量非常快的迭代。这个问题源于这样一个事实:如果在每次迭代之后需要执行一轮通信,那么实际性能会急剧下降,因为这轮通信比算法的一次迭代要耗费更多的时间。

  这些考虑导致了专门针对分布式优化的新算法的开发(我们将彻底的回顾推迟到第2节)。现在,我们注意到大多数文献中的结果都是在数据均匀分布的情况下工作的,并且进一步假设K << n / K,其中K是节点数。当数据存储在一个大的数据中心时,这确实非常接近现实。此外,分布式学习领域的一个重要子领域依赖于这样一个假设:每台机器都有一个本地可用数据的代表性样本。也就是说,假设每台机器都有一个来自底层分布的独立同分布(IID)样本。然而,这种假设往往太强;事实上,即使在数据中心范例中,情况也往往不是这样,因为单个节点上的数据可以在时间尺度上彼此接近,或者由其地理来源聚集。由于数据中的模式会随着时间的推移而变化,因此一个特征可能经常出现在一个节点上,而完全不出现在另一个节点上。

  联邦优化设置描述了一个新的优化场景,其中没有上述假设。我们将在下一节中更详细地概述此设置。

1.2  The Setting of Federated Optimization

  本文的主要目的是令机器学习和优化界注意到一个新的、越来越实际相关的分布式优化设置,其中没有一个典型的假设是满足的,通信效率是最重要的。特别是,联邦优化算法必须处理具有以下特征的训练数据:

  • 大规模分布:数据点存储在大量节点K上。特别是,节点的数量可以比存储在给定节点上的训练样例的平均数量(n / K)大得多。
  • 非IID:每个节点上的数据可以从不同分布中提取;也就是说,本地可用的数据点远不是整个分布的代表性样本。
  • 不平衡:不同的节点在它们所拥有的训练样例数量上可能会按数量级变化。

  在这项工作中,我们特别关注稀疏数据,其中一些特征只出现在一小部分节点或数据点上。虽然这不是联邦优化设置的必要特性,但我们将证明稀疏结构可以用来开发一种有效的联邦优化算法。请注意,目前正在解决的最大规模机器学习问题(即点击率预测)中出现的数据非常稀疏。

  我们对训练数据在用户移动设备(手机和平板电脑)上的使用设置特别感兴趣,这些数据可能对隐私敏感。数据{xi, yi}是通过设备使用(例如,通过与应用程序的交互)生成的。例如,预测用户将键入的下一个单词(智能键盘应用程序的语言建模)、预测用户最可能共享的照片或预测最重要的通知。

  为了使用传统的分布式学习算法来训练这种模型,我们将在一个集中的位置(数据中心)收集训练样例,在那里它会被打乱然后均匀地分布在专有的计算节点上。在本文中,我们提出并研究了一个替代模型:训练样例不发送到集中的位置,可能会节省大量的网络带宽并提供额外的隐私保护。作为交换,用户允许使用设备的计算能力,用于训练模型。

  在本文的通信模型中,每一轮我们都会向一个集中式服务器发送更新δ(δ属于Rd),其中d是正在计算/改进的模型的维度。例如,更新δ可以是一个梯度向量。虽然在某些应用程序中,δ可能会对用户的一些私有信息进行编码,但它可能比原始数据本身的敏感度(以及数量级)要低得多。例如,考虑这样一种情况:原始训练数据是移动设备上大量视频文件的集合。更新δ的大小将独立于本地训练数据集的大小。我们表明,一个全局模型可以使用少量的通信轮次进行训练,因此与将数据复制到数据中心相比,这也将训练所需的网络带宽降低了数量级。

  此外,非正式地,我们选择δ作为改进全局模型所需的最少信息;与原始数据相比,其用于其他用途的效用显著降低。因此,很自然地,设计一个系统,它不存储这些超过更新模型所需时间的更新δ,再次增加隐私程度,并减少集中模型训练者的责任。在这种设置中,每轮传输一个向量δ(δ属于Rd),涵盖了大多数现有的一阶方法,包括CoCoA+[57]等双重方法。

  由于网络连接可能受到限制(例如,在移动设备充电并连接到Wi-Fi网络之前,我们可能希望解除所有通信),因此在大规模分布式设置中自然会出现通信限制。因此,在现实场景中,我们可能仅限于每天进行一轮沟通。这意味着,在合理的范围内,我们可以获得本质上无限的本地计算能力。因此,实际目标仅仅是尽量减少通信轮次。

   这项工作的主要目的是启动联邦优化的研究,并设计第一个实际实现。我们的结果表明,使用合适的优化算法,即使没有一个可用数据的IID样本,损失也会很小。而且即使在存在大量节点的情况下,我们仍然可以在相对较少的几轮通信中实现收敛。

 

2  Related Work

  在本节中,我们将详细介绍相关文献。我们特别关注可以在各种环境中用来解决问题(1)的算法。首先,在第2.1节和第2.2节中,我们将研究设计在单个计算机上运行的算法。在第2.3节中,我们接着讨论了分布式设置,其中没有单独节点可以直接访问描述 f 的所有数据。我们描述了一个衡量分布式方法效率的范例,然后概述了现有方法,并评论了它们是否在设计时考虑到了通信效率。

2.1  Baseline Algorithms

  在本节中,我们将描述几种基本的基线算法,这些算法可用于解决形式(1)的问题。

 

梯度下降:解决结构(1)问题的一个不重要的基准是梯度下降(GD),当函数fi是平滑的(或非平滑函数的次梯度下降)[69]。GD算法执行迭代

其中,ht>0是一个步长参数。正如我们前面提到的,函数的数量,或者等价的,训练数据对的数量n,通常非常大。这使得GD不切实际,因为它需要处理整个数据集,以便评估单个梯度并更新模型。

  在理论和实践中,梯度下降可以通过增加动量项而大大加速。凸优化中梯度法的加速思想可以追溯到Polyak[73]和Nesterov[68,69]的工作。虽然加速的GD方法有一个相当好的收敛速度,但在每次迭代中,它们仍然需要至少对所有数据进行一次扫描。因此,对于n非常大的问题,它们是不实际的。

 

随机梯度下降:目前,一个基本的但在实践中非常流行,用来替代GD的算法是随机梯度下降(SGD),这可以追溯到Robbins和Monro的开创性工作[82]。在(1)的上下文中,SGD对迭代t中的随机函数(即随机数据-标签对)it属于{1,2,…,n}进行采样,并执行更新

其中,ht>0是一个步长参数。直观地说,这种方法是有效的,因为如果 it 从序号1到n随机均匀抽样,更新方向是对梯度的无偏估计

然而,采样引入的噪声会减慢收敛速度,收敛需要一个变小的步长hk序列。关于凸函数的理论分析,我们请读者参考[66,64,65]和[87,93]了解SVM问题。在最近的回顾[12]中,作者概述了进一步的研究方向。有关更注重实际的讨论,请参见[11]。在神经网络的背景下,随机梯度的计算被称为反向传播[49]。反向传播不是显式地指定函数fi及其梯度,而是计算梯度的一种通用方法。在[70]中比较了几

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值