随着人工智能的兴起,如何解决数据孤岛和保护数据隐私已经成为了一个热门话题。为此,蚂蚁金服从业务需求出发,提出了共享智能解决方案。它主要包括了两种关键技术,即可信计算环境(TEE)和多方安全计算(MPC)。我们在本文中阐述了不同方案的技术细节及对比。最后,介绍了共享智能在蚂蚁金服的实际应用。
概述
互联网时代,一切基于数据。无论是信贷过程中的授信、风控,还是在线的推荐、营销,都离不开数据,数据已经逐渐成为各个公司的核心资产。而数据的质量和数量是影响机器学习模型效果最重要的因素之一。因此在不同数据孤岛之间进行数据共享,通过扩充数据量来提升模型效果的需求也变得越来越强烈。但是在数据共享的过程中,不可避免会涉及到两个问题:隐私泄露和数据滥用。
2018年5月,欧盟通过General Data Protection Regulation(GDPR)法案,法案指出:所有与个人相关的信息都是个人数据,对数据的使用行为必须要有用户的明确授权。把对隐私保护的要求提到了一个新的高度。而蚂蚁金服作为一家有金融属性的公司,对数据的监管就更加严格,如何解决数据使用过程中的隐私泄漏和数据滥用的问题,就成为当务之急。
为了更好地应对形势的变化,解决数据共享的需求,与隐私泄露和数据滥用之间的矛盾,蚂蚁金服2016年提出了希望通过技术手段,在多方参与且各数据提供方与平台方互不信任的场景下,能够聚合多方信息进行数据分析和机器学习,并确保各参与方的隐私不被泄漏,数据不被滥用,我们称之为共享智能,如图1所示。

业界进展
谷歌所提出的联邦学习方法,通过引入一个中心服务器来与多个数据方协同训练机器学习模型,而其中的一个核心技术点中多方梯度的安全加和²。
而拆分学习的主要思想是将模型的执行图按层切分为两部分,一部分放在数据拥有方(client),另一部分放在服务器端³。数据拥有方与服务器通过交互完成机器学习模型的训练和预测。基于可信计算的方法依赖于硬件加密技术⁴。它一方面需要信任硬件厂商,另一方面由于当前技术上的一些问题,加密内存比较有限,因此应用也有一定的限制。
总体来说,每种方法在安全性、通信、计算、模型精度等方面各有优缺点。以隐私保护机器学习为例,虽然它拥有很高的数据安全等级(可证安全),但由于涉及到太多的密码学技术,因此往往需要很大的通信/计算量。截止目前,常见的数据分析及机器学习方法都已经被覆盖,包括安全求交、安全共线性检验、线性回归、逻辑回归和神经网络等,但大部分还停留在学术研究中。
共享智能的必要性
尽管业界已经有多种相关技术,但单一的技术无法满足蚂蚁及行业内的业务需求。作为一家互联网金融科技公司,蚂蚁的相关业务往往有以下两方面的特点:
(1)数据隐私及安全要求高。在金融相关业务如信贷中,国家监管部门以及用户本身都对数据隐私安全的要求非常之高。因此,保护数据的安全是联合建模的一个基本条件。在这种场景下,现有的一些方法,如联邦学习²和拆分学习³,都不属于可证安全的方案。联邦学习方法中梯度信息的泄露已经被研究可以反推出部分数据⁵,而特征垂直切分下的拆分学习需要将标签信息给到第三方的服务器,也会带来数据泄露或滥用的风险。
共享智能技术演进
第一步探索:隐私保护的数据变换
PPDT的主要思路,是把原始数据从高维空间映射到低维空间,做一个降维的操作;这一过程本身是一个有损的不可逆过程,所以可以保护原始数据的隐私;同时考虑到部分攻击者可能已经获取了部分原始数据,为了防止这类攻击,又加入了差分隐私(噪音扰动)。

