NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

破解 AI 数据困境:联邦学习在平安科技的大规模实践

  • 2020-02-18
  • 本文字数:5222 字

    阅读完需:约 17 分钟

破解AI数据困境:联邦学习在平安科技的大规模实践

在人工智能领域深耕十几年,王健宗的工作重心一直在分布式人工智能和自动化机器学习方向上,联邦学习是他多年来一直在做和想做的事。在 2015 年加入平安科技没多久,他就开始带领团队做联邦学习的研发,到今天已经进入第五个年头。在这期间,平安科技开发了面向金融行业的商用联邦学习平台“蜂巢”,也开始将联邦学习应用在部分金融业务场景中。近期,InfoQ 有幸对平安科技副总工程师、联邦学习技术部总经理王健宗博士进行了独家采访,试图了解平安科技在金融领域应用联邦学习的实践过程和遇到的挑战。

如何理解联邦学习和联邦智能?

近些年,人工智能技术取得了一系列突破,但是这些突破本质上还是建立在庞大的数据学习之上,如果没有数据,人工智能技术就是个“空架子”。有人因此得出结论:拥有数据的公司才拥有未来,数据成本很可能成为限制未来人工智能发展的重要因素。事实上,大家都想做人工智能,但有的公司求数据无门,有的公司虽然有数据却因为数据保护的限制无法使用,如何在降低数据获取成本的同时保护用户隐私?联邦学习应运而生。


过去两年,联邦学习发展迅速,开始从前沿探索研究走向实际应用落地。但与此同时,不同企业在联邦学习的概念和技术细节上仍然存在分歧。光是这项技术的名称,就有若干叫法,比如 UC Berkeley 和蚂蚁金服使用的名称是共享学习(Shared Learning),谷歌和微众银行用的是 Federated Learning,但谷歌将其翻译为联盟学习,微众使用的则是联邦学习,这也是国内从业者更为熟悉的叫法。


虽然名称叫法不一,实现细节也各有不同,但它们的关键内核是相通的:核心需求都是为了解决“数据孤岛”问题以及在保障数据隐私和安全的前提下实现人工智能,这些是传统数据共享技术难以做到的。


联邦学习技术本质上是一种加密的分布式机器学习技术,允许多个参与方在不披露底层数据和底层数据加密形态的前提下共建模型,使跨企业、跨数据、跨领域的大数据 AI 生态建设成为可能。联邦学习适合以下任务:


  • 训练数据涉及隐私、敏感信息

  • 训练数据太大,无法集中收集

  • B 端和 C 端有个性化的人工智能需求


在 2016 年谷歌正式提出联邦学习的概念之前,王健宗就已经在平安科技带领团队做这方面的工作。谷歌一开始的初衷是用联邦学习解决安卓手机终端用户在本地更新模型的问题,其设计目标是保障大数据交换时的信息安全、保护终端数据和个人数据隐私。2019 年中,王健宗进一步拓展联邦学习的外延,提出了“联邦智能”。联邦学习技术需要相当多的配套资源才能真正为业务服务,王健宗对此做了一个比喻:“联邦学习之于联邦智能,犹如深度学习之于人工智能。”他认为,要真正实现保护用户隐私数据需要一个完整的系统协作,联邦学习只是其中一个技术环节,还需要很多相关系统配合,比如安全通信、层级加密、可信计算、可视化等。他将这个完整系统称为联邦智能,可以跨行业应用在 B 和 C 两端,其中不只联邦学习,还包括联邦社区、联邦推理、联邦激励机制、联邦数据群落、联邦检索等多个模块。

平安科技的联邦学习实践

为什么金融领域尤其需要联邦学习?

在王健宗看来,联邦学习不仅仅是人工智能技术的一种新实现方式,而且是一种面向隐私保护的机器学习新范式。因此,传统人工智能技术可以解决的问题都可以用联邦学习实现,在金融的各个细分领域里,联邦学习都可以发挥重要作用,比如授信系统、风控系统、获客系统等。此外,还有一类问题是联邦学习可以解决、但传统人工智能无法解决的,那就是“数据孤岛”问题。


所谓“数据孤岛”,指的是分散的孤立数据,比如说部分数据在银行、部分数据在保险,两者不能共享数据,传统的人工智能技术无法处理这种情况,当前还有相当大一部分数据处在这样孤岛中,成为“沉默的大多数”,目前也只有通过联邦学习才能发挥它们的价值。


