天天看点

纵向联邦学习在微信联合建模场景的实践与优化

作者:闪念基因

1. 背景

  随着大数据的不断发展,数据带来价值越来越大的同时,数据泄漏的风险也在增大。所以如何在满足数据隐私、安全和监管要求的前提下,使用一个合理的机器学习框架,让人工智能系统能够更加高效和准确的使用数据打破数据孤岛是当前一个重要课题。在该背景下,为了实现“数据可用不可见”的目标,联邦学习应运而生,各方之间通过加密机制下的参数交换方式联合数据建立共有模型,实现自有数据不出本地情况下的模型构建。

  在政策方面,《十六部门关于促进数据安全产业发展的指导意见》中提到,加强核心技术攻关。推进新型计算模式和网络架构下数据安全基础理论和技术研究,支持后量子密码算法、密态计算等技术在数据安全产业的发展应用。优化升级数据识别、分类分级、数据脱敏、数据权限管理等共性基础技术,加强隐私计算、数据流转分析等关键技术攻关。研究大数据场景下轻量级安全传输存储、隐私合规检测、数据滥用分析等技术。推动先进适用数据安全技术产品在电子商务、远程医疗、在线教育、线上办公、直播新媒体等新型应用场景,以及国家数据中心集群、国家算力枢纽节点等重大数据基础设施中的应用。推进安全多方计算、联邦学习、全同态加密等数据开发利用支撑技术的部署应用。

  根据数据样本空间与特征空间的不同分布模式,联邦学习一般分为三类:纵向联邦学习,横向联邦学习和联邦迁移学习。纵向联邦学习适用于样本重叠较多而特征重叠较少的情况,实际业务中也主要以业务缺少用户描述为主,所以后文将围绕纵向联邦学习展开介绍;第二类是横向联邦学习,适用情况跟纵向刚好相反,特征重叠较多而样本重叠较少,这种情况下参与方只须本地计算模型梯度,然后通过服务器端采用联邦安全聚合梯度的方式来更新模型。第三类是联邦迁移学习,这种学习模式适用于样本和特征都重叠较少的情况。

纵向联邦学习在微信联合建模场景的实践与优化

  业务应用中,我们团队主要落地纵向联邦学习,为不同部门间数据合作提供联邦学习能力,实现数据不流通但数据价值流通。主要包含三方面的工作,分别是框架效率优化、联邦算法开发及应用,联邦学习能力的平台化。

2. 纵向联邦学习框架的优化与实践

  一般联邦学习建模流程主要包括安全样本对齐和联邦机器学习训练(如树模型和神经网络模型)。联邦学习框架上,我们选择了腾讯公司自研的联邦学习框架PowerFL,并且在应用过程中优化了安全样本对齐和通过优化半同态加密算法效率进而优化机器学习算法的效率,同时针对某些应用场景对模型稳定性的要求,团队将之前使用对抗学习优化模型稳定性的方法联邦化,这些优化的工作也已经合并到公司的联邦学习框架中,且这些优化的实现不局限于具体框架,同时为方便BG内其他团队使用联邦学习,我们也把联邦学习的能力集成到WXG的机器学习平台Adams,以下展开介绍:

