蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融技术创新和参会者分享。
在人工智能时代,数据是 AI 领域的石油,如果没有数据很难将 AI 更好的落地。但是数据孤岛阻碍了数据的获取和利用,蚂蚁金服在三年前开始布局隐私保护机器学习,致力于在保护数据安全和隐私保护的前提下进行机器学习,我们称之为共享智能。我们之前分享了共享智能的理念和原理,今天,我们想聊聊共享智能的发展与应用趋势。
人工智能目前存在的难题是鱼与熊掌不可兼得,也就是隐私性跟可用性难以兼顾。如果你想要你的 AI 系统能发挥作用,就可能需要牺牲隐私。但是,在大量真实场景中,如果做不到同时兼顾隐私和可用性,会导致很多 AI 落地的困境。
举几个例子。
首先是贷款风控,用户想要买房去银行贷款,在银行 A 可能被判定为“坏人”,没有办法给他进行贷款,因为这个机构持有这个人部分数据,同样的用户到了机构 B,这个机构 B 基于它拥有的部分数据,有可能会给予他贷款,这样矛盾的情况比比皆是,皆是因数据不通导致。
在智慧医疗领域,有些罕见病在每个医院的案例都不多,如果我们能把各个医院的案例共享起来,就能获得更多的样本数据,从而可以利用 AI 进行更准确的诊断,但是这个案例里面技术不是最优先的,对医院来说,它有责任保护患者的隐私,如何确保在共享案例的同时,不泄漏用户的隐私才是首先要解决的。
数据孤岛的问题会给 AI 落地和应用带来很多类似的难题。
现实环境中,数据在这个图中是不通的,有的地方可能有一些短暂的链接,绝大部分数据在这个图中处于断开状态。我们的目标是想打通数据孤岛,用技术的方法解决技术的问题。通过技术保护数据安全的情况下,实现数据的共享和价值的传递。
共享智能:可用不可见
对于共享智能,我们希望达到的目标是数据可用不可见,在多方参与且各数据提供方与平台方互不信任的场景下,能够聚合多方信息进行机器学习,并确保各参与方的隐私不被泄漏,数据不被滥用。
为了达到这一目标,我们使用了很多业界已有的技术,比如学术圈一直在研究的差分隐私、很多大数据厂商在探索的可信执行环境、随着计算力和硬件技术的提升 + 密码学突破而广受重视的多方安全计算等。还有一些情况,目标数据比较少,但源领域数据较多,我们采用迁移学习的方法去做数据共享,这个也属于我们大的技术范畴。
具体来看的话,第一种方案是可信执行环境的方案,主要依赖中间的硬件级的保险箱 Enclave,双方通过一些密码学的机制,把数据进行加密,加密之后只有在密码箱里面才能解密,解密以后做各式各样的计算,因为密码箱是第三方可信的密码箱,大家不信任彼此的情况下,信任密码箱即可,这样在数据隐私不会泄露的情况下,去做各式各样 AI 的算法。
这种方案依赖可信硬件,通过数据加密的方式,集中传送到可信的平台。对于一些机构,本身就已经上云,把所有的东西都存放在云上面,所有的技术在云上面部署,那么采用这种方式非常快速便捷,同时又能达到很好的隐私保护的效果。
第二种方案是偏软件级别的方案,我们在中间把数据做相应的处理后再进行计算。比如说像秘密分享的技术,通过把数据拆分完以后,几方通过发送随机数来完成运算,然后可以完成各式各样 AI 的计算和模型;还有像同态加密这样的方法,在加密后的空间里面做相应的运算来完成 AI 的计算,中间有一个控制模块来共同完成学习的目标。这个方式本身不涉及到硬件,是偏软件 + 密码学的方案,中间出去的是随机数 / 加密中间结果,目前业界隐私 +AI 结合的方向上,用这个方案相对来说比较多。
星云 Nebula:共享智能网络
共享智能需要多方参与,我们设计了星云 Nebula 共享智能网络架构,对于蚂蚁金服而言,希望跟合作方共同打造这样的共享智能网络。
网络中存在各式各样的计算节点,能够在某个管理平台中进行触发实现 AI 计算。这个共享智能网络,可以用不同的技术完成共享智能的目标,比如,构建联合营销网络,节点之间可任意组网,采用多方安全计算技术来实现联合营销,同时管理节点可以部署在任何的地方;对于某些机构而言,可能没有很强的 AI 能力和多方计算能力,那他们可以依赖于云这样的技术,将数据放在可信执行环境中,去参与建设这样的网络,通过这样的共享智能技术来解决 AI 落地最后一公里的难题。
我们整个计算节点的架构如上图,最底层跟正常环境比较相似,左边是各式各样的可信执行环境,右边是正常的 CPU、GPU 环境。上面会有统一的 API 层来屏蔽这些不同的细节。
再往上面,会有本地的计算,这个计算本身会跟通用的开源框架稍有差异,我们会把现在流行的版本改成安全的版本,比如安全的 XGBoost。中间做 MPC 的时候,我们会提供各式各样的技术,混淆电路、OT 等等这样的技术,最顶层提供一些可视化跟交互式的接口,普通的用户通过这样的调用就可以完成复杂的多方计算的操作。同时支持各种保护隐私的安全模型推断。
我们希望通过这样的架构完成共享智能技术,并且打造了可视化的界面,采用拖拽式的方式就可以快速高效完成整个 AI 计算的构建。
上述共享智能架构现在已经达到了较好的完备性、易用性和稳定性的目标,在很多的地方已经进行了落地。在完备性方面,我们实现了功能完备和场景完备,目前主要是支持风控和其它 AI 典型场景,里面的算法比较全面,涵盖了线性模型、树模型、深度学习、图神经网络等各个方向;在易用性方面,我们希望能够更好的推广这种建模技术,同时又能“屏蔽”一些底层技术(可信执行环境、多方安全计算等),降低大家学习使用的成本;在稳定性方面,我们实现了共享智能计算的集群化,并且支持远程运维。
我们已经将共享智能上线到大数据智能平台上,下面这个 demo,是一个多方安全计算的 AI 建模展示。
http://mpvideo.qpic.cn/0a78owv2z46vcbacambaeciiaucvrvvfkof4jwlibqeqgdakb4hq.f10002.mp4?dis_k=360fe7e0bf7304571a370082c38142c9&dis_t=1571137251
前面预处理部分跟正常的 AI 建模看起来一样,通过拖拽式操作,把数据进行了预处理以后,送到共享智能建模中,会产生 AI 运算的结果。通过这种方式能够大幅度降低新技术的使用门槛,方便业务方使用。
蚂蚁金服在共享智能领域里建设了三年多,发布论文超过 10 篇,获得专利超过 80 余项,在标准立项上我们在 IEEE 共享智能和 ITU-T MPC 国际标准、CCSA 共享智能行业标准以及 AIOSS / AIIA 共享智能联盟标准方面都在同步推进,也获得了一些创新奖项。
共享智能落地案例
接下来分享三个典型落地案例。
一个是在安全风控领域,联合生态伙伴来建立安全风控网络。生态伙伴使用前面介绍的可信执行环境技术,把数据加密传输到网络中共建这个模型,打击虚假交易、团伙作案等,大幅度提升风控准确率,实现风控网络的净化。通过这样的风控网络平台,使得商家每天新增很多的交易,同时降低资损。
第二个是中和农信,我们通过数据融合大幅度提高风控性能,把原来传统的线下模式,变成线上自动过审模式,完成授信只需 5 分钟,8 个月累计放款 31.9 亿,授信成功人数 44 万人,业务覆盖 20+ 省区,300+ 县城,10000+ 个乡村,助力实现农村普惠金融。
第三个是与江苏银行进行的信贷联合风控,还记得我们前面的例子吗?因为数据不完整,导致风控决策错误,现在通过共享智能技术,双方可以完成共同的模型构建,通过这样的机制实现联合风控,使得效果有大幅度提升。同时在这个过程中,用户的数据和隐私得到了有效保护。
总的来说,我们想构建开放的共享智能网络,希望有更多的伙伴、机构参与进来,一起完成建设,打破数据孤岛,助力 AI 技术更好的落地和应用。
本文作者:缪克卢汉
阅读原文
本文为云栖社区原创内容,未经允许不得转载。