金融领域是一个受国家和有关部门强监管的行业,金融数据更是有着天然的隐私性和孤立性,因此成为了“数据孤岛“问题的重灾区。不同金融机构只拥有用户的部分信息,但受制于法律法规和数据隐私保护,根本无法整合孤立数据做联合训练。唯有借助联邦学习,才可能做到在用户不对外共享数据的同时,完成联合训练学习。王健宗认为,随着社会对隐私保护越发重视,以及法律法规对数据使用的限制更加严格,联邦学习一定会成为金融等领域必不可少的“利器”。


平安集团旗下子公司众多,其中金融类别的子公司更是占大头,如平安银行、平安寿险、平安产险、平安证券等,如何运用大数据和人工智能手段做好用户数据隐私的保护工作,对平安集团来说必要性和重要性都十分突出。因此,平安科技就已经展开相关技术的研究工作了。

“蜂巢”联邦学习平台

“蜂巢”平台是由平安科技自主研发的联邦学习平台,据介绍,这也是业内首个面向金融行业的商用联邦学习平台。



图 1:联邦学习“蜂巢”平台架构图


如图 1 所示,“蜂巢”平台是一个完整的联邦智能系统,包括以下 4 个功能层级:“蜂巢“数据层、“蜂巢“联邦层、“蜂巢“算法层以及“蜂巢“优化层。


王健宗从数据流动的角度向我们介绍了这 4 个层级之间是如何相互协作的:首先“蜂巢“数据层会根据实际的业务需要和法律法规的要求需要提取数据结构,比如用户的数据文件是什么格式、是离散型的数据还是连续型的数据,但平台不会触碰数据本身,严格保证用户数据只由用户自己所有,在这个环节“蜂巢“平台会按照客户(企业、个人、政府)的具体需求和本地数据结构定制相应的数据梳理和模型建立方案;接下来“蜂巢“平台会根据之前制定的方案,进行数据和模型规范化处理工作,这部分主要由“蜂巢“联邦层负责;再然后就是“蜂巢“算法层和“蜂巢“优化层,结合规范化的数据结构和模型进行联邦联合学习,最终得到可用的联邦模型。在整个过程中,全部过程数据会严格保留在用户本地,只有用户自己所有,其他任何人包括“蜂巢“平台本身都无法触碰,而且所有涉及到数据的部分全都会应用相应的数据隐私技术做严格保护。


在完整的联邦系统之下,平安科技进一步结合自身的技术积累和应用场景,为用户提供个性化的联邦解决方案,比如使用平安科技的“奥卡姆“自动化机器学习技术提升用户联邦学习的效率等。


此外,平安集团拥有完整的金融牌照,“蜂巢”平台针对金融领域又做了大量的定向优化工作,比如风险控制和金融安全测试等,这些工作都基于平安在金融科技领域一点一滴积累起来的实际业务经验,其他公司在短时间内可能很难做到同样的程度。


未来,“蜂巢”平台还计划实现更多功能,包括:提供基于联邦学习的医疗影像数据平台、扩接融合用户特征与个性推荐系统和动态车险定价模型系统等。

实际应用情况

据了解,联邦学习目前已经大量用于平安集团的各项金融业务场景中。王健宗分享了一个实际案例:借助联邦学习,在不共享数据的前提下,完成了传统人工智能技术无法实现的多机构联合训练模型系统。


一直以来,证券和保险的业务数据彼此独立、互不共享,证券不知道客户的保险信息,保险机构也不清楚客户购买了哪些证券产品。虽然两家机构都基于自己拥有的数据尽可能为客户提供精准的服务或者风险预警,但从全局来看数据依然是不完整的,所以在一些情况下,站在两个机构的角度,不能很好地完成一些额外功能。比如,假如我们有“上帝视角”,我们知道一个人的证券赔得非常厉害,那同等情况下,这个人的保险可能就比其他人存在较高的赔付风险,这时从保险机构的角度出发,提高保额可能就是比较好的方案,这样的例子在金融行业数不胜数。


在联邦学习出现之前,传统的人工智能技术根本无法完成这个目标。用户的数据分别受到两家结构和法律法规的严格保护,不可能共享得到一个完整的模型系统。但是现在借助于联邦学习,既可以保护用户数据始终保留在各机构本身,又可以进行完整的模型训练,一举两得。

联邦学习大规模落地难,难在哪?

虽然我们已经可以看到联邦学习在一些实际业务场景中有了应用,但只能算是刚刚开始,这项技术目前还远远没有进入大规模落地的阶段,这样意味着存在大量的机会和挑战。