2.1. 纵向联邦学习的优化

  在联邦建模过程中,为了保证数据的安全性,需要对数据进行加密,其中同态加密是建模训练中应用最广泛的一种方案。但是同态加密的计算效率很低,如何优化该算法成了建模过程中一项非常重要的工作。为此,我们开展了Pailler同态加密的优化工作,也取得了较好的性能提升,并应用在实际的业务模型中,如腾讯公司PowerFL框架中的联邦GBDT模型。除此之外,安全样本对齐是联邦模型训练的前置步骤,我们也开展了该算法的优化工作,研究了基于k-out-of-n OT的安全样本对齐,性能较OPRF的安全样本对齐有明显的提升。关于底层框架的优化工作,下面详细论述在Paillier同态加密解密加速优化这一块的工作。

  对明文数据经过同态加密后,在密文空间下进行若干次逻辑计算得到密文输出,将该输出进行解密,其结果与用相同逻辑计算未加密的原始数据得到的输出结果是相同的。以Paiilier算法为例,假设有两个明文、,经过Paillier算法加密后分别为、,其中为解密算法, 为常数:

  根据支持的计算类型和计算次数,可以将同态加密分为以下几类:

  • 全同态加密(Fully Homomorphic Encryption, FHE):支持任意次数的加法和乘法运算;
  • 部分同态加密(Somewhat Homomorphic Encryption, SWHE):可以同时支持加法和乘法运算,但仅支持有限次数的计算;
  • 半同态加密(Partially Homomorphic Encryption, PHE):只支持加法或乘法中的一种运算。

  自从同态加密概念在1978年首次提出,学术界涌现出了多个PHE的方案,如RSA、GM[1]、Elgamal[2]和Paillier[3]。SWHE方案也相继问世,如BGN[4]。然而对于FHE的实现,学术界在相当长的时间都一直没有确切有效的方案。直到2009年,首个FHE方案由Gentry利用理想格实现了,轰动了整个学术界,并激起了学术界研究FHE方案的热潮。然而,在现有的FHE方案中普遍存在效率、安全性缺陷。FHE在计算有限次乘法后需要较复杂的去除噪声的操作,而PHE方案如典型的Paillier算法的高效、支持无限次加法和数乘的特点,使其在很多领域发挥着极其重要的作用,作为底层基础算法可协助完成多种隐私计算任务,尤其是在联邦学习领域,如联邦GBDT、LR、DNN等均会应用到paillier半同态加密算法。

2.1.1. Paillier原理介绍

  Paillier加密算法是1999年paillier发明的概率公钥加密算法。基于复合剩余类的困难问题。该加密算法是一种同态加密,满足加法和数乘同态,已经广泛应用在加密信号处理、第三方数据处理、联邦学习大部分模型算法等各个领域。Paiilier加密算法以数论为理论基础,完成密钥对生成、公钥加密、私钥解密、密文计算这些步骤,通过严格的数学推导,来保证算法的安全性及正确性。

密钥对生成

  1. 随机选择两个独立的大素数和,满足,且和长度相等;
  2. 计算, ,其中表示最小公倍数,表示n的比特长度;
  3. 随机选取整数 ,一般可取 ,计算速度更快;
  4. 确保满足存在,其中;
  5. 得到公钥 ,私钥λμ;

公钥加密

  1. 输入明文消息,满足;
  2. 选择随机数, 满足,且 ;
  3. 计算密文

私钥解密

  1. 输入密文c,满足
  2. 计算明文消息

密文计算

  1. 同态加法:对于密文和,计算同态加结果;
  2. 同态数乘:对于密文和标量,计算同态数乘结果。

正确性:

  • 加解密正确性:因为

    所以 由费马小定理可得 同理可得 可得 可得 即 所以 由二项式定理有所以有 ,正确性得证。

  • 同态加正确性:
  • 同态数乘正确性:

安全性:

  Paillier算法安全性可以等价归约到判定性合数剩余假设(Decisional Composite Residuosity Assumption, DCRA),即给定一个合数和整数,判定是否在下是否是次剩余是困难的。这个假设经过了漫长的学术研究,到目前为止还没有多项式时间的算法可以攻破,尤其是当密钥长度足够长的时候,计算破解几乎是不可能的。

2.1.2. Paillier加解密优化

  Paillier方案本身提出了一个变体算法Scheme3,与原始方案Scheme1相比效率更优[3]。对于Scheme3,在密钥生成过程中,从简化剩余系中选取一个阶为的群元素,其中是一个明显小于的整数。

Scheme3加密算法:

Scheme3解密加速算法:

  对于 320 位的,解密涉及非固定基模幂运算,指数仅为 320 位。因此,解密算法比Scheme 1的Paillier方案快数倍。

