想了解风头正劲的联邦学习?这篇400多个参考文

想了解风头正劲的联邦学习?这篇400多个参考文

时间:2020-01-10 15:32 作者:admin 点击:
阅读模式

选自arXiv

作者:Peter Kairouz 等

机器之心编译

参与:魔王、杜伟

联邦学习(Federated Learning,FL)指多个客户端在一个中央服务器下协作式地训练模型的机器学习设置,该设置同时保证训练数据去中心化。联邦学习使用局部数据收集和最小化的原则,能够降低使用传统中心化机器学习和数据科学方法带来的一些系统性隐私风险和成本。近期社区对联邦学习的研究出现爆发式增长,这篇论文探讨了联邦学习的近期进展,并展示了该领域所面临的开放性问题和挑战。本论文作者来自澳大利亚国立大学、CMU、康奈尔大学、谷歌、香港科技大学等机构。

原论文篇幅较长,机器之心进行了摘要编译。

论文链接:https://arxiv.org/pdf/1912.04977.pdf 引言 联邦学习指多个客户端(如移动设备或整个组织)在一个中央服务器(如服务提供商)下协作式地训练模型的机器学习设置,该设置同时保证训练数据去中心化。联邦学习使用局部数据收集和最小化原则,降低传统中心化机器学习方法带来的一些系统性隐私风险和成本。 近期该领域在研究和应用层面都受到了极大关注。这篇论文将介绍联邦学习的定义性特征和面临的挑战,重点介绍重要的实践局限和考量因素,并列举大量珍贵的研究方向。本论文旨在提出具备重大理论和实践意义的研究问题,鼓励大家对这些问题展开研究,进而为现实世界带来巨大影响。 联邦学习这一术语由 McMahan 等人在 2016 年首次提出:「我们将该方法命名为联邦学习,因为该学习任务是由多个参与设备(即客户端)的松散联邦在中央服务器的协调下解决的。」在大量通信带宽有限的不可靠设备上对不平衡和非独立同分布(non-IID)数据执行分割,这被认为是联邦学习面临的核心挑战。

谷歌研究科学家 H. Brendan McMahan。 在「联邦学习」这一术语问世之前,已经出现大量相关研究工作。很多研究社区(包括密码学、数据库和机器学习)追寻的长期目标是:在不暴露数据的前提下,分析和学习分布于多个数据拥有者的数据。计算加密数据的加密方法最早出现于 20 世纪 80 年代早期,Agrawal 和 Srikant [15] 以及 Vaidya 等人 [390] 是使用中央服务器学习本地数据同时保护隐私的早期研究。 然而,即使在「联邦学习」这一术语出现以后,我们仍然发现没有一项研究能够直接解决联邦学习面临的全部挑战。因此,「联邦学习」这一术语简洁地描述了基于去中心化数据(这些数据具备极高的隐私性)的应用机器学习问题的特点、局限和挑战。 联邦学习的发展在于各学科的合作 2019 年 6 月 17-18 日,在谷歌的西雅图办公室举办了一场关于联邦学习的研讨会,本论文基于这次研讨会写就。在为期两天的研讨会中,对调研联邦学习领域众多开放性挑战的综述论文的需求逐渐变得明晰。 研讨会上讨论的很多问题都有一个核心特性:它们本质上是跨学科的。解决这些问题不仅需要机器学习,还需要分布式优化、加密学、安全、差分隐私、公平性、压缩感知、系统、信息论、统计学等学科的技术。最难的问题出现在这些学科的交叉领域,因此本论文认为合作是促进联邦学习领域发展的必经之路。本论文的目标之一是:强调结合这些领域技术的方式,带来有趣的可能性和新的挑战。 「联邦学习」这一术语刚出现时强调移动和边缘设备应用,现在人们对将联邦学习应用到其他应用的兴趣显著增长,包括一些涉及少量相对可靠客户端的应用,如多个组织合作训练一个模型。研究者将这两种联邦学习设置分别称作「跨设备」(cross-device)和「cross-silo」。基于这些变体,本论文对联邦学习给出了一个更宽泛的定义:

联邦学习是多个实体(客户端)协作解决机器学习问题的机器学习设置,它在一个中央服务器或服务提供商的协调下进行。每个客户端的原始数据存储在本地,无法交换或迁移,联邦学习利用局部更新(用于立即聚合 (immediate aggregation))来实现学习目标。

