共享学习:蚂蚁金服提出全新数据孤岛解决方案新浪财经

随着人工智能的兴起,数据的质量和数量,已经成为影响机器学习模型效果最重要的因素之一,因此通过数据共享的模式来「扩展」数据量、从而提升模型效果的诉求也变得越发强烈。

但在数据共享过程中,不可避免会涉及到两个问题:隐私泄露和数据滥用。

提到这两个关键词,大家一定都对其背后的缘由有所耳闻:

第一则:2018年3月,剑桥咨询公司通过FaceBook的数据共享漏洞,收集了5000万用户信息,据说有可能利用这些信息操控美国总统竞选,造成恶劣社会影响;事件曝光后,FB公司股票大跌7%,引发一系列后续问题。

随着对数据安全的重视和隐私保护法案的出台,以前粗放式的数据共享受到挑战,各个数据拥有者重新回到数据孤岛的状态,同时,互联网公司也更难以收集和利用用户的隐私数据。

数据孤岛现象不仅不会消失,反而会成为新的常态,甚至它不仅存在于不同公司和组织之间,在大型集团内部也存在。未来,我们必须面对这样的现状:如果我们想更好的利用数据,用大数据和AI做更多有意义的事情,就必须在不同组织之间、公司与用户之间进行数据共享,但这个共享需要满足隐私保护和数据安全的前提。

隐私泄漏和数据滥用如同达摩克利斯之剑悬在各个公司和组织头上,因此解决数据孤岛,成为AI行业需要解决的首要问题之一。

如何解决数据孤岛问题?

当前,业界解决隐私泄露和数据滥用的数据共享技术路线主要有两条。一条是基于硬件可信执行环境(TEE:TrustedExecutionEnvironment)技术的可信计算,另一条是基于密码学的多方安全计算(MPC:Multi-partyComputation)。

TEE字面意思是可信执行环境,核心概念为以第三方硬件为载体,数据在由硬件创建的可信执行环境中进行共享。这方面以Intel的SGX技术,AMD的SEV技术,ARM的TrustZone技术等为代表。TEE方案的大致原理如下图所示:

SGX(SoftwareGuardExtensions)是Intel提供的一套软件保护方案。SGX通过提供一系列CPU指令码,允许用户代码创建具有高访问权限的私有内存区域(Enclave-飞地),包括OS,VMM,BIOS,SMM均无法私自访问Enclave,Enclave中的数据只有在CPU计算时,通过CPU上的硬件进行解密。同时,Intel还提供了一套远程认证机制(RemoteAttestation),通过这套机制,用户可以在远程确认跑在Enclave中的代码是否符合预期。

MPC(Multi-partyComputation,多方安全计算)一直是学术界比较火的话题,但在工业界的存在感较弱,之前都是一些创业小公司在这个方向上有一些探索,例如Sharemind,Privitar,直到谷歌提出了基于MPC的在个人终端设备的「联邦学习」(FederatedLearning)的概念,使得MPC技术一夜之间在工业界火了起来。MPC方案的大致原理如下图所示:

混淆电路是图灵奖得主姚期智教授在80年代提出的一个方法。其原理是,任意函数最后在计算机语言内部都是由加法器、乘法器、移位器、选择器等电路表示,而这些电路最后都可以仅由AND和XOR两种逻辑门组成。一个门电路其实就是一个真值表,假设我们把门电路的输入输出都使用不同的密钥加密,设计一个加密后的真值表,这个门从控制流的角度来看还是一样的,但是输入输出信息都获得了保护。

同态加密是一种特殊的加密方法,允许对密文进行处理得到仍然是加密的结果,即对密文直接进行处理,跟对明文进行处理后再对处理结果加密,得到的结果相同。同态性来自抽象代数领域的概念,同态加密则是它的一个应用。

当前,业界针对数据共享场景,利用上面的技术路线推出了一些解决方案,包括隐私保护机器学习PPML、联邦学习、竞合学习、可信机器学习等,但这些方案只利用了其中的一部分技术,从而只适合部分场景,同时基本处于学术研究阶段,没有在生产环境落地。

共享机器学习:蚂蚁金服数据孤岛解决方案

