加速安全计算 赋能联邦学习

以英特尔® IPP-Crypto 库加速半同态加密,面向单路和双路的第三代英特尔® 至强® 可扩展处理器赋能微众银行 FATE 联邦学习开源框架

  • 微众银行引入面向单路和双路的第三代英特尔® 至强® 可扩展处理器,并以英特尔® IPP-Crypto库提供的多缓冲区函数对其中半同态加密的模幂运算进行加速,进而提升基于 FATE 框架的联邦学习整体的运行效率,以更领先的 FATE 联邦学习开源框架助力用户利用多源数据合法合规地打造性能优异的 AI 模型,让更为成熟可用的 AI 方案赋能千行百业。

联邦学习开源框架旨在帮助用户更高效、更快捷地构建联邦建模方案,从而以丰富的多源数据打造性能更优的AI模型。通过引入英特尔® IPP-Crypto 库提供的多缓冲区函数,我们的 FATE 框架中半同态加密的模幂运算效率获得了显著提升,在助力用户方案效率获得整体提升的同时,有效降低了 TCO。”

徐倩,微众银行人工智能部副总经理

来自不同参与方的大规模、高质量数据已被证明能有效提升人工智能(Artificial Intelligence,AI)的应用效能。但出于数据安全和隐私保护的考虑,多源数据在共享建模时也需要寻求更高效、更安全的隐私计算方案。为此,一直致力于探索与推进联邦学习的微众银行,以领先的 FATE(Federated AI Technology Enabler)联邦学习开源框架助力用户快速构建联邦学习方案。

作为联邦学习中常用的隐私技术,同态加密(Homomorphic Encryption,HE)在保证安全性的同时也有着巨大的计算开销。为提升方案的计算效率,微众银行与合作伙伴英特尔一起,在面向单路和双路的第三代英特尔® 至强® 可扩展处理器中,基于英特尔® AVX-512(英特尔® 高级矢量扩展 512)新增的整数融合乘加(Integer Fused Multiply-Add,IFMA)指令集,以英特尔®  IPP-Crypto(Intel® Integrated Performance Primitives Cryptography)库提供的多缓冲区函数对其中半同态加密(Partial Homomorphic Encryption,PHE)的模幂运算进行加速,进而提升基于 FATE 框架的联邦学习整体的运行效率。目前,这一优化方案已得到测试验证,并计划面向用户推广使用,以期帮助用户提升联邦学习方案效率的同时有效降低总拥有成本(Total Cost of Ownership,TCO)。


微众银行为联邦学习提供更具优势的联邦学习开源框架

随着算法的日趋成熟与算力的不断增强,更多商业化 AI 应用已在众多行业崭露头角。例如在金融行业,一些银行正通过基于 AI 的智能风控模型对信贷风险进行管控,从而降低贷款不良率。但这些 AI 应用要想发挥更大的效能,就需要引入更为充沛且来源丰富的数据作为支撑。

但多源数据的协同与共享并不容易。一方面,出于对业务敏感信息的保护,大多数企业在数据共享上都持谨慎态度,即便同一企业内,不同部门间的信息传递往往也需经过层层审批;另一方面,全社会对数据安全和隐私保护的日益重视,也使多源数据在进行交互、传输和聚合时需要更多考虑数据安全问题。

因此,各个企业的 AI 团队在建模时,都力图寻找更为安全高效的隐私计算方法来提升多源数据协同能力,为 AI 模型训练提供更大规模、更高质量的数据。

这其中,联邦学习方法是近年来受到广泛关注的隐私计算方法。与以往多方安全计算、分布式机器学习和深度学习方法相比,联邦学习方法具有以下特征:
 

  • 各参与方的数据都留存在本地来参与训练,一种联邦学习方法的基本流程如图一所示;
  • 每个参与方的数据都参与训练过程,相比合并所有数据训练的模型,联邦学习模型的准确率损失可控;
  • 训练过程中兼顾隐私和安全,各参与方能够在不披露原始数据的前提下共同参与和推动 AI 模型的优化,并共享最终模型。

图一  一种联邦学习基本架构

为了让联邦学习方案的构建更为便捷高效,并能够快速与用户应用场景融合,作为联邦学习的积极探索者和参与者,微众银行率先发布了联邦学习工业级开源框架 FATE。作为一种分布式安全计算框架,FATE 支持同态加密(包括全同态、半同态)等隐私技术,并覆盖横向联邦学习、纵向联邦学习以及联邦迁移学习等不同联邦学习类型,可为机器学习、深度学习等提供高性能安全计算。

