快捷链接

2017年,谷歌推出了联邦学习(Federated Learning,FL)技术,这是一种在分布式私有数据上训练模型的机器学习方法。该技术已被用于支持多项日常实用功能,包括Gboard中的下一词预测与智能输入建议、Google Messages中的回复建议,以及Android系统中的智能文本选择功能。

谷歌在联邦学习系统开发中遵循四项核心隐私原则:(1)数据最小化,(2)数据匿名化,(3)透明度与控制权,(4)可验证性与可审计性。经过多年的匿名化技术研究,谷歌通过矩阵分解差分隐私联邦跟随正则化领导者算法(MF-DP-FTRL)以及结合安全聚合的分布式差分隐私技术,为生产环境中的模型提供了强有力的差分隐私(Differential Privacy,DP)保障。2025年,谷歌提出了围绕这四项原则的联邦学习新定义:

联邦学习是一种机器学习场景,其中多个实体(客户端)在服务提供方的协调下共同解决一个机器学习问题。一个完整的联邦学习系统应当让客户端能够完全掌控自身数据、可访问其数据的工作负载集合,以及这些工作负载的匿名化属性。联邦学习系统应当为其数据受联邦学习客户端管理的用户,提供适当的透明度和控制权。

在《迈向可证明隐私保护的联邦数据学习系统》一文中,谷歌公布了新一代联邦学习系统,该系统利用可信执行环境(Trusted Execution Environments,TEE)提供完全可验证、可审计的数据匿名化保障。运行在TEE中的逻辑可被远程验证(第三方能够验证正在执行的具体逻辑),同时还具备机密性(其内部状态无法被观察)和完整性(逻辑无法被干扰)的特性,但仍受限于当前一代TEE技术的局限。谷歌的新型TEE联邦学习系统在单机层面TEE所具备的这些特性基础上,构建出一个完全可验证的端到端联邦学习系统,实现了更强的隐私保障和更高的准确率。Gboard已经采用了这套新系统,相较于此前的联邦学习系统,其计算速度得到了大幅提升。

基于独立TEE构建可验证隐私保护的联邦学习系统

谷歌的TEE联邦学习系统建立在此前关于机密联邦分析和可证明隐私洞察的研究工作基础之上。

该系统协调四项核心运作机制:

下图展示了数据在系统中的流转路径,以及验证系统上运行工作负载隐私保障所需的具体步骤。

有关TEE联邦学习系统设计的更多细节,请参阅谷歌发布的技术白皮书《迈向可证明隐私保护的联邦数据学习系统》。

TEE联邦学习如何强化隐私保护

在早期的联邦学习系统中,设备数据会被上传以用于即时聚合,但外部观察者无法验证这些数据是否曾被记录或检查。此后,安全聚合技术让上传数据获得了加密保护,但这一方案与当前最先进的中心化差分隐私保障并不兼容。谷歌新推出的TEE联邦学习系统,是在持续努力彻底消除对服务器运营方信任依赖这一目标上的又一重要里程碑。

在新的TEE联邦学习系统中,工作负载运营方只能看到模型指标以及经过差分隐私处理的模型权重。从设备收集的加密训练数据,只能在运行访问策略所规定的Python训练程序的TEE内部被解密和处理,且只能在上传后的有限时间内进行。

参与新TEE联邦学习系统的设备,能够知晓可能访问其上传数据的所有服务器端工作负载的完整集合。代表这些潜在未来服务器端工作负载的访问策略,会被发布到公共透明日志Rekor上,外部审计人员能够查看这些日志,从而追踪设备可能参与的全部服务器端工作负载。

谷歌联邦学习系统中使用的密钥管理系统(KMS)和数据处理二进制文件,均可根据Confidential Federated Compute GitHub代码库中公开的开源代码进行可复现构建。

在此前的联邦学习系统中,服务器上运行的逻辑既无法被设备验证,也无法被审计人员验证,因此谷歌需要被信任以确保正确地向梯度总和添加随机噪声,从而实现差分隐私。

在新的TEE联邦学习系统中,发布到Rekor的访问策略直接描述了表达联邦学习训练逻辑的Python程序。为了在保护专有模型架构和数据预处理逻辑的同时保持可审计性,谷歌的数据处理TEE支持在运行时向Python程序中侧载序列化信息。只要所有隐私相关的逻辑都硬编码在Python程序中,这种侧载功能就能让必须保持专有性的逻辑在TEE中运行,同时仍能提供强有力的外部可验证隐私保障(关于侧信道观察的讨论见下文)。