着眼于联邦学习自身,王健宗将其研究和应用的核心难点归纳为以下三个方面:


第一个是如何在保证数据隐私安全的前提下,尽可能提升联邦学习系统的效率。比如,目前联邦学习系统严格保护用户本地数据不外泄,只传输模型更新,而且即使是是模型更新,也会经过严格的加密后再传输,对于更复杂的加密系统,就意味着信息回传也需要更多的资源和时间去解密。目前的做法是在数据保护和系统效率之间取一个平衡,但是从长远的角度看,随着攻击手段的升级和法律法规的完善,数据保护一定会越来越严格,因此必须要从系统层面将两者的对立给剥离开,既要保护数据隐私安全,也要尽可能提升联邦学习系统的效率。这是一件非常有挑战的事情。


第二个难点同样是系统设计方面的问题,联邦学习系统需要多方协作,现实中必然存在多方计算能力和资源分配不均的情况,如何将这种资源差异性考虑在内,制定灵活的资源分配机制,以及如何根据这种差异设计相应的激励机制,这一问题的解决不仅需要从技术层面考虑,还要从市场资源的角度综合考虑。


第三个难点是技术层面的完善,主要集中在底层技术原理的改进。还是以联邦学习传输的模型更新为例,除了同态加密,还会加入差分隐私,这些都是非常重要的隐私技术,但是这些隐私技术可能会对机器学习模型最终准确度造成一定的影响。从目前的研究看来,有好的影响,比如防止过拟合;也有坏的影响,比如给模型增加的偏置(bias)牺牲了准确性。这方面的研究目前还不够多,而且涉及众多不同的联邦学习算法,可能采取的方案也不同。这一点也是联邦学习不断发展过程中必须要解决的难题。


除此之外,如何解决通信瓶颈,设计更加高效、延时更低的联邦通信解决方案也是联邦学习的重要发展方向,减少通信次数和通信量是优化联邦学习算法的关键;同时,联邦学习理论上可以和更多机器学习领域算法结合,但涉及到通信、加密、编解码等众多环节,如何得到高效可用的联邦算法也是目前的挑战所在。


除了技术上的挑战,王健宗坦言,联邦学习在实践过程中遇到的问题,大多数也是 AI 落地的共同痛点。


联邦学习想要解决的问题十分明确,就是要解决数据孤岛问题,这也是它目前最大的落地场景。但是在现实生活中,任何一个技术的大规模推广应用都需要它能广泛地解决人类社会的需求。联邦学习技术作为人工智能技术的重要组成部分,同样会面临一个通用的问题——大规模落地。王健宗将落地分为两种,一个是产品的落地,一个是产业的落地。产品的落地比较简单,比如用联邦学习技术设计一个联合授信系统,这是产品,它只能用在这个小小的授信系统里;产业的落地,就是要应用联邦学习创造一个新的产业,对当前的人工智能实现技术升华,然后在这个产业里,社会又可以继续“添砖加瓦”,设计更多人类需要的产品。王健宗表示:“如果人工智能技术做不到大规模的‘产业’落地,就没法从根本上改变这个格局。但是目前看来,产品落地到产业落地还有很长的一段路要走,目前能做的事情可能就是在供给侧利用联邦学习技术开发新的产品,不断拓展上下游市场。”


这是联邦学习的困境,又何尝不是人工智能技术当前面临的困境。

结束语

目前联邦学习的研究应用虽然是基于一种基本思路,但企业之间在概念和技术细节上还是有一定分歧,不过王健宗认为这种分歧并不会影响联邦学习的推广。


在他看来,任何新技术在发展应用的过程中都会经历这样的阶段,尤其是底层的概念框架,不可能一开始就固定下来,好比云计算发展到今天,也经历了同样的过程,中途出现过网格计算、框计算、雾计算等不同实现和叫法。


一个新的技术领域,一开始提供的一定先是一个基本思路和发展方向,然后学者和从业人员沿着这个思路和方向不断在这个领域“添砖加瓦”。王健宗表示:“现有的分歧其实是联邦学习的不同实现方式,这种概念和技术细节上的分歧最终会在实际的研究和应用中不断统一融合,最终构成完整的联邦学习大框架。这就好比不同结构的 LSTM 网络,同样的思路,不同的实现方式。”