为了更好的应对形势变化,解决数据共享需求与隐私泄露和数据滥用之间的矛盾,蚂蚁金服提出了希望通过技术手段,确保多方在使用数据共享学习的同时,能做到:用户隐私不会被泄露,数据使用行为可控,我们称之为共享机器学习(SharedMachineLearning)。

共享机器学习的定义:在多方参与且各数据提供方与平台方互不信任的场景下,能够聚合多方信息并保护参与方数据隐私的学习范式。

从17年开始,蚂蚁金服就一直在共享机器学习方向进行探索和研究,在结合了TEE与MPC两条路线的同时,结合蚂蚁的自身业务场景特性,聚焦于在金融行业的应用。

蚂蚁金服共享机器学习方案拥有如下特性:

多种安全计算引擎整合,可基于不同业务场景来选择合适的安全技术。既有基于TEE的集中式解决方案,也有基于MPC的分布式解决方案;既可满足数据水平切分的场景,也能解决数据垂直切分的诉求;既可以做模型训练,也可以做模型预测。

支持多种机器学习算法以及各种数据预处理算子。支持的算法包括但不限于LR,GBDT,Xgboost,DNN,CNN,RNN,GNN等。

大规模集群化。支持大规模集群化,提供金融级的高效、稳定、系统化的支撑。

基于数年沉淀与积累,目前共享机器学习技术已在银行、保险、商户等行业成功落地诸多场景业务。通过在业务中打磨出的金融级共享机器学习能力,沉淀下来一套数据共享场景的通用解决方案,未来会逐步对外开放。

在几年的艰苦研发中,共享学习累积专利50余项。在2019中国人工智能峰会上,共享机器学习获得「紫金产品创新奖」,在8月16日的全球人工智能创业者大会上,共享智能获得「应用案例示范奖」。

基于TEE的共享学习

蚂蚁共享学习底层使用Intel的SGX技术,并可兼容其它TEE实现。目前,基于SGX的共享学习已支持集群化的模型在线预测和离线训练。

1.模型在线预测

预测通常是在线服务。相对于离线训练,在线预测在算法复杂度上面会相对简单,但是对稳定性的要求会更高。

提升在线服务稳定性的关健技术之一就是集群化的实现——通过集群化解决负载均衡,故障转移,动态扩容等稳定性问题。

但由于SGX技术本身的特殊性,传统的集群化方案在SGX上无法工作。

为此,我们设计了如下分布式在线服务基本框架:

该框架与传统分布式框架不同的地方在于,每个服务启动时会到集群管理中心(ClusterManager,简称CM)进行注册,并维持心跳,CM发现有多个代码相同的Enclave进行了注册后,会通知这些Enclave进行密钥同步,Enclave收到通知后,会通过远程认证相互确认身份。当确认彼此的Enclave签名完全相同时,会通过安全通道协商并同步密钥。

该框架具备如下特性:

通过集群化方案解决了在线服务的负载均衡,故障转移,动态扩缩容,机房灾备等问题;

通过多集群管理和SDK心跳机制,解决代码升级,灰度发布,发布回滚等问题;

通过ServiceProvider内置技术配合SDK,降低了用户的接入成本;

通过提供易用性的开发框架,使得用户在开发业务逻辑时,完全不需要关心分布式化的逻辑;

通过提供Provision代理机制,确保SGX机器不需要连接外网,提升了系统安全性。

目前在这套框架之上已经支持包括LR、GBDT、Xgboost等多种常用的预测算法,支持单方或多方数据加密融合后的预测。基于已有框架,也可以很容易的扩展到其它算法。

2.模型离线训练

模型训练阶段,除了基于自研的训练框架支持了LR和GBDT的训练外,我们还借助于LibOsOcclum和自研的分布式组网系统,成功将原生Xgboost移植到SGX内,并支持多方数据融合和分布式训练。通过上述方案,不仅可以减少大量的重复性开发工作,并且在Xgboost社区有了新的功能更新后,可以在SGX内直接复用新功能,无需额外开发。目前我们正在利用这套方案进行TensorFlow框架的迁移。

此外,针对SGX当下诟病的128M内存限制问题(超过128M会触发换页操作,导致性能大幅下降),我们通过算法优化和分布式化等技术,大大降低内存限制对性能的影响。

基于TEE的多方数据共享学习训练流程如下:

