联合学习:没有集中训练数据的协作机器学习

原文在此

标准的机器学习方法需要将训练数据集中在一台机器或数据中心。谷歌已经建立了一个最安全、最强大的云基础设施来处理这些数据,使我们的服务变得更好。现在,对于通过用户与移动设备的交互训练的模型,我们将引入一种额外的方法:联合学习。

联合学习使手机能够协作学习共享预测模型,同时将所有训练数据保存在设备上,使机器学习的能力与将数据存储在云中的需要脱钩。这超出了对移动设备进行预测的本地模型的使用范围(如移动视觉API和on-Device智能回复),也为设备提供了模型训练。

它的工作原理是这样的:你的设备下载当前型号,通过从手机上的数据中学习来改进它,然后将这些变化总结为一个小的重点更新。只有对模型的更新才会使用加密通信发送到云,在那里它会立即与其他用户更新进行平均,以改进共享模型。所有训练数据都保留在您的设备上,不会在云中存储任何单独的更新。

您的手机会根据您的使用情况在本地对型号进行个性化设置(A)。许多用户的更新被聚合(B)以形成对共享模型的一致更改(C),之后重复该过程。
您的手机会根据您的使用情况在本地对型号进行个性化设置(A)。许多用户的更新被聚合(B)以形成对共享模型的一致更改(C),之后重复该过程。

联合学习允许更智能的模型、更低的延迟和更低的功耗,同时确保隐私。这种方法还有另一个直接的好处:除了提供共享型号的更新外,手机上改进的型号也可以立即使用,通过使用手机的方式为个性化体验提供动力。

我们目前正在Android的谷歌键盘上测试Gboard中的联合学习。当Gboard显示建议的查询时,您的手机会在本地存储有关当前上下文以及您是否单击了建议的信息。联合学习在设备上处理该历史记录,以建议对Gboard的查询建议模型的下一次迭代进行改进。

在这里插入图片描述
为了使联合学习成为可能,我们必须克服许多算法和技术挑战。在一个典型的机器学习系统中,像随机梯度下降(SGD)这样的优化算法在云中服务器之间均匀划分的大型数据集上运行。这种高度迭代的算法需要到训练数据的低延迟、高吞吐量的连接。但在联合学习环境中,数据以高度不均衡的方式分布在数百万台设备上。此外,这些设备具有明显更高的延迟、更低的吞吐量连接,并且只能间歇性地用于训练。

这些带宽和延迟限制激发了我们的联合平均算法,与最初的联合版本SGD相比,该算法可以使用10-100倍的通信来训练深度网络。关键思想是使用现代移动设备中强大的处理器来计算比简单梯度步骤更高质量的更新。由于生成一个好的模型需要更少的高质量更新迭代,因此训练可以使用更少的通信。由于上传速度通常比下载速度慢得多,我们还开发了一种新的方法,通过使用随机旋转和量化压缩更新,将上传通信成本再降低100倍。虽然这些方法专注于训练深度网络,但我们也为高维稀疏凸模型设计了算法,这些算法在点击率预测等问题上表现出色。

将这项技术部署到数百万部运行Gboard的异构手机需要复杂的技术堆栈。设备上训练使用TensorFlow的微型版本。仔细安排时间可以确保只有在设备空闲、插入电源并处于免费无线连接时才能进行培训,因此不会影响手机的性能。
只有在不会对您的体验产生负面影响的情况下,您的手机才会参与联合学习。
只有在不会对您的体验产生负面影响的情况下,您的手机才会参与联合学习。

然后,系统需要以安全、高效、可扩展和容错的方式进行通信和聚合模型更新。只有将研究与这种基础设施相结合,才能使联合学习的好处成为可能。

联合学习无需将用户数据存储在云中即可工作,但我们并没有就此止步。我们开发了一种使用加密技术的安全聚合协议,因此协调服务器只能在100或1000名用户参与的情况下解密平均更新——在平均之前,无法检查单个手机的更新。这是同类协议中第一个适用于深度网络大小问题和现实世界连接约束的协议。我们设计了联合平均,因此协调服务器只需要平均更新,这允许使用安全聚合;然而,该协议是通用的,并且也可以应用于其他问题。我们正在努力实现该协议的生产,并希望在不久的将来将其部署到联合学习应用程序中。

我们的工作只触及了可能发生的事情的表面。联合学习并不能解决所有的机器学习问题(例如,通过对仔细标记的例子进行训练来学习识别不同的犬种),对于许多其他模型,必要的训练数据已经存储在云中(比如为Gmail训练垃圾邮件过滤器)。因此,谷歌将继续推进基于云的ML的最先进技术,但我们也致力于持续的研究,以扩大我们可以通过联合学习解决的问题的范围。例如,除了Gboard查询建议之外,我们还希望根据您在手机上实际键入的内容(可以有自己的风格)改进为键盘供电的语言模型,并根据人们查看、共享或删除的照片类型改进照片排名。
应用联合学习需要机器学习从业者采用新的工具和新的思维方式:模型开发、培训和评估,而无需直接访问或标记原始数据,通信成本是一个限制因素。我们相信,联合学习的用户优势使应对技术挑战变得有价值,并希望在机器学习社区内进行广泛的对话。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值