一直以来,英特尔都以先进的软硬件产品与技术为联邦学习方案中的各类隐私技术提供出色的基础能力。微众银行 FATE 框架中支持的各类同态加密算法,其运行过程中需要执行高密度的计算任务,而英特尔® 架构处理器平台在密集型计算上的优势可对其提供巨大助力。

现在,面向单路和双路的第三代英特尔® 至强® 可扩展处理器的到来,进一步为各项联邦学习任务提供了强劲算力,其集成的英特尔® AVX-512 IFMA 指令集可与英特尔® IPP-Crypto 库等出色技术和产品协同,也为半同态加密过程提供了特定加速能力。


以多缓冲区函数加速半同态加密中的模幂运算

同态加密是联邦学习中常见的隐私技术之一。所谓同态,是指通过一定的加密方法,让原始数据的操作,与加密数据的操作始终能保持同一种形态。如图二所示,假设原始数据 A 和 B 分别来自联邦学习的参与方 a 和 b,双方计划通过协同运算得到结果 C,但 ab 双方都不希望对方知道自己的数是多少。在使用同态加密的联邦学习环境中,可以对 AB 分别进行加密,并在加密环境下执行运算,所得到的结果进行解密后即可得到 C。由于整个协同计算过程都是在加密状态下进行,ab 双方在计算过程中无法看到原始数据,因此保证了原始数据的安全性。

图二 同态加密协议基本方法

基于同态加密协议的联邦学习一般工作路径如下:
 

  • 公钥:仲裁者生成公钥,并与各方分享;
  • 加密:对各个原始数据进行加密,并上传至联邦学习环境;
  • 运算:在联邦学习环境中对加密后的数据进行训练建模等操作;
  • 解密:最终生成的优化模型返回参与方,参与方进行解密。

可以看到,使用同态加密的联邦学习进行建模或对模型进行迭代优化时,不仅需要进行密钥生成和加解密计算过程,模型本身需要的各类计算,如梯度计算也需要在加密状态下进行,根据加密强度的不同,加密后的整数精度长度(Integer Precision)一般从 1024 比特到 4096 比特不等,由此带来的计算量就相当庞大。

在常见的各类隐私技术中,同态加密一直在安全性上有着较大的优势,但其偏高的计算复杂度,也为用户带来了巨大的计算资源和时间资源开销。这意味着用户在部署联邦学习方案时,需要采购更多的服务器资源,并耗费更长的建模时间,由此带来成本的上升和效率的降低。用户需要权衡安全性和计算复杂度,在同态加密与其它隐私技术之间做出取舍。

为此,许多用户会选择其中计算负载较小的半同态加密方案。但即便如此,当参与建模的数据集样本量达上亿时,整个加密过程耗时也可能会非常漫长。

为应对业务场景的实际需求,微众银行计划对其 FATE 框架中,基于 Paillier 算法的半同态加密方案进行进一步加速。通过与英特尔携手开展分析,微众银行发现,在半同态加密的密钥生成、加解密以及加密数据的乘/加计算过程中,都需要用到模幂运算(Modular Exponentiation),例如加解密过程如下:

加密:计算密文 c=gm rn mod n2
解密:计算明文 m=L(cλ mod n2)x μ mod n

其中加密和解密分别需要用到 1 次和 2 次模幂运算。

简单而言,模幂运算就是 ab mod c,计算本身虽然并不复杂,但如前所述,半同态加密方案中数据都进行了加密,整数精度长度高达上千比特,对这种大数进行模幂运算就相当消耗计算资源。一般而言,模幂运算可占整个计算方案的很大一部分开销。

传统上,FATE 框架默认采用开源数学运算库(GNU MP Bignum Library,GMP)来执行模幂运算。虽然 GMP 库可支持任意精度的数学运算,但即便参与运算的数据长度多达上千位比特,其依然采用的是 “串行” 的计算请求方式。

图三 英特尔® IPP-Crypto库提供的全新计算请求方式

在英特尔看来,这有着巨大的可优化空间。全新面向单路和双路的第三代英特尔® 至强® 可扩展处理器中集成的英特尔® AVX-512 IFMA 指令集,为英特尔® IPP-Crypto 库提供了新的支持,也为模幂运算带来了新的计算请求模式。

作为英特尔面向单指令多数据流(Single Instruction Multiple Data,SIMD)推出的强大指令集,英特尔® AVX-512 能提供 512 位的矢量计算能力,即处理器可以同时处理 8 路 64 位整数。而其在面向单路和双路的第三代英特尔® 至强® 可扩展处理器中新加入的 IFMA 子集,可让处理器一次同时完成整数的加法和乘法两种计算操作,带来计算效率的大幅提升。如图三所示,基于英特尔® AVX-512 IFMA,英特尔® IPP-Crypto 库可以通过 mbx_exp_mb8()多缓冲区函数,在模幂运算中同时向处理器发起 8 路并行计算请求。“由串变并” 的计算请求模式变化,使模幂运算的计算效率获得了显而易见的提升,进而使得使用了模幂运算的半同态加密的计算性能获得整体性的提高。