蚂蚁团队解密加速算法:

  基于简化剩余系Z_N^∗某些子群的结构,将随机化空间降低到原来一半,解密快4.1倍[5]。

进一步解密加速:

  在解密阶段,与Scheme 3中非固定基模密运算中及阿里蚂蚁团队基于中的子群结构不同的是,该解密优化通过优化分解同余方程,降低模指数空间,来提升模密运算的计算速度,从而使解密算法计算更快。

算法应用

  与现有方案相比,解密性能可以提升1倍以上,优化后的解密应用到xgb的性能提升如下所示。

纵向联邦学习在微信联合建模场景的实践与优化

2.2. 纵向联邦学习算法开发及在业务中的实践

  在很多建模场景里,标签表现期往往需要半年甚至更长的时间,从而只能使用过去的数据进行建模,而应用时点却是现在以及将来。这就会引出一个风险,随着建模与应用时点间隔时间越长,数据变化导致模型预测值在这两个时刻的分布差异就有可能越大,从而影响到下游使用。

2.2.1. 传统建模方式

  常用于衡量模型稳定性的指标是群体稳定性指标(Population Stability Index, PSI)[6],该指标基于分档后的目标值,对每档中期望样本与实际样本的分布差异进行统计,最终得出两样本之间的分布差异评分:

其中,为目标值的分档数,为第档的期望样本占比(即建模时刻的样本模型预测值在该档的比例),为第档的真实样本占比(即当前时刻的样本模型预测值在该档的比例)。一般而言,会根据PSI的不同取值对模型采取不同的操作:

PSI推论操作小于0.1分布变化不明显无需对模型进行操作0.1~0.25分布有些许变化检查PSI以外的监控指标大于0.25分布已发生迁移重新开发模型

  所以为了保证纵向联邦模型的预测值分布稳定,我们会计算每一个特征的PSI值,并根据预先设定的阈值对高PSI的特征进行过滤,再利用剩下的特征构建纵向联邦模型。这种方法能够在众多特征中筛选出相对稳定的部分,从而基于这些稳定特征训练的模型也会更稳定。但在实践中发现,如果特征衍生不够充分,就会导致特征筛选这一步丢失信息,导致最终模型的预测能力下降。

纵向联邦学习在微信联合建模场景的实践与优化

2.2.2. 基于对抗学习优化纵向联邦模型稳定性

  由于PSI指标无法作为目标函数的一部分直接优化,所以我们换一种方式去对模型稳定性进行描述。因为目标值越稳定,表示目标值在时序上的分布差异越小,也就是说越无法通过目标值的大小来判断其真实所在的时刻,反之亦然。所以我们可以采用目标值对所处时刻识别的准确度作为衡量稳定性的指标。从而结合对抗学习,我们就能实现把特征衍生、特征筛选和模型构建三个步骤同时放到一个模型:编码器实现特征的自动衍生,判别器实现对衍生特征中的不稳定部分进行过滤,而分类器则努力地让衍生特征具备更强的分类能力。最终三个网络达到一个动态的平衡,编码器衍生出的特征在尽可能保留目标预测能力的同时也相对更稳定,而基于这些衍生特征训练的模型也就实现了“在尽可能不影响模型预测能力的同时提高模型稳定性”的目标。

纵向联邦学习在微信联合建模场景的实践与优化

其中,为原始特征,为编码器Encoder生成的衍生特征,为客群变量,为原始特征所处的时刻,也是判别器Discriminator努力识别的目标,而则是分类器Classifier要预测的目标。模型目标函数如下[7]:

  在纵向联邦模型SplitNN结构中,可在图中1~4的位置任意可选择增加判别器,从而实现不同稳定性的需求。

纵向联邦学习在微信联合建模场景的实践与优化

算法应用

  与传统方案相比,基于对抗学习实现的新模型效果提升5.6%,而PSI仅为基准模型的14%。