局部更新(focused update)是仅限于包含特定学习任务最少必需信息的更新。聚合应在数据最小化服务中尽可能早地执行。我们注意到,该定义将联邦学习与完全去中心化的(peer-to-peer)学习技术区分开来。 跨设备 FL、Cross-Silo FL 和传统单数据中心分布式学习 关于保护隐私的数据分析,这方面的研究已经进行了 50 余年,但在最近十年才出现可以大规模部署的解决方案。现在,跨设备联邦学习和联邦数据分析已经在消费者数字产品中得到应用。谷歌在 Gboard 移动键盘、Pixel 手机功能和 Android Messages 中广泛使用联邦学习。谷歌在跨设备联邦学习领域遥遥领先,但目前更广泛的群体对该领域产生了兴趣,例如:苹果在 iOS 13 系统中使用跨设备联邦学习,如 QuickType 键盘和「Hey Siri」的人声分类器等应用;doc.ai 正在开发适合医疗研究的跨设备联邦学习解决方案;Snips 探索针对热词检测的跨设备联邦学习。 cross-silo 应用也在多个领域出现,包括再保险业务中的金融风险预测、药物研发、电子病历挖掘、医疗数据分割和智能制造。 对联邦学习技术不断增长的需求带来了大量可用的工具和框架,包括 TensorFlow Federated [38]、Federated AI Technology Enabler [34]、PySyft [342]、Leaf [35]、PaddleFL [36] 和 Clara 训练框架 [33](详情参见附录 A)。大型科技企业和小型创业公司都在打造囊括联邦学习技术的商业数据平台。 下表 1 从多个维度对比了跨设备联邦学习、cross-silo 联邦学习和传统的单数据中心分布式学习。这些特征构建了联邦学习实际系统必须满足的一些约束,从而促进联邦学习的发展,找到其面临的开放性挑战。

表 1:联邦学习 vs. 单数据中心分布式学习的典型特征。跨设备和 cross-silo 联邦学习是 FL 领域的两个分支,但并非全部。该表将联邦学习的主要定义性特征用粗体字着重显示,不过其他特征对确定哪种技术可用也很关键。 这两种联邦学习变体是联邦学习领域中的代表性和重要示例,而不同的联邦学习设置可能具备不同的特征组合。除特别注明,本论文剩余内容主要考虑跨设备联邦学习设置,不过其中的一些问题也适用于其他联邦学习设置。本文第 2 章介绍了联邦学习的其他变体及应用。 接下来,我们来更详尽地探讨跨设备联邦学习,主要从典型大规模部署这一实践层面出发。Bonawitz 等人 [74] 对特定生产系统提供了更加详尽的介绍,包括对特定架构的选择和考量。 跨设备联邦学习设置 本章从应用角度出发,介绍跨设备联邦学习中出现的一些实际问题,以及如何将它们融入到更宽泛的机器学习开发和生态系统部署中。希望本章能够为下文介绍联邦学习的开放性问题提供有用的语境和动机,同时帮助研究人员估计在现实系统中直接部署特定新方法的可行性。在探讨联邦学习训练流程之前,我们先来看模型的生命周期。 联邦学习中的模型生命周期 联邦学习通常由为特定应用开发模型的模型工程师来驱动。例如,自然语言处理工程师可能为虚拟键盘开发「下一个单词预测模型」。下图 1 展示了其主要组件和参与者:

图 1:联邦学习训练模型的生命周期,以及联邦学习系统中的多个参与者。第 4 章将从威胁模型的角度再次介绍该图。 整体来看,其典型工作流程如下所示:

问题识别:模型工程师找出要使用联邦学习解决的问题; 客户端设置:如有需要,将客户端(如在手机上运行的 app)设置为在本地存储必要的训练数据(尽管时间和数量都存在限制)。在很多案例中,app 已经存储了数据(如文本短信 app 必须存储文本信息,照片管理 app 存储照片)。但是,在另一些案例中,还需要保留额外的数据或元数据,如用户交互数据,以为监督学习任务提供标签; 模拟原型开发(可选):模型工程师可能为模型架构开发原型,并用代理数据集(proxy dataset)在联邦学习模拟环境中测试学习超参数; 联邦模型训练:启动多个联邦训练任务来训练模型的不同变体,或者使用不同的优化超参数; (联邦)模型评估:在任务经过充分训练后(通常需要数天),分析模型并选择优秀的候选模型。分析可能包括在数据中心的标准数据集上计算得到的度量,或者模型在留出客户端上评估本地客户端数据的联邦评估结果; 部署:最后,在选择好模型之后,就要进入标准的模型部署流程了,该流程包括手动质量保证、实时 A/B 测试(在一些模型上使用新模型,在另一些模型上使用之前的模型,然后对比其性能)以及分阶段部署(staged rollout,这样可以在发现较差行为时及时回退,以免影响过多用户)。模型的特定安装流程由应用的所有者设置,通常独立于模型训练过程。也就是说,对使用联邦学习或传统数据中心方法训练得到的模型,都可以同样地使用该步骤。 联邦学习系统面临的主要实际挑战之一是:尽可能简化上述工作流程,使其完美靠拢使用中心化训练方式得到的易用机器学习系统。尽管本论文主要关注联邦学习,但也会涉及其他组件,包括模型评估和 debug 等联邦分析任务。接下来,我们将详细介绍整个联邦学习模型的训练过程(即上述步骤的第 4 步)。 典型的联邦训练流程 现在,我们考虑联邦学习训练的模板,它包括 McMahan 等人 [289] 提出的联邦平均算法。另外,可能存在其他变体,但该算法提供了一个通用的起点。 服务器(服务提供商)部署整个训练过程,它重复以下步骤直到训练停止(这取决于监测训练流程的模型工程师):

客户端选择:服务器从一组满足要求的客户端中进行采样。例如,服务器需要确认手机是否接通电源、在无限带宽 wi-fi 连接状态还是空闲状态,以避免影响设备用户;