技术的推广本质上得先能解决问题,问题不同,解决的手段也不同,而这些不同的手段从技术角度看可能就成了大家所看到的“分歧”。其实,不同的实现方式反而丰富了联邦学习的大框架,甚至可能反过来成为技术推广的助力。


目前,联邦学习和共享学习的国际标准化工作仍在进行中,标准草案预计会在 2020 年出台。随着时间的推移,未来必定还是会出现一种主导性的联邦学习概念和技术框架,不过这些还是需要在“分歧”的基础上归纳总结得出。

采访嘉宾介绍

王健宗,平安科技副总工程师、联邦学习技术部总经理


中国人工智能开源软件发展联盟副理事长,美国佛罗里达大学人工智能博士后,深圳市领军人才,高级工程师,2019 全国新锐十佳程序员,撰写业内第一本 AUTOML 著作《深入理解 AutoML 和 AutoDL:构建自动化机器学习与深度学习平台》,另外在业内首倡《联邦智能》。


本文由 InfoQ 粤港澳大湾区内容中心采访报道,我们重点关注大湾区 AI、金融科技、智能硬件、物联网、5G 等前沿技术动态及相关产业、公司报道,寻求报道请联系邮箱:natalie.cai@geekbang.com。


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-02-18 08:084739
用户头像
蔡芳芳 InfoQ主编

发布了 781 篇内容, 共 494.8 次阅读, 收获喜欢 2748 次。

关注

评论

发布
暂无评论
发现更多内容

2021年您应该知道的技术之一!MySQL最全整理

Geek_f90455

Java 程序员 面试 后端

Java入门视频教程!什么是JVM?

Java 程序员 面试 后端

Java开发指南!Redis高频面试笔记:基础

策划Java工程师

Java 程序员 面试 后端

2021程序员进阶宝典!Java程序员:

JVM调优资料

Java 程序员 面试 后端

iOS开发:解决App进入后台,倒计时(定时器)不能正常计时的问题

三掌柜

8月日更 8月

【Flutter 专题】77 图解历史 Android Native 项目接入 Flutter Module

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

Java基础入门教程!Java垃圾回收机制小结以及优化建议

Java 程序员 面试 后端

Java小技巧:Oracle存储过程常用技巧

Java 程序员 面试 后端

Java并发原理解析!我们来捋一捋JAVA的异常

Java 程序员 面试 后端

2021必看!热榜!基于jsp

JVM调优资料

Java 程序员 面试 后端

2021非科班生的Java面试之路,set集合

JVM调优资料

Java 程序员 面试 后端

Java小程序开发实例!docker容器启动后修改或添加端口

Java 程序员 面试 后端

Java开发热门前沿知识!Java集合中的基本数据结构

策划Java工程师

Java 程序员 面试 后端

Github标星5.3K,YGC问题排查,又让我涨姿势了

JVM调优资料

Java 程序员 面试 后端

路边的小店

箭上有毒

8月日更

Java工作资料!Java开发基础知识学习总结之(上

Java 程序员 面试 后端

Java开发经验谈:动手造轮子:实现一个简单的-AOP-框架

策划Java工程师

Java 程序员 面试 后端

Java开发视频教程!MySQL8

策划Java工程师

Java 程序员 面试 后端

Docker 集群安装时的服务和进程分配

HoneyMoose

IBM大面积辞退40岁+的员工,Java泛型详解

JVM调优资料

Java 程序员 面试 后端

Java入门你值得拥有!同一个Spring-AOP的坑

JVM调优资料

Java 程序员 面试 后端

Java开发面试问题,Java中高级核心知识全面解析(2)

策划Java工程师

Java 程序员 面试 后端

Druid 独立服务器方式部署文档

HoneyMoose

从 Docker 中安装启动 Druid

HoneyMoose

GitHub标星8k!你以为在做的是微服务?不

JVM调优资料

Java 程序员 面试 后端

Java开发入门教程!你技术这么好,总要改变点什么把

Java 程序员 面试 后端

Java开发必须掌握!Java虚拟机(JVM

策划Java工程师

Java 程序员 面试 后端

Java开发面试准备,【备战秋招冲击大厂

策划Java工程师

Java 程序员 面试 后端

oeasy教您玩转vim - 1 - # 存活下来 🥊

o

Java开发6年了,你确定你真的理解_双亲委派_了吗?

Java 程序员 面试 后端

Java开发实战!不会吧

策划Java工程师

Java 程序员 面试 后端

破解AI数据困境:联邦学习在平安科技的大规模实践_行业深度_蔡芳芳_InfoQ精选文章