FATE框架工作效率有效提升,用户部署成本大幅降低

为验证在面向单路和双路的第三代英特尔® 至强® 可扩展处理器平台上引入英特尔® IPP-Crypto库提供的多缓冲区函数后,FATE 框架半同态加密的性能表现,英特尔与微众银行一起开展了多方位的验证测试。

图四 英特尔® IPP-Crypto 库带来的性能提升(归一化数据对比)

测试结果如图四所示,与原有 GMP 库相比,在使用英特尔® IPP-Crypto 库提供的多缓冲区函数后,半同态加密算法需要的模幂运算在不同的整数精度长度上都有着显著的性能提升。其中,当整数精度长度为 2048 比特时,性能增幅达 4.71 倍。 

性能的大幅提升,意味着用户在部署半同态加密联邦学习方案时所需的服务器资源更少,可有效降低整体 TCO。同时,面向单路和双路的第三代英特尔® 至强® 可扩展处理器自身性能的提升,也让用户在选择其作为联邦学习方案计算平台时,可获得 “事半功倍” 的效果。


展望

计算效率的进一步提升,正推动更多用户便捷地使用微众银行 FATE 联邦学习开源框架,利用多源数据合法合规地打造性能优异的 AI 模型,让更为成熟可用的 AI 方案赋能千行百业。

面向未来,微众银行还计划与英特尔一起,在以下几个方面继续开展合作,推动 FATE 框架为用户联邦学习方案的构建提供强有力的能力输出:
 

  • 进一步借助英特尔® IPP-Crypto 库,对半同态加密联邦学习方案进行整体性优化;
  • 借助英特尔® IPP-Crypto 库以及其它英特尔软硬件产品与技术,开展全同态加密联邦学习方案的优化。

值得一提的是,英特尔还为同态加密联邦学习解决方案提供了开源的英特尔® HEXL(Homomorphic Encryption Acceleration Library,英特尔® 同态加密加速库)。针对方案中对加密数据进行计算时产生的瓶颈,英特尔® HEXL 可通过正反向负循环数论变换 (Negacyclic Number-Theoretic Transform,NTT)、逐元素向量-向量模乘法等功能的实现来予以优化和消除。而借助英特尔® AVX-512 IFMA 指令集,这些功能可获得进一步的高效实现。随着双方在联邦学习上合作的深入,英特尔将与微众银行一起,对英特尔® HEXL 在同态加密解决方案中的应用开展更多探索与实践。


FATE 框架助力联邦辅助诊断

基于联邦学习的智慧医疗,不仅能够赋能实力较弱的医院,提供更高质量的检测结果,吸引更多的患者;也可以辅助医生诊断,减少医生的工作负担。同时本地化治疗也能减轻患者及家属负担。

以脑卒中检测为例,通过引入横向联邦学习,在病例量较小的医院,相比仅用该医院病例作为训练样本,可在保护患者隐私的前提下使检测准确率提升 10%~20%2。随着更多的医院的病例样本加入联邦学习训练,模型的准确率将进一步提高。以我国每年近 200 万的异地就医(严格限制为跨省就医)患者为例,如基于联邦学习的疾病预测若能覆盖其中百分之十人群,将在前期的确诊阶段每年节约大约 2 亿元费用2


FATE 框架助力联邦信贷风控

针对小微企业信贷评审数据稀缺等问题,FATE 联邦学习框架助力用户设立多源数据融合机制,协助相关金融机构获取更多维度的数据来丰富特征体系。而在特征体系构建的过程中,基于 FATE 框架构建的联邦学习方案可更有效确保数据提供方的隐私安全,提升模型的有效性。

数据表明,通过多维度联邦数据建模,风控模型效果约可提升 12%,同时还可帮助消费金融类企业用户有效节约信贷审核成本,整体成本预计可下降 5%-10%,并进一步增强风控能力2


推荐配置

得益于良好的联邦建模效果,以及可信赖的数据安全保障,已有众多企业、机构和研究单位选择微众银行 FATE 框架开展联邦学习方案的探索和部署。为了帮助这些用户在实践中实现高效建模,并获得更优质的 AI 模型,微众银行与英特尔一起,基于丰富的实战经验和测试验证结果,推荐以下硬件配置: