正文
参与:微胖、韩天哲
标准的机器学习方法要求在一个机器或者数据中心集中训练数据。谷歌已经打造出用于数据处理的最安全、最强健的云基础架构之一。现在,为了通过用户与移动设备交互来训练模型,我们推出了另一种办法:联合学习(federated learning)。
联合学习可以让移动手机协同(collaboratively)学习一个共享的预测模型,与此同时所有训练数据仍保留在设备上,将机器学习与数据储存在云端的需求脱钩。通过在设备上进行模型训练,这一方法超越了对在移动设备端进行预测的本地模型的使用方式(比如移动视觉 API 以及设备智能回复)。
工作原理是这样的:你的设备会下载一个当前模型,通过从手机数据中学习不断改善模型,然后将这些变化总结为一个小的重点更新。只有这一重点更新才以加密方式会被传到云端,在云端,这一更新会迅速被其他用户针对共享模型的更新平均化(averaged)。所有训练数据仍然留在你的设备上,而且个别更新不会存储到云端。
手机在本地个性化模型,以你的手机使用方式为基础(A)。许多用户的更新会集中(B)起来,形成针对共享模型的协同一致的变更(C),然后重复这个过程。
联合学习考虑到了让模型更聪明、延迟更低、更节能而不让隐私受到威胁。而且,这一方法还有一个间接好处:除了提供共享模型的更新,你还能立刻使用改善后的模型,根据你使用手机的方式不同,体验也会不同。
我们目前正在安卓的 Gboard(谷歌键盘)上测试联合学习。当键盘提出一个建议问询时,手机就会在本地存储相关信息,比如当前文本,以及你是否点击了相关建议。联合学习在设备上处理这一过程,并对键盘问询建议的迭代提出改善建议。