写点什么

隐私与 AI 兼得,蚂蚁金服是如何做到的?

  • 2019-10-20
  • 本文字数:3094 字

    阅读完需:约 10 分钟

隐私与AI兼得,蚂蚁金服是如何做到的?

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 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 建模展示。


前面预处理部分跟正常的 AI 建模看起来一样,通过拖拽式操作,把数据进行了预处理以后,送到共享智能建模中,会产生 AI 运算的结果。通过这种方式能够大幅度降低新技术的使用门槛,方便业务方使用。


蚂蚁金服在共享智能领域里建设了三年多,发布论文超过 10 篇,获得专利超过 80 余项,在标准立项上我们在 IEEE 共享智能和 ITU-T MPC 国际标准、CCSA 共享智能行业标准以及 AIOSS / AIIA 共享智能联盟标准方面都在同步推进,也获得了一些创新奖项。

共享智能落地案例

接下来分享三个典型落地案例。



一个是在安全风控领域,联合生态伙伴来建立安全风控网络。生态伙伴使用前面介绍的可信执行环境技术,把数据加密传输到网络中共建这个模型,打击虚假交易、团伙作案等,大幅度提升风控准确率,实现风控网络的净化。通过这样的风控网络平台,使得商家每天新增很多的交易,同时降低资损。


第二个是中和农信,我们通过数据融合大幅度提高风控性能,把原来传统的线下模式,变成线上自动过审模式,完成授信只需 5 分钟,8 个月累计放款 31.9 亿,授信成功人数 44 万人,业务覆盖 20+省区,300+县城,10000+个乡村,助力实现农村普惠金融。


第三个是与江苏银行进行的信贷联合风控,还记得我们前面的例子吗?因为数据不完整,导致风控决策错误,现在通过共享智能技术,双方可以完成共同的模型构建,通过这样的机制实现联合风控,使得效果有大幅度提升。同时在这个过程中,用户的数据和隐私得到了有效保护。


总的来说,我们想构建开放的共享智能网络,希望有更多的伙伴、机构参与进来,一起完成建设,打破数据孤岛,助力 AI 技术更好的落地和应用。


本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。


原文链接:


https://mp.weixin.qq.com/s/9q-c_TGWianaJ9bsUJa4OQ


2019-10-20 23:571171

评论

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

大数据开发的方法有哪些

小谷哥

HashMap高阶用法,十倍提升开发效率

一灯架构

Java java面试 10月月更

传统架构面临的挑战及上云的优势

穿过生命散发芬芳

企业上云 10月月更

单模光缆与多模光缆,网络工程师必知的光缆类型

wljslmz

网络工程 10月月更 单模光纤 多模光纤 弱电

【LeetCode】最大升序子数组和Java题解

Albert

LeetCode 10月月更

学习大数据培训是否比较靠谱

小谷哥

Surpass Day——Java面向对象的创建和使用

胖虎不秃头

Java 10月月更 se

深度解密 OpenMLDB 毫秒级实时在线特征计算引擎

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

你不知道的Java工具类库,十倍提升开发效率

一灯架构

Java java面试 10月月更

【一Go到底】第七天---运算符

指剑

Go golang 10月月更

C++学习---cstdio的源码学习分析07-刷新文件流函数fflush

桑榆

c++ 源码分析 10月月更

Python基础(九) | time random collections itertools标准库详解

timerring

random Collections time 10月月更

前端培训学习路线比较靠谱

小谷哥

OpenMLDB + OneFlow: 手把手教你快速链接特征工程到模型训练

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

Surpass Day——Java面向对象的封装、构造方法

胖虎不秃头

Java 10月月更 se

Collections之ArrayList源码解读(七)

知识浅谈

ArrayList 10月月更

免费申请和使用IntelliJ IDEA商业版License指南

程序员欣宸

ide 10月月更 ieda

【Nacos源码之配置管理 五】为什么把配置文件Dump到磁盘中

石臻臻的杂货铺

nacos 10月月更

竟然还有人说ArrayList是2倍扩容,今天带你手撕ArrayList源码

一灯架构

Java java面试 10月月更

Python基础(十) | Numpy详细教程

timerring

Numpy库 10月月更

推荐一款id 生成器:Hashids

xiaoxi666

Python基础(八) | 万字详解深浅拷贝、生成器、迭代器以及装饰器

timerring

装饰器 Python Monad 迭代器 生成器 10月月更

java培训与线上自学哪个比较好

小谷哥

大数据ELK(十五):Elasticsearch SQL简单介绍

Lansonli

ES 10月月更

OpenMLDB Meetup No.5 会议纪要

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

直播预告 | 第四范式Tech Day火热来袭,OpenMLDB 与你 8月11日线上见

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

前端培训机构选择需要注意什么?

小谷哥

Surpass Day——Java语法基础

胖虎不秃头

Java 10月月更 se

学习编程既要追根溯源、又要紧跟时代步伐

玄兴梦影

c 编程 语法

一个 ExpressionChangedAfterItHasBeenCheckedError 错误的解决过程

汪子熙

typescript 前端开发 angular web开发 10月月更

【Nacos源码之配置管理 六】集群模式下服务器之间是如何互相感知的

石臻臻的杂货铺

10月月更 nacso

隐私与AI兼得,蚂蚁金服是如何做到的?_AI&大模型_周俊_InfoQ精选文章