2.3. 纵向联邦学习能力在机器学习平台的集成

  为方便BG内其他团队使用联邦学习开展数据合作,我们也把联邦学习的能力集成到WXG的机器学习平台Adams。

  与常规机器学习任务不一样,由于联邦学习涉及到多方参与,如何管理任务授权、工作流启停和参数设置等问题,对联邦学习的可用性会产生很大影响。在平台还未支持的时候,我们经常会遇到,一方任务失败另一方任务一直运行等待,两方任务因为参数不一致导致影响效果等问题,这也推动了平台相关的建设。

任务授权

  只要各参与方都在平台上创建联邦工作流,然后在节点参数中相互填写对方的“联邦关联节点”,这就完成了节点授权,就能启动相应联邦任务。下面以两方联邦建模为例,其中一方填写参数如下:

纵向联邦学习在微信联合建模场景的实践与优化

由于参与方在不同的项目,所以相互间无法查看以及编辑。

工作流启停

  平台初期,联邦任务的启动需要各方先手动运行自己相应的任务,这样才能建立通信开始运行。同时,如果出现其中一方失败,需要拉群告知对方一起重启任务。这导致联邦学习任务的可用性很低,所以我们重新设置了联邦学习任务的运行机制,只用其中一方拉起任务,其他参与方的任务就会自动启动运行;一方任务失败,就是自动停止其他参与方的任务。

纵向联邦学习在微信联合建模场景的实践与优化

参数设置

  由于任务的参数很多,如果参与方间填写不一致,很容易导致联邦任务失败或者产生影响模型效果的事情发生。所以除了完善授权和同步启停等功能外,我们还引入了参数自动复制拷贝的功能。联邦节点两两关联后,最后点击保存工作流的一方,会把自己节点里面配置的共享参数全部同步至其他参与方,这样就确保了联邦节点间的参数不会冲突。

纵向联邦学习在微信联合建模场景的实践与优化

3. 总结

  综上介绍,我们围绕纵向联邦学习中的,安全样本对齐、联邦特征工程和联邦建模,做了效率和效果上的优化,这些优化的工作也已经合并到公司的联邦学习框架PowerFL,这些优化的实现不局限于具体框架,对其他框架也有参考意义,另外,我们也把联邦学习的能力集成到WXG的机器学习平台Adams。

  隐私计算是一个充满挑战的方向,权衡安全性与计算性能,我们正在招聘有志于探索隐私计算的人才,一起研究和应用最先进的隐私计算技术,开创数据价值流通的新局面。

4. 参考资料

[1] Shafi G, Silvio M. Probabilistic encryption & how to play mental poker keeping secret all partial information[C]//Proceedings of the 14th Annual ACM Symposium on Theory of Computing. 1982: 365-77.

[2] ElGamal T. A public key cryptosystem and a signature scheme based on discrete logarithms[J]. IEEE transactions on information theory, 1985, 31(4): 469-472.

[3] Paillier P. Public-key cryptosystems based on composite degree residuosity classes[C]//International conference on the theory and applications of cryptographic techniques. Springer, Berlin, Heidelberg, 1999: 223-238.

[4] Boneh D, Goh E J, Nissim K. Evaluating 2-DNF formulas on ciphertexts[C]//Theory of cryptography conference. Springer, Berlin, Heidelberg, 2005: 325-341.

[5] Ma H, Han S, Lei H. Optimized paillier’s cryptosystem with fast encryption and decryption[C]//Annual Computer Security Applications Conference. 2021: 106-118.

[6] Yurdakul B. Statistical properties of population stability index[M]. Western Michigan University, 2018.

[7] Ganin Y, Ustinova E, Ajakan H, et al. Domain-adversarial training of neural networks[J]. The journal of machine learning research, 2016, 17(1): 2096-2030.

作者:微信大数据团队

来源:微信公众号:微信后台团队

出处:https://mp.weixin.qq.com/s/h3ZE03rGF6rTEsWmZy0T7Q

继续阅读