机构用户从DataLab下载加密工具

使用加密工具对数据进行加密,加密工具内嵌了RA流程,确保加密信息只会在指定的Enclave中被解密

用户把加密数据上传到云端存储

用户在DataLab的训练平台进行训练任务的构建

训练平台将训练任务下发到训练引擎

采用该方式进行数据共享和机器学习,参与方可以保证上传的数据都经过加密,并通过形式化验证保证加密的安全性。

基于MPC的共享学习

蚂蚁基于MPC的共享学习框架分为三层:

基础算子层:在安全技术层基础上,我们会做一些基础算子的封装,包括多方数据安全求交、矩阵加法、矩阵乘法,以及在多方场景下,计算sigmoid函数、ReLU函数等等;同一个算子可能会有多种实现方案,用以适应不同的场景需求,同时保持接口一致;

安全机器学习算法:有了基础算子,就可以很方便的进行安全机器学习算法的开发,这里的技术难点在于,如何尽量复用已有算法和已有框架,我们在这里做了一些有益的尝试,但也遇到了很大的挑战。

目前我们这套基于MPC的共享学习框架已支持了包括LR、GBDT、GNN等头部算法,后续一方面会继续根据业务需求补充更多的算法,同时也会为各种算子提供更多的技术实现方案,以应对不同的业务场景。

基于MPC的多方数据共享学习训练流程如下:

如图所示,训练步骤为:

机构用户从DataLab下载训练服务并本地部署

用户在DataLab的训练平台上进行训练任务的构建

训练平台将训练任务下发给训练引擎

训练引擎将任务下发给机构端的训练服务器Worker

Worker加载本地数据

Worker之间根据下发的训练任务,通过多方安全协议交互完成训练任务

训练引擎的具体架构如下:

其中Coordinator部署于蚂蚁平台,用于任务的控制和协调,本身并不参与实际运算。Worker部署在参与多方安全计算的机构,基于安全多方协议进行实际的交互计算。

用户在建模平台构建好的训练任务流会下发给Coordinator的TaskFlowManager,TaskFlowManager会把任务进行拆解,通过TaskManager把具体算法下发给Worker端的TaskExecutor,TaskExecutor根据算法图调用Worker上的安全算子完成实际的运算。

利用这套方法,可以做到数据不出域就可以完成数据共享,训练工具可以部署在本地的服务器。

共享学习VS.联邦学习

目前,国内对于数据共享场景的机器学习解决方案,比较熟悉的可能是由谷歌提出,又由微众传播的联邦学习概念。

经过我们的了解,其实联邦学习目前涉及两个不同的概念:

第一种联邦学习,旨在解决云+端的训练过程中,端上的隐私不要被暴露的问题,是一个ToC+数据水平切分的场景。除了保护端上的数据隐私外,其重点还在于如何解决训练过程中,端自身可能掉线等问题。

第二种联邦学习则主要用于解决ToB场景中各方隐私不泄露的问题,即可以应用于数据的水平切分场景,也可以应用于数据垂直切分的场景。

它们侧重于不同的数据共享场景,采用不同的技术,相比之下,蚂蚁金服的共享学习兼容多种安全计算技术,并且支持多种机器学习算法和使用场景。

除此之外,共享学习和联邦学习的差异在于:

联邦学习只解决数据不出域的情况,这就限制了其可以使用的技术(只有严格的MPC算法才符合这个要求),而共享学习目前基于TEE的集中式共享学习技术,是联邦学习没有涉及的;

联邦学习讲究的是参与各方的「身份和地位」的相同,所以叫联邦;而共享学习则不强调各共享方的地位对等,在很多场景下,不同的参与方是拥有不同的角色的。

因此无论从技术范围还是应用场景上,联邦学习都比共享学习的范围要小。

未来展望

让数据孤岛在安全环境下进行连接、合作、共创、赋能,是蚂蚁金服共享机器学习的核心使命。