图2 隐私保护数据变换
这个方法的优势是变换不可逆、操作简单、可以支持大数据;但是在实际的落地时也遇到了一些问题,例如变换本身是一个有损的操作,所以对模型效果有影响;经过变换之后的数据,失去了可解释性,导致基于这个数据训练出来的模型不具可解释性,限制了其在金融领域的落地。
两个重点方向上的突破
基于TEE的共享智能
目前比较成熟的TEE技术是Intel的SGX技术,SGX技术涉及两个核心概念:飞地(Enclave)和远程认证(Remote Attestation)。"飞地"可以认为是Intel提供了一个保险箱,包括OS,VMM,BIOS,SMM均无法私自访问这里面的数据,只有CPU在计算时才能通过CPU上的硬件进行解密。保险箱解决了SGX内部的数据和代码遭受外部攻击的问题,那怎么保证保险箱内的代码是安全可信的,这就涉及到"远程认证"技术了。远程认证有一个前提假设,就是保险箱内的代码对用户是开源的,用户可以通过检查代码来确认代码的行为,而远程认证只是为了确认,当前保险箱中运行的确实是之前用户检查过的代码。通过飞地和远程认证两个技术的合作,就可以确保通过加密通道传入SGX中的数据一定会按照用户预期的行为被处理,确保信息不会泄漏。
单台SGX机器的处理能力有限,为了应对蚂蚁金服超大规模体量的数据,首先需要扩展SGX机器的计算能力。由于SGX的特殊性,传统的集群化技术无法在SGX上工作,为此我们设计并实现了一套大规模分布式化的SGX集群方案(图3),通过集群化扩展了SGX的算力。在此之上,便可以开发多种多样的共享智能机器学习算法。
图3 SGX集群方案
基于MPC的共享智能

基于MPC的共享智能解决方案由下到上可以分为四层:
(1)最下层为密码学原语。在此层,我们实现了常见的秘密学协议,包括秘密分享,混淆电路,不经意传输,同态加密等。之所以实现多种秘密学协议,是因为每种协议各有优缺点。比如秘密分享虽然计算速度快,但需要较高的通信复杂度;而同态加密方案正好相反,它虽然需要的通信次数少,却额外需要加解密所带来的计算开销。
(2)第二层为安全算子。本层实现了机器学习方法所需要的通用安全算子,比如安全的矩阵乘法和安全的比较。每种安全算子可以由多种秘密学协议实现。比如安全的矩阵加法,我们有基于秘密分享的实现和基于同态加密的实现。再比如超大规模(千万级别)稀疏矩阵乘法,我们提出了创新性的秘密分享与同态加密混合的实现方法。本层中高效的安全算子为构建高效的机器学习算法奠定了基础。
(3)第三层为语言适配层。本层中,一方面,我们参考现有流行机器学习框架的DSL,通过对数据增加安全定义,设计并实现了共享智能领域的DSL,使得现有机器学习从业者可以低成本的切换到共享智能DSL上进行算法开发,降低安全机器学习算法的开发门槛。另一方面,我们有编译器,它能够将用户编写的机器学习算法自动选择最优的安全算子并编译为能够执行的安全程序。
(4)最上层为安全的数据分析及机器学习算法。我们实现了多种安全的数据分析工具,如隐私求交、共线性检验和证据权重计算等,以及机器学习领域的多种算法,包括线性回归,逻辑回归,各类树模型,神经网络及图神经网络等。这些丰富的数据分析工具及机器学习算法能够涵盖大多数业务场景。
基于MPC的共享智能方案已被应用于蚂蚁金服多个联合建模业务的全链路之中。多方联合建模的全链路通常包括了数据对齐(即隐私求交),特征分析(如共线性检验),特征处理(如缺失值填充),模型训练及预测。在整个链接中,参与方的隐私数据始终由各自保留,我们在每方部署一个计算模块;同时,多方通过计算模块交互密态的数据来完成数据分析及模型的训练/预测。
共享智能技术发展趋势
在不断的实践中,我们发现不同技术都有各自的优势。比如基于TEE的方案可以做中心化部署,用户的接入成本是比较低;而基于MPC的方案,相关的安全技术对用户来说是透明的,给用户的安全体感强。同时,我们发现多种技术并不是隔离的,在面对一个复杂问题的时候,对技术的选型不是非此即彼的关系,把不同的技术融合到一起,发挥各自技术的优势,往往会达到一个更为理想的效果。
例如,目前的MPC方案多数都是基于半诚实的攻击模型来设计的,因为基于恶意攻击模型的MPC算法存在难以克服的性能问题。蚂蚁金服通过把半诚实协议的MPC算法放在TEE的环境下执行,通过TEE的远程认证技术确保MPC协议在执行过程中不会被篡改,从而在性能损失不大的情况下,使得MPC协议的安全性得到了进一步的提升。
在实际应用中,我们还发现用户在联合建模的不同阶段,对隐私保护的需求是不一样的。比如在建模阶段,机构希望能快速低成本验证效果,这时他们会更关注建模方案的易用性和建模效率,而由于建模的样本是经过采样和匿名化处理的历史数据,所以机构对隐私保护的需求会相对弱一点。这时共享智能的TEE方案就可以很好的满足用户的需求。而在模型服务(预测)阶段,机构对实时数据的隐私安全需求会比较高,这时候共享智能的MPC方案就变成了自然而然的选择。因此,这种集中式TEE训练加分布式MPC预测的方案就应运而生,并被广泛接受。
因此,我们在实际的应用中,基于用户的需求,灵活应用多种技术,将是共享智能后续工作的重要方向。
共享智能在蚂蚁金服的应用
截至目前,共享智能平台已经在联合信贷、联合支付风控、国际营销风控等场景得到规模化应用和验证,下面将举三个实例并逐一详细介绍。
中和农信
为了更好地在农村地区提供普惠金融服务,为农村市场中低收入用户提供小额贷款和其他普惠金融服务,让更多人回归农村实业,帮助解决空巢老人和留守儿童的社会难题。蚂蚁金服在2017年跟中和农信进行合作,探讨信息融合下的农村小微金融机制,将其原来的线下放贷模式转换为线上“310”模式。我们通过TEE模式下的共享智能,将双方信息聚合到一块,联合构建模型,对用户风险精准识别。自项目上线以来,已经为300多贫困县、10000多个乡村提供普惠金融服务,服务几十万农村客户,累积放款额度超30亿,驱动中和农信从线下放贷模式,真正走向了线上模式,打通了农村普惠金融最后一百米,真正帮助普惠农村金融。
RiskGo联合风控
为有效打击灰黑产,更好净化支付环境,让企业互利共赢弥补自身安全风控能力短板,在支付交易联合风控上,蚂蚁金服牵头成立了商业生态安全联盟(BESA)。在现实的商业环境中,企业面临欺诈风险、营销资金风险等多种安全风险挑战。由于企业间安全信息不互通,风控能力参差不齐,黑客往往利用信息不对称和时间差,进行流窜作案,导致企业之间出现欺诈风险流窜的现象。利用TEE共享智能技术,将多方数据纳入“不可见”的可信环境,从源头上保障数据出域的私密性,实现了安全共享,做到了风控模型的精细化和个性化部署(图5)。通过联合风控,使得商家平均交易额日新增1500万元,风险防控系统准确率提升30%,月资损降低90%以上。

