导读:本文将介绍光大集团在联邦学习方面的探索和实践, 同时介绍我们出版的一本专著——《联邦学习原理及应用》。全文目录:隐私计算背景概述光大集团隐私计算平台建设光大联邦学习场景及相关算法介绍《联邦学习原理及应用》介绍行业未来发展介绍分享嘉宾|王鹏 光大科技 大数据研究团队负责人编辑整理|金勇 建信金科出品平台|DataFunSummit1隐私计算背景概述首先介绍一下隐私保护相关政策要求,以及隐私计算的发展历程。1. 隐私保护是数据要素应用的保证一方面,在国际上,发布过两个比较重要的法律条例,一个是 2018 年欧盟的 GDPR,另一个是美国的《加州消费者隐私法案》。这两款法律条例出台后,严格规范了个人数据的使用要求,很多有相关业务的公司也因违反条例而受到过惩罚。另一方面,我国比较重要的相关法律条案就是数据安全法,以及个人信息安全保护法。这两部法律对数据的使用提出了很多的限制和要求。各个行业的监管机构也出台了一些相关的管理办法。对数据使用也提出了一些更具体的要求。从我国相关法律法规的出台可以看出不仅对于个人信息的保护趋于严格化,而且对数据的控制方职责要求更加明确,相应的刑罚也更加具体。同时,覆盖领域和相关具体细则也更加详细,包括用户授权、审批方式等。当然各行各业的发展还是离不开数据的,既要让数据产生价值,又要做好隐私保护的工作,在这个矛盾之下,隐私计算技术应运而生。2. 隐私计算发展历程上图展示了隐私计算的发展历程。下面我们来回顾一下隐私计算得发展历程。早在 2012 年时,王爽教授提出了一个在医学领域的“数据可用不可见”的概念。以此为标志形成了隐私计算的基础性框架联邦学习的工程性落地方案。2016 年的时候,Google 提出了联邦学习在移动互联网上的应用。那个时候Google 提出的方案主要解决的问题是安卓系统的数据如何能够放在一起建立模型,而这显然涉及了用户隐私,为了符合美国相关法律条案的规定,推出了这个方案。现在来看其更倾向于横向联邦方式。在 2018 年,杨强教授的团队在微众银行发起了联邦学习研究,并且做了一个开源的项目 FATE。现在 FATE 应该是全球首个工业级的联邦学习平台,并且在国内的应用企业越来越多。最近马上要发的版本已经更新到 1.8,可以说相较第一个版本 FATE 已经做得越来越好,发展越来越快。这些年光大科技作为 FATE 的专家委员会成员也是在积极支持着FATE社区建设。第二个就是 TEE(可信执行环境)。这个其实是一种偏硬件的解决方案。在 2009 年首先被提出来。然后 2016 年,也是王爽教授团队完成了一个基于 TEE 和安全联邦学习的工程落地。到 2018 年,很多互联网公司都开始进入到了 TEE 的研究领域中来。最后再从密码学角度来看,最重要的是同态加密。在 1978 年随着 RSA 算法的提出,就奠定了同态计算的发展基础,即从静态到动态过程的转变。2009 年,Gentry 提出第一个全同态的理念,奠定了全同态计算时代发展的开端。在 2017 年随着国际同态加密标准委员会的成立,同态加密在全球进入了一个高速发展的阶段。多方安全计算,1981 年 Rabin 提出机密信息交互计算,奠定了多方安全计算的理论基础。在 1982 年姚期智教授提出百万富翁问题,引入了安全两方计算。在 2019 年阿里也开始成立了一个 MPC 联盟。纵观来看,隐私计算技术开始发展是在 2018 年和 2019 年间开始萌芽,到2020 年和 2021 年逐步进入高速发展期。但当时的落地场景和应用效果会比较少。从今年开始,我们也能看到实际应用案例落地越来越多。尤其在金融、医疗和政务等领域,有着越来越多隐私计算的落地案例,整个行业正在向着大规模应用的趋势发展。3. 隐私保护的技术路线和联邦学习随着 2016 年联邦学习被首次提出,在 2019 年,光大就已经开始研究隐私计算。当时我们也做了一些调研,因为 FATE 是开源的,所以当时对 FATE 的研究会比较多。2019 年我们从 FATE0.1 这个版本就已经开始在尝试应用,并且基于 FATE1.0.1,构建了光大的联邦学习平台。2022 年是隐私保护计算的应用元年,尤其是今年提出了可信联邦学习,给出了一个比较强烈的信号,就是联邦学习从一个理论或者实验室的阶段,逐步过度到一个可实际落地的阶段。实际上可信两个字更多的代表可被监管、可解释、可落地。从这几个层面去解释可信这个词会比较准确。另外所谓联邦学习就是在隐私保护前提下,通过数据要素的流动来实现数据价值的体现。其技术栈有几个特征,第一就是保证数据的隐私;第二就是在数据建模过程中,保证信息无损;第三就是各个参与者地位保证相对的对等;最后是联合建模参与方要产生一个共赢的价值。4. 联邦学习相关的业界标准这里列出联邦学习的一些标准。左边就是 IEEE 和 ISO 已经建的或者在建的一些标准和框架。例如第一个 P3652.1《联邦学习架构框架与应用指南》,就是杨强教授他们当时在 IEEE 的立项,并且现在已成功的完成编写并发布。右侧是目前国内的一些功能标准,可划分为功能标准、性能标准和安全性,还有互联互通相关的一些标准。目前真正发出来的在功能标准这一层面会多一些,其他的会涉及到落地的工程化问题,还在编制中。除了理论研究,联邦学习已经逐渐走向成熟,形成了一些成型的研究报告和相关研究指引,以及相关标准的落地。光大也在金融领域内也参与了一些相关的标准及白皮书的制定。下面分享一下光大集团的联邦学习平台建设。2光大集团隐私计算平台建设1. 光大集团及光大科技首先介绍一下光大集团和光大科技。光大集团还是一个财富管理与民生服务为一体的金控集团。我们分为四个板块:第一是金融板块,也就是大家比较熟悉的光大银行、光大证券、光大保险、光大信托;第二是投资板块,包括光大金控、光大控股和光大金瓯产业板块;第三是产业板块,包括健康领域的光大健康、中青旅这种旅游行业的企业,环保领域的光大环境以及嘉事堂这种医药行业的企业;第四就是以光大科技为主的一个科技板块。光大科技也是光大集团的一级子公司,主要是服务于集团的信息化建设,以及各个子公司之间的数字化转型工作。2. 光大联邦学习技术发展这里简单介绍光大联邦学习的发展路线。刚才也讲到在 2019 年,我们基于FATE0.1 的版本,开始探索联邦学习,进行了很多的测试和研究。在 2020 年我们也加入到了 FATE 社区中,成为它的 TSC 成员。同时我们也把自己自研的“可验证秘密共享”技术贡献给了该社区。在 2020 年我们发表了两篇国际会议论文:一篇是信用评分相关的,另一篇是关于 F-Score 算法相关的。在 2021 年我们成为 FATE 的技术指导委员会成员,同时我们集团的联邦学习平台也正式投产上线,这对我们来说是一个里程碑事件。同年,我们也发表了一篇学术论文,并参与了北京金融科技产业联盟的白皮书编写以及一些应用研究报告的编写,还参与了多方安全计算的金融应用现状和实施指引的专项课题研究。我们的平台也获得了 2021 年中国金融创新奖的“十佳金融创新科技奖”。今年随着 FATE 社区的日益开放,我们加入到了 FATE 开发专委会,为 FATE社区发展提供更多思路和建议。比如,目前我们正在发起基于联邦学习框架的半监督学习的训练范式,并且在社区内进行创新孵化。同时我们出版了《联盟学习原理与应用》一书,把我们积累的经验,以及一些建设实施过程中的问题,都汇总到这本书中,供行业内的朋友们参考。这本书的繁体中文版,在台湾也同步出版了。同时我们还参加了全国金融标准委员会的联邦学习技术金融应用规范的行业标准制定。3. 光大联邦学习平台简介光大联邦学习平台是基于金控集团的交叉营销场景、客户迁徙统计、智能营销、智能风控、量化交易、以及指数运算等这些业务场景来打造的一个共享智能的平台,我们称其为“一站式共享智能解决方案”。底层是大数据平台和区块链这两个平台,中间层包括一个分布式的智能决策引擎,同时引入了多方安全计算平台和联邦学习平台,以及传统的本地化机器学习建模平台,用来支撑上层的一些应用,如智能风控、智能营销等。同时也探索出一条关于数据资产的共享,包括技术共享、价值共享于一体的新路径。连接我们内部和外部的更多企业,来促进数据资产的流动,实现金融科技加生态的新商业模式的创新。4. 光大集团联邦学习的平台建设光大联邦学习平台是基于 FATE 框架构建的,当然我们也在 FATE 上面做了一些比较大的改造。一个是把区块链平台对接进来,用区块链技术来对接用户审计。另一个就是对模型训练过程中的一些日志进行记录。同时我们也会做一些联合激励模型,来促进更多的企业连接进来。平台采用 Exchange 星型模式进行部署,同时我们也兼容了 MPC 平台,对外可以进行更多资源的连接,实现对内赋能。同时在这个过程中我们连接了各个成员企业,做出了很多业务的应用。5. 光大集团面向隐私策略的决策引擎除了联邦学习和多方安全计算平台,我们还研发了分布式的决策引擎,在实际的合作场景中,有些策略的保护也会非常重要,所以我们自研了一个规则引擎,并将我们的规则进行了一些加密,使得这种加密后的规则传到对方的合作端。在合作端可以利用对方的数据做一些决策,再将结果回传到我们内部来,进行后续策略的运行。这就是我们对策略进行保护的一种方式,我们把它定义为一个分布式智能决策引擎模块,其重点就是对策略进行加密,在策略被保护的同时,与合作端的数据进行联合决策。同时这里面也引入了区块链技术,做一些策略的评分和结果记录,以及调用凭证记录和认证的工作。3光大联邦学习场景及相关算法介绍1. 光大科技为FATE社区贡献的安全多方求和算法这部分介绍我们目前的一些场景和我们提供的一些算法。首先讲一下光大科技为社区贡献的安全多方求和算法。背景是当时在集团内,有一个客户资产统计的场景,这些数据分布在多家机构,但是这些数据不能共享。经过研究和探讨,我们决定采用多方安全求和算法,也就是上面这个可验证秘密共享的方案。通过对这个场景进行实践研究,统计了集团的这些客户的总资产,用来进一步挖掘潜力客户。这个可验证的秘密共享算法是一个可分裂的运算过程,也就是运算的结果在多方能够参与的情况下,进行还原。例如上图的例子,比如 Guest 方、Host1 方和 Host2 这 3 方都有一个秘密值,叫 a0、b0、c0,代表用户在不同机构的资产值。我们的目标是能够得到资产的求和。具体过程是,把每一点的秘密分成三份,分别创建出一个随机函数。这个函数相当于 N-1 次多项式函数,其中 N 代表参与方的个数。这三方都有这么一个函数。前面第一个常数项就是它的秘密值,然后在这上面创建三个点,分别就是每一个点发出去的,比如第一个就是 f1(1)、 f2(2)、 f3(3)。然后将同样的 f(1) 同时发往同一方,比如 f1(1)、f2(1)、f3(1) 都发往 Guest 方。秘密分发到一方之后,就会对这三方的函数进行汇总,也就是秘密求和的过程。比如把第一个对应的 f1(1)、f2(1)、f3(1) 进行求和,变成第一个对应的结果。然后第二个也是同样把 f1(2)、f2(2)、f3(2) 这 3 个点进行求和,第三个也类似。接下来利用拉格朗日插值定理把整个函数求出来。最后就会得到 a0+b0+c0 的和,同时这里任何一方并不知道对方的具体值是什么。2. 可验证秘密分享在上面的运算过程中,如何防止别人对内容造假呢?这里的方法是做一个认证,也就是在这个过程中会为每一方发送一个承诺数 g 和它对于 P 的大素数,保证 g 的次幂就是刚才那个函数对应的 a0 ,a1,a3 等。然后用这个函数对 P 取模,同时对每一个拆分出来的式子,也对 P 取模,如果它们能相等,就认为数据没有被造假,是真实有效的。上图中,我们这个函数算法要放到 FATE 里面,首先要继承 FATE 里边的BaseParam 类,这里会有两个参数。一个参数是对哪些列去求和,另一个是精度是多少位,相当于对这个参数做一个校验。这块比较关键,就是我们这个算法的模块,对这个算法进行命名。后面我们在 FATE 里面想用它的话,其实就用这个名字就可以了。然后这里使用它提供的 CPN 装饰器,把它绑定到 Guest 和 Host 运算过程,然后分别绑定到这两个装置器里面形成对象,还需要绑定那个自定义的开发组件,就是刚才那个参数,让这个参数能传进来,与 Feldman 去做一个结合。然后,我们会把 Guest 方和 Host 方对应的参数在这里定义清楚。这样函数在运行的时候,会根据变量来判断 Guest 能否发给 Host 方或者 Host 方之间能否互传。关于这个算法的实现,重载相应的接口,这里就不详细介绍了。我们用这个算法的时候,有两个配置文件,一个是 DSL 配置文件是一个有向无环图。比如先去读数据,读完数据之后,做一些转化。后边就会调用我们刚才定义的算法,把参数传到算法模型里面去,最后生成相应的数据结果。右侧它的一个配置文件,就相当于定义这里面的 Guest 方、 Host 方分别是谁,分别充当什么样的角色。另一块就是刚才上面那个算法需要的两个参数,对哪些列做求和,并且它的精度是保持六位。后面就是用哪个表去做运算,然后把这两个配置文件写好之后传到 FATE 里面去做运算,这样整个算法就跑起来了。上图是一个案例实验效果的总结,我们分别在 20 万条、40 万条、60 万条、80 万条和 100 万条的情况下,做了一个性能的测试。首先就是总耗时与数据量是一个线性增长的关系。通信耗时也是类似线性的增长。结果的正确率能够达到 100%。参与方的数量与任务耗时的关系中,我们分别试过两个、三个和四个参与方,结果显示总耗时与参与方数量也是成线性增长的关系。而且这个算法性能较好,即使参与方数量增长到 4,还能保持 233 秒的性能。这个算法的详细介绍我们已经分享在 FATE 社区里面进行了一些宣传,有一个专门的技术文章,链接附在上面(https://mp.weixin.qq.com/s/fSNmEEJWR2p7klA2KAvj5g),大家可以去社区看一下。3. 光大联邦学习应用场景-联合统计上面这个图是一个联合统计的场景。因为我们的场景是金控集团,需要去统计集体团内成员企业的用户总数、客户总数、还有迁徙客户数等,来支持集体的协同发展。这个图展示了我们计算客户迁徙的过程,这一块我们是基于 Paillier 算法的同态特点进行的运算,就是加密后的数据进行的运算等同于加密前的结果。然后我们基于效率和安全的平衡在整个过程中做了一些改造。比如,计算客户迁徙数,相当于要做一个差值场景,这也是以一种特殊的求和。为了达到双盲的效果,我们引入了一个随机数 r,但是当我们计算的数据量足够大的时候,通过求最大公约数是有可能将 r 反推出来的。但是针对每一条数据都生成一个 r 的话,性能上其实会受到很大的影响。所以这个时候我们引入了随机池的概念,其实就是预先随机生成一些 r 放到池子里边,每次去随机挑选一些r出来,参与到数据运算中。这样一方面能提高整体的运算效率,另一方面也能保证双方数据不会被反推出来。4. 光大联邦学习应用场景-精准营销另一个就是我们做的精准营销的应用场景。这是我们集团内的有一个保险公司的团险职域营销的场景,目标是能在团险的客户里,挖掘出一些能二次购买重疾险的客户,对其进行一些特定的营销工作。这里我们通过联邦学习的方式,连接了在保险行业内的另一家机构,利用其全行业的保险数据,做了一个联合营销模型的过程。这个场景我们对系统做了一些改造,因为我们觉得保险公司的客户能够有效交集的数据量其实是有限的,所以我们当时就是在本地也去训练一个模型,在联邦学习平台上面也建了营销模型,然后把这两个模型融合,共同来发挥作用对所有客户进行评分。在架构层面,一方面我们修改了这个联邦平台上的资源调度组件,跟本地的任务进行融合,并且形成了一个自动化监控和调度的模式。另一方面我们是以task 为最小任务单位,对联邦任务的参与方的本地脚本进行了灵活的配置。上图中的右边是整个流程,本地用的是逻辑回归模型,在联邦平台上面对这种有交集的客户,做了一个安全树模型。然后把这两个得分进行综合,最后形成一个统一的客户等级。从效果来看,在前 10% 的客户中对比,我们这个算法累计提升度能够达到五倍多,从而提高客户的粘性。5. 光大联邦学习应用场景-智能风控这是证券领域的一个风控场景。证券公司对外部数据源进行构建机构客户风险评级的时候,需要一些外部特征来进行辅助建模,判定客户的融资额度,然后确定这种额度的一些指标,用来降低证券的信用风险。为了保证联邦的公平性,就提出了一个存证的需求,作为未来审计的一个参考。这里我们集成了区块链平台,在链上会记录一些信息,主要是参与方的一些信息,还有一些 Job 任务的信息,同时还有任务的数据量大小,账户地址,其它时间戳等信息,都会存在链上,便于后面的审计。另外就联邦学习和本地机器学习的效果当时我们在这个场景下做了一些对比,就是本地的 XGBoost 模型,跟 SecureBoost 模型做了一个比较,准确性上来看, SecureBoost 有很大提升。我们对于逻辑回归和集成树模型也进行了对比,树模型准确率会更高效果会更好些。最后就是在这个求解过程中,我们放宽了求解条件,增加了样本数量,最后也可以看到这个模型效果会越来越好。6. 光大联邦学习应用场景-跨域数据校验这里再介绍有一个跨域数据校验的场景。这个场景是我们跟外部的一个金融机构合作的场景。主要的需求是与金融机构的数据需要与外部数据进行比对校验。在数据校验过程中,金融机构和数据提供方均要得到一些保密性和安全性的保障,能够在不泄露各方数据的情况下,完成对对数据进行校验的目标。而且校验过程中有一个要求,比如数据源方原始数据是 1.5,但如果数据查询方有 0.5 的容差,这是能够接受的。这个校验过程就是要求能够在一定的阈值范围区间之内去做一些对比,然后把对比的结果反馈回来。对此我们基于三种加密算法自研了一个隐私计算的算法,来达到这个目标。目前的效果是能够证明在有限次数交互的情况下,相对应的数据可以进行一个对比,性能上也能够满足目前的要求,能够单独调用数据,保证在毫秒级范围内返回结果。4《联邦学习原理与应用》介绍接下来借助这个平台介绍一下我们今年出版的专著《联邦学习原理与应用》。这本专著包含了我们联邦学习领域的发展历程和背景,也对我们在应用过程中的关键算法原理进行了介绍,还有我们工程化的一些实施和部署案例的介绍。我们是站在应用者的角度,向读者介绍了我们的经验和方法论,以及在应用过程中的一些注意事项。本书第 1 章介绍联邦学习的发展背景和历程,联邦学习的需求和技术推动的方式,以及金融控股集团中数据共享的机遇和挑战。第 2 章到第 5 章介绍了不同类型机器学习方法的联邦学习实现,相应的特征工程、模型训练和推断的关键算法原理,重点突出实现的方法在隐私保护上的安全性。第 6 章介绍了联邦学习开源框架 FATE 的架构和部署,以及在金融控股集团内大数据平台上部署的经验和建立跨机构统一数据科学平台的实施方案。第 7 章,从建模者的角度展示了典型的建模流程和实践过程。第 8 章-第 9 章,结合在我们集团内的实践经验,以多个案例和解决方案的形式,介绍从数据分析到建模的不同层次上的应用实践。第 10 章,对联邦学习面临的问题和挑战,和应用落地需要重点发展的方向进行了分析和展望。另外还有一些附录,详细介绍了密码学的一些原理。这本书比较适合现在参与到这个行业中的朋友们做参考,为业界人士提供一些新的思路和视角,也是我们对这个行业做的一些微薄的贡献。5行业未来发展介绍1. 未来展望最后,再跟大家来探讨一下对于这个行业发展的展望。从 2019 年我们开始关注这个行业,当时还是一个理论或者说处于创新阶段的一项技术。到今天发展到可信联邦学习,可以看到在行业内工具和方案,以及落地的一些案例越来越成熟,发展的速度也有越来越快。在这个过程中那个,也逐步得到了一些监管和业务部门的认可。但是目前来讲我们在应用过程中,从技术角度的推广力度会比较大,但是从业务角度来讲,可能还需要反复的去解释和让业务理解。另外,也希望能够提供更多成熟的工具和模块,增强其解释性来指导应用的落地。当然,行业内大家也在共同做一些努力,不管是从标准还是从一些实施指引上面,都有一些详细的实践成果。同时在互联互通标准上,我们也应该尽量做到统一,使得整个生态的合作成为一种可能。因为联邦学习的隐私计算场景要靠大家互联才能产生数据价值,才能促进数据要素的流通。如果大家的标准不统一,那么生态就很难建立起来。同时在安全方面,还需要尽量去研究一些金融级的安全算法和协议让整个运算过程都经得起推敲。另外就是性能方面,虽然业界有一些用硬件来解决性能问题的例子,但是在未来不断的迭代过程中,性能提升仍将是我们需要共同努力的一个点。最后是区块链的结合,虽然我们也做了一些尝试,但目前还比较粗浅,还需要大家共同努力,去建立一个公平公正合理的数据交易环境。要与更多计算平台对接,更多地利用数据资产的上限。举个例子,目前像联邦学习,大部分在建立时候都在用自己的平台,但是需要尝试把它转到大平台上去,利用更多的数据资源来产生相互的交流和促进,利用区块链来构建一个公平可信的数据共享平台。今天的分享就到这里,谢谢大家。分享嘉宾王鹏,光大科技大数据研究团队负责人。他现在负责金控集团联邦学习生态系统的建设和技术创新,参与了多个隐私计算行业标准制定,联邦学习开源项目FATE专家委员会成员。他拥有超过10余年的大数据、人工智能系统设计经验,其创新成果获得了多项行业奖项。作为作者之一出版《联邦学习原理与应用》专著。精彩推荐大佬观点中电金信-胡静 |领雁科技-陈丽琴 | 普强信息-张伟 | 腾讯安全-林臣焱 | 星环科技-李梓梁 | 数美科技-王正 | AnyChat-师伟 | 中电金信-高雪梅 | Convertlab-程龙及团队洞见科技-李博 | 富数科技-吴海斌 | 光之树科技-张佳辰 | 翼方健数-张霖涛 | 融安数科-李登峰 | 天冕科技-许文彬 | 熠智科技-范学鹏 | DataTrust-张子良及团队 | 富数科技-崔如德 | 锘崴科技-薛娟娟 | 云基华海-杨文华 | 数澜科技-蒋梦琴 | 腾讯云-刘江END行业知识交流分享,结识扩展人脉圈层公众号后台回复【隐私计算】可受邀加入【隐私计算交流群】本篇文章来源于微信公众号: 数字金融网