THE END
1.train和offlinetrain需要交互的训练是online吗离线学习适用于处理大数据和复杂模型,需要所有训练数据在训练前可用,训练完成后模型才用于预测。在线学习则侧重实时性,数据以流式到达,模型会随新数据不断更新。两种方式常结合使用,如离线训练后在线微调。在线学习关注当前数据,离线学习则能看到全局。 摘要由CSDN通过智能技术生成 https://blog.csdn.net/qq_45104603/article/details/126052925
2.关于训练神经网路的诸多技巧Tricks(完全总结版)很多人都说训练神经网络和炼金术师炼药的过程相像,难以破解其中的黑盒子。其实不然,在训练的时候我们依然可以通过大量的技巧去最大化我们的训练效果,从而帮助我们的任务取得不错的精度,这些技巧是训练神经网络不可缺少的一环。 本文尽可能说明训练过程中所需要的各种小技巧,会有不完善的地方,限于篇幅每个点不会说很https://cloud.tencent.com/developer/article/2346565
3.如何构建高效的离线机器学习模型训练平台?袋鼠社区此外,离线训练还能够有效减少对网络带宽的依赖,提升训练的稳定性和效率。 二、离线机器学习模型训练平台的核心组成部分1. 硬件环境: 离线机器学习训练平台的硬件环境是基础,包括计算机硬件(CPU、GPU等)、存储设备(HDD、SSD)和网络设施等。合适的硬件配置对模型训练速度和性能起着至关重要的作用。比如,GPU在处理大型https://www.dtstack.com/bbs/article/15769
4.相比于离线训练,在线训练的好处有什么?问答离线训练毕竟使用的是 T-1 或者 T-2 的数据去做的,没有对线上实时产生的行为数据进行利用,对于数据的时效性利用相对较差。 比如说,有这样的一个场景,今天我的整个平台只对 14 岁以下的少女做某个运营活动,而平台上充斥了大量的年龄段的客户,整个平台的交互行为都变了,这个时候你的模型还是 T-1 去做的,将https://developer.aliyun.com/ask/446535
5.模型也可以上网课?!一文看懂服务型蒸馏训练方案同时由于Teacher模型可以弹性调度,不用担心高峰时线上实例被抢占造成的任务失败。相当于把teacher对训练卡的资源需求转移到了在线GPU卡上,在v100等离线训练资源受限的情况下,使用在线卡对训练进行加速,以节约宝贵的训练资源。 此外,在离线集群上,结合调度策略,还可以将Teacher模型部署到集群碎片资源,或者如k40等使用率https://www.thepaper.cn/newsDetail_forward_8071575
6.谁说RL智能体只能在线训练?谷歌发布离线强化学习新范式为了避免 distribution mismatch,强化学习的训练一定要在线与环境进行交互吗?谷歌的这项最新研究从优化角度,为我们提供了离线强化学习研究新思路,即鲁棒的 RL 算法在足够大且多样化的离线数据集中训练可产生高质量的行为。 为了避免 distribution mismatch,强化学习的训练一定要在线与环境进行交互吗?谷歌的这项最新研究从优化https://www.51cto.com/article/614512.html
7.深度学习模型在线训练排序策略离线排序模型华为云帮助中心为你分享云计算行业信息,包含产品介绍、用户指南、开发指南、最佳实践和常见问题等文档,方便快速查找定位问题与能力成长,并提供相关资料和解决方案。本页面关键词:深度学习模型 在线训练。https://support.huaweicloud.com/topic/985668-2-S
8.科学网—[转载]群视角下的多智能体强化学习方法综述基于学习(深度学习、强化学习)设计的迭代式问题求解方法是离线策略学习的基础范式。由于环境及对手的非平稳性,离线训练的蓝图策略通常很难直接运用于在线对抗。在线博弈对抗过程与离线利用模拟多次对抗学习博弈过程不同,博弈各方处于策略解耦合状态,与离线批(batch)式策略学习方法不同,在线博弈对抗策略的求解本质是一个流https://blog.sciencenet.cn/home.php?mod=space&uid=3472670&do=blog&id=1422698
9.蚂蚁金服核心技术:百亿特征实时推荐算法揭秘备注:弹性特征带来一个显著的优势:只要用足够强的L1稀疏性约束,在单机上就能调试任意大规模的特征训练,带来很多方便。我们的hashmap实现是KV化的,key是特征,value是vector的首地址。 离线训练优化 经过这样的改造后,在离线批量学习上,带来了以下变化: 在线训练优化 https://maimai.cn/article/detail?fid=1010621115&efid=mIQCHnkj0zjxlpygUmo5mg
10.构建容器镜像部署nnae软件(支持离线推理在线推理训练)本文档基于镜像树结构来构建容器镜像,具有可扩展性。 镜像树示意图如图1所示。 图1镜像树示意图 表1 昇腾基础镜像树说明 镜像名 说明 ascendbase-train 安装系统组件及python第三方依赖等。 ascend-train 安装深度学习引擎包nnae(支持离线推理、在线推理、训练)等。 https://www.hiascend.com/document/detail/zh/mindx-dl/2046/dluserguide/toolboxug/toolboxug_000121.html
11.机器学习术语表:机器学习基础知识MachineLearningGoogle动态模型(或在线模型)是一种模型, 。 动态训练(或在线训练)是训练 频繁或持续不断 动态推理(即在线推理)是 根据需求生成预测。 动态模型 #fundamentals 一个模型经常出现(甚至可能会持续) 重新训练。动态模型是一个“终身学习者”那个 适应不断演变的数据。动态模型也称为在线模型。 https://developers.google.cn/machine-learning/glossary/fundamentals?hl=zh-cn
12.基于Kmeans聚类的CSI室内定位AET对于单个天线对得到fin,对于m个天线的每个天线对使用Kmeans算法,得到训练向量: 2.2 在线定位阶段 在线定位阶段采用与离线训练阶段相同的方法提取到m个天线对的指纹: 将提取到的指纹与训练阶段建立的数据库中的指纹作比较,即将获取到的第i个天线对的指纹矩阵与数据库中的第i个天线对的指纹矩阵,进行两个指纹矩阵中任http://www.chinaaet.com/article/3000057028
13.粗排优化探讨得物技术离线在线一致性分析 待补充实际效果 四 样本设计 粗排相较于精排样本选择偏差(SSB)的问题更加严重,借鉴召回经验,可以通过适当采样减少偏差。采样设计的目的也是希望离线训练样本尽可能与线上分布一致。 样本选择方法 负样本可选范围: 曝光未点击样本; 全库除转化外样本; https://blog.itpub.net/70027824/viewspace-3000851/
14.推荐模型离线评测效果好,线上效果却不佳的原因推荐系统里非常常见,并且往往非常的隐蔽的一种数据分布不一致的情况被称之为冰山效应,也就是说离线训练用的是有偏的冰山上的数据,而在线上预估的时候,需要预测的是整个冰山的数据,包括大量冰面以下的数据!我们看下面这张图。左边是我们的Baseline,绿色的表示正样本,红色表示负样本,灰色部分表示线上由于推荐系统的“https://www.jianshu.com/p/34489b31c783
15.微软亚洲研究院解密:AISuphx是如何成为麻将十段的?科技当初始的手牌发到麻将AI手中时,通过模拟来调整离线训练好的策略,使其更适应这个给定的初始手牌。微软亚洲研究院的实验表明,相对麻将隐藏信息集的平均大小10的48+次方倍而言,模拟的次数不需要很大,pMCPA也并不需要为这一局手牌收集所有可能后续状态的统计数据。由于pMCPA是一种参数化的方法,所以微调更新后的策略可以帮https://www.whb.cn/zhuzhan/kjwz/20200412/340072.html
16.推荐算法中的在线学习和离线学习有何区别,各自的优缺点是什么在线学习和离线学习是推荐算法中常见的训练方式,各自有不同的优缺点。在实际应用中可以根据需求选择合适的方式或结合两者优势。https://www.mbalib.com/ask/question-ec5c1bbee149c6534d0a725ffdb15235.html
17.2019机器之心人工智能年度奖项正式公布:关注创业先锋,聚焦产品2019 年,天泽智云发布无忧机加解决方案,基于 CPS 信息物理系统架构,融合高频振动数据和加工运行数据,结合机理、数据的智能分析,离线训练算法模型,在线评估刀具健康状态,实现刀具失效预警、刀具寿命预测和主轴健康管理。截止 2019 年 12 月底,已服务 2 家机床厂商,为其增强产品竞争力,提升服务价值;助力 4 家制造商将https://www.zhuanzhi.ai/document/2abfb47db9cd9ab70b4144f329e147b8