Gboard如何使用TEE联邦学习

Gboard已部署该TEE联邦学习系统,推出了具备更强隐私保障和更高准确率的英语及日语下一词预测模型。这些提升可归因于新系统设计的多个方面。

通过在运行服务器端训练工作负载之前先收集所有设备上传的数据,谷歌不再需要担心设备可用性的昼夜波动会影响训练进度。在服务器端执行时,谷歌可以在程序中动态计算最优的设备参与调度方案,并据此调整其他差分隐私参数。

下图展示了新型TEE系统通过优化设备参与调度方案所能实现的更强隐私保障和/或更小的噪声乘数。这些曲线来自于在两套系统上,使用6500台设备组成的群体,训练英语下一词预测模型5000轮所得的结果。

过去,训练这些联邦学习模型往往需要1到2个月的时间,训练进度受限于设备可用性、设备端计算能力,以及多个训练工作负载对同一批设备资源的争抢。而在新的TEE系统中,瓶颈已转移至服务器端,通过在多台机器上并行计算,谷歌实现了训练时间的大幅缩短,目前唯一的限制因素是TEE资源的可用性。

下一步计划

在新的TEE联邦学习系统中,客户端梯度的计算被转移到了服务器端,从而消除了此前系统中与设备端计算资源相关的限制。这为利用联邦学习技术训练规模日益庞大的模型铺平了道路。将TEE与加速器相结合,将在此类应用场景中发挥重要作用。

上述系统不仅能够以可验证的方式执行联邦学习训练工作负载,还能执行任何可用Python表达的任意工作负载。谷歌正在尝试在这一基础设施上运行其他类型的工作负载,例如合成数据生成工作负载。另一个探索方向是:将执行任意Python代码的数据处理TEE,与专门用于大语言模型推理等功能的其他数据处理TEE结合使用。

这项工作是朝着严格证明服务器端处理能够保护个人隐私这一目标迈出的一步。借助能够检查谷歌所运行代码的外部验证方,谷歌能够提供强有力的保证,确保数据在服务器端完全按照所描述的方式进行处理。谷歌预计,未来的TEE硬件以及持续开展的侧信道观察缓解研究,将为动态加载的工作负载提供更深层次的保护,抵御恶意的服务器端攻击。谷歌预期,像这样的系统未来有望为差分隐私算法及系统组件的软件实现提供完整的正确性证明。

致谢

作者感谢为基础设施设计和实现做出贡献的合作者:Arun Ganesh、Brendan McMahan、Brett McLarnon、Chunxiang(Jake)Zheng、Emily Glanz、Maya Spivak、Michael Reneer、Nova Fallen、Stefan Dierauf、Suxin Guo、Timon Van Overveldt、Yu Xiao、Zachary Charles和Zachary Garrett。同时感谢支持Gboard集成工作的紧密合作伙伴:Haicheng Sun、Heng Su、Jianpeng Hou、Liyang Jiang、Noriyuki Takahashi、Wenzhi Mao、Xiaojuan Fang、Yanxiang Zhang、Yingjie Liu、Yuanbo Zhang和Yun Wang。这项工作得到了Corinna Cortes、Shumin Zhai和Yossi Matias的支持。此外,还要感谢Maysam Moussalem对本文撰写提出的反馈意见。

快捷链接

Q&A

Q1:TEE联邦学习系统是什么?它有什么作用?

A:TEE联邦学习系统是谷歌推出的新一代联邦学习系统,它利用可信执行环境提供完全可验证、可审计的数据匿名化保障,能够在保护用户隐私的同时提升模型训练速度和准确率。

Q2:Gboard应用这套新系统后带来了哪些具体改进?

A:Gboard已使用该系统推出了英语和日语下一词预测模型,获得了更强的隐私保障和更高的准确率,训练时间也从过去的1到2个月大幅缩短,瓶颈转移到了服务器端并可实现并行加速。

Q3:这套TEE联邦学习系统与此前的安全聚合技术相比有什么不同?

A:此前的安全聚合技术虽能对上传数据进行加密保护,但不兼容最先进的中心化差分隐私保障。新的TEE系统则彻底消除了对服务器运营方的信任依赖,外部审计人员可直接验证服务器端运行的具体逻辑。

Google