众所周知,数据是AI技术的燃料,更多高质量的数据意味着可以训练出更好性能的业务模型。随着IT移动化步伐地迈进,互联网数据被割裂为一个个孤岛,制约AI发展的一个瓶颈是保护用户数据隐私和打破不同主体之间数据孤岛的问题。随着移动设备性能的强化,4G/5G的兴起普及,在移动终端上进行模型训练变得可行。2016年,Google团队发布了一篇论文:Communication-Efficient Learning of Deep Networks from Decentralized Data。自此,产业界联邦学习(「Federal Learning」,Google中文命名为联盟学习,国内习惯称为联邦学习)的大幕开启。
在数百万不同的智能手机上部署联邦学习,其本质是移动模型,而非移动数据。为避免用户隐私泄露,联邦学习不需要在云端存储用户数据。智能手机下载当前版本的模型,通过学习本地数据来改进模型,并把模型改进增量加密发送到云端,与其他用户的更新即时整合为共享模型,所有的训练数据仍然在各终端用户的设备中,用户数据不会在云端保存。
在国际隐私数据条例(GDPR等)趋严的形势下,以Google为代表的ToC业务(如输入法)开辟了一个全新的思路。国内,联邦学习在产业界延伸至ToB领域,解决ToB AI的困局:隐私保护与数据孤岛问题。比如风控、营销等涉及到大规模的用户数据交互,隐私保护价值更高。2019年底,百度、微众、蚂蚁、富数、华控等5家公司,获得了信通院的安全计算证书,是当前安全计算资质中最具影响力的认证。
二、联邦计算核心技术
为联合打通数据孤岛,解决参与方的数据安全可信隐私保护问题,广义的联邦计算**「Federated Computing」实现方案包括:以密码学为核心的MPC多方安全计算「Secure Multi-Party Computation」,以及硬件可信执行环境TEE「Trusted Execution Environment」**。
2.1 多方安全计算(MPC:Secure Multi-Party Computation)
多方安全计算MPC以密码学为理论基础,采用算法/程序逻辑层面保障计算的安全可信任的基本理念,其安全性是可经过数学公式推导验证的。MPC不依赖于硬件等环境设施,即对各类异构的系统环境有兼容性,不依赖特定硬件。
2.1.1 混淆电路(Garbled Circuit)
混淆电路是一种密码学协议。图灵奖得主姚期智院士在1982提出著名的Yao's Millionaires' Problem,并给出了基于混淆电路的解决方案。该问题是Alex和Bob在无可信第三方,且不告知对方财富值的情况下比谁更富有。
其原理为:所有可计算的函数问题都可转换为不同的电路,由加法电路、乘法电路、移位电路、选择电路等表示。而电路本质上由门(gate)组成,逻辑门包括与门、非门、或门、与非门等。混淆电路把这些门进行加密和打乱来掩盖信息。Alice用密钥加密门的真值表并打乱后输出给Bob。Bob对真值表的每行进行解密,算法保障只有一行可解密成功,并提取结果。最后Bob将结果同步给Alice。过程中,二者交换的都是随机数或密文,无隐私数据泄露,但从程序逻辑层面完成了所需业务的计算。