联合信贷
以江苏银行为例,通过MPC共享智能,聚合蚂蚁金服和江苏银行双方信息,完成共同的模型构建,通过这样的机制实现联合信贷,使得KS提升50%以上,并很好帮助行方有效降低风险。
挑战与展望
如何在保护数据隐私及安全的前提下,构建满足工业级需求的机器学习模型,已经成为当下学术界和工业界面临的一大挑战。共享智能从蚂蚁金服的自身业务和行业需求出发,经过多年的研究与探索,总结出了多条技术路线。从最早的基于矩阵掩码的数据变换方案,到基于TEE和MPC的两套技术路线,再到现在的多种技术融合的路线,旨在解决不同业务场景所面临的不同需求。面向未来,共享智能将不断引领技术潮流、打破业务边界、营造标准生态,期待贡献更多力量到人工智能的发展当中。
参考文献
周俊
蚂蚁金服集团总监,目前负责机器学习中台。主要研究方向为机器学习、共享智能等。
王力
蚂蚁金服集团共享智能高级算法专家。主要从事共享智能算法研究与应用工作。
王磊
蚂蚁金服集团共享智能高级技术专家。主要负责共享智能平台的研发。
郑小林
CCF高级会员。浙江大学计算机学院教授、博士生导师。主要研究方向为人工智能和金融智能。
版权声明:本文首发于期刊《中国计算机学会通讯》(CCCF)2020年第5期和CCFvoice公众号,已获授权转载。
该文未经许可,禁止进行转载、摘编、复制及建立镜像等任何使用。如需转载,请通过向CCFvoice公众号申请并获得授权。
- END -
本文分享自微信公众号 - 支付宝技术(Ant-Techfin)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。