CN111027713A - 共享机器学习***及方法 - Google Patents
共享机器学习***及方法 Download PDFInfo
- Publication number
- CN111027713A CN111027713A CN201911261423.8A CN201911261423A CN111027713A CN 111027713 A CN111027713 A CN 111027713A CN 201911261423 A CN201911261423 A CN 201911261423A CN 111027713 A CN111027713 A CN 111027713A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- shared machine
- node
- computing
- learning task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书中的实施例提供了共享机器学习***及方法。共享机器学习***包括多个计算节点,多个计算节点中的至少部分计算节点具备可信执行环境。具备可信执行环境的计算节点能够接收来自一个或多个数据源的私有数据,以及在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
Description
技术领域
本说明书实施例涉及信息技术领域,特别涉及共享机器学习***及方法。
背景技术
随着人工智能技术的发展,机器学习模型已逐渐应用于风险评估、语音识别、自然语言处理等领域。在医疗、金融等领域,不同的企业或机构拥有不同的数据,若能联合各方数据进行共享机器学习,可以有效提升模型精度,给企业带来巨大的经济效益。然而,不同的企业或机构各自拥有的数据包含大量的用户隐私甚至商业机密,一旦样本数据泄露,将导致一系列负面影响。
因此,目前希望提供一种能够有效保护各方数据隐私的共享机器学习方案。
发明内容
本说明书实施例之一提供一种共享机器学习***,其中,包括多个计算节点;所述多个计算节点中的至少部分计算节点具备可信执行环境;具备可信执行环境的计算节点能够接收来自一个或多个数据源的私有数据,以及在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
本说明书实施例之一提供一种共享机器学习方法,其中,由具备可信执行环境的计算节点执行,所述方法包括:接收来自一个或多个数据源的私有数据;在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
本说明书实施例之一提供一种共享机器学习***,其中,对应于具备可信执行环境的计算节点,所述***包括:接收模块,用于接收来自一个或多个数据源的私有数据;执行模块,用于在可信执行环境中使用所述私有数据,以及在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
本说明书实施例之一提供一种共享机器学习装置,其中,包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当至少一个处理器执行指令时,实现如本说明书任一实施例所述的共享机器学习方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1为根据本说明书一些实施例所示的共享机器学习***的应用场景示意图;
图2为根据本说明书一些实施例所示的共享机器学习方法的示例性流程图;
图3为根据本说明书一些实施例所示的共享机器学习控制方法的示例性流程图;
图4为根据本说明书一些实施例所示的共享机器学习***的示例性框图;
图5根据本说明书一些实施例所示的共享机器学习控制***的示例性框图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“***”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的***所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1为根据本说明书一些实施例所示的共享机器学习***的应用场景示意图。如图1所示,共享机器学习***100可以包括多个计算节点110。多个计算节点110可用于利用各自节点中的数据执行共享机器学习任务。
在一些实施例中,计算节点110可以由数据提供方部署。在一些实施例中,部署计算节点110的数据提供方可以包括企业、机构等,例如,图1所示的政府、银行、数据商、大商户、ISV(Independent Software Vendors,独立软件开发商)、境外支付机构等等。在一些实施例中,计算节点110可以指单台计算设备,也可以指包括多台计算设备的计算集群。在一些实施例中,该计算集群可以是集中式的,也可以是分布式的。在一些实施例中,计算节点110可以在云平台上实施,例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。
在一些实施例中,多个计算节点110中的至少部分计算节点110可以具备可信执行环境。具备可信执行环境(Trusted Execution Environment,TEE)的计算节点(以下简称TEE节点)能够接收来自一个或多个数据源的私有数据,并在可信执行环境中使用接收到的私有数据,例如,图1所示带锁标志的云服务商和ISV的计算节点110。可信执行环境可以有效保证私有数据不发生泄露。在一些实施例中,数据源可以将私有数据以密文形式发送给TEE节点,以保证私有数据在进入可信执行环境前的安全性,进而TEE节点可在可信执行环境中解密私有数据的密文,并使用解密出的私有数据的明文。在一些实施例中,私有数据可以包括样本数据,TEE节点可以基于一个或多个数据源的样本数据进行模型训练和/或预测。例如,如图1所示,对于一些没有能力或没有意愿部署计算节点的数据提供方,如小商户、小数据商、个人等,也可以将各自终端120(即数据源)中的私有数据托管于TEE节点,由TEE节点在可信执行环境中使用私密数据执行共享机器学***板电脑120-2、个人计算机120-3等中的一种或其任意组合。
在一些实施例中,共享机器学习任务可以包括集中式共享机器学习任务、分布式共享机器学习任务、迁移学习任务等中的至少一种。下面将分别进行说明。
集中式共享机器学习任务可以指在***露各方私有数据的前提下将各方的样本数据集中在一起进行模型训练和/或预测的任务。在一些实施例中,TEE节点可以利用来自多个数据源的私有数据执行集中式共享机器学习任务。在一些实施例中,TEE节点也可以作为数据提供方将其他数据源托管的私有数据以安全的方式提供给其他计算节点110,以供其他计算节点110进行集中式共享机器学习任务。所述的安全方式包括数据的加密传输以及数据在安全环境中被使用等。
分布式共享机器学习任务可以指多个数据提供方利用各自计算节点110中的模型和样本数据进行联合训练和/或预测的任务。其中,联合预测(也可称为“分布式预测”)可以指基于各方本地模型以及待预测对象的标识信息对应的特征数据,获得针对同一待预测对象的标识信息的预测结果。在一些实施例中,各方的本地模型可以对应于完整预测模型的一部分。发起预测的计算节点可以将各个参与预测的计算节点的预测结果进行融合,包括但不限于求和、求交集等方式,从而获得针对待预测对象的最终预测结果。联合训练/预测过程中,每个数据提供方的计算节点110中的样本数据本身不对外传输(即不出域),基于多个数据提供方的计算节点110之间交互的一个或多个计算结果也难以反推出样本数据,从而可以有效保证联合训练/预测过程中各方样本数据的安全性。值得注意的是,TEE节点可以利用获取的一个或多个数据源的私有数据执行分布式共享机器学习任务,但是同样应在可信执行环境中将获取的私有数据处理成可以与其他计算节点交互的计算结果。如此,一方面可信执行环境可以保证私有数据在处理过程中不发生泄漏,另一方面基于用于交互的计算结果难以反推出相应的私有数据。在一些实施例中,各数据提供方的计算节点110可以采用MPC算法、秘密共享算法等中的一种或多种执行分布式共享机器学习任务。
在执行分布式共享机器学习任务时,多个计算节点110之间可建立通信连接构成网络,同一计算节点110可处于多个网络中。例如,如图1所示,政府、企业、ISV的计算节点110可共同形成网络140-1,ISV、银行和云服务商的计算节点可共同形成网络140-2,银行、云服务商和数据商可共同形成网络140-3,云服务商、境外支付机构和大商户的计算节点可共同形成网络140-4,其中,ISV的计算节点110可同时处于网络140-1和网络140-2中,银行的计算节点可同时处于网络140-2和网络140-3中,云服务商的计算节点110可同时处于网络140-2、网络140-3和网络140-4中。在一些实施例中,网络可是任意类型的有线或无线网络。例如,网络可包括缆线网络、有线网络、光纤网络、电信网络、内部网络、网际网络、区域网络(LAN)、广域网络(WAN)、无线区域网络(WLAN)、都会区域网络(MAN)、公共电话交换网络(PSTN)、蓝牙网络、ZigBee网络、近场通讯(NFC)网络等或以上任意组合。在一些实施例中,网络可包括一个或多个网络进出点。例如,网络可包含有线和/或无线网络进出点,如基站和/或多个网际网络交换点,通过这些进出点,共享机器学习***100的多个计算节点110可互相交换数据和/或信息。
可以理解,网络140-1、网络140-2、网络140-3和网络140-4等可以指具有特定计算节点,并完成特定功能的局部网络,如,网络140-3及其中的计算节点可以协同完成信贷风控,网络140-4及其中的计算节点可以协同完成国际风控等。各局部网络之间也可以具有通信连接,从而汇聚成更广域的网络。在更广域的网络中,各个计算节点可以相互通信,完成更多的共享机器学习任务,如迁移学习任务等。
迁移学习任务可以指将一方训练好的模型发送给另一方且另一方基于自身的样本数据继续训练接收到的模型的任务。在一些实施例中,一方可以将加密后的模型发送给另一方,相应地另一方解密出模型后基于自身的样本数据继续进行模型训练。
在一些实施例中,共享机器学习***100还可以包括管理节点130。管理节点130可以用于获取由一个以上计算节点110参与的目标共享机器学习任务,并将该目标共享机器学习任务下发至相应的计算节点110。在一些实施例中,任一计算节点110可以注册到一个或多个管理节点130上。注册在一个管理节点130下的任意多个计算节点110可组网协同执行目标共享机器学习任务(如,分布式共享机器学习任务),其他计算节点110可通过注册到该管理节点130上来加入该网络及该目标共享机器学习任务中。例如,如图1所示,政府、企业、ISV和银行的计算节点110均注册到政府的管理节点130上,ISV、银行、数据商、境外支付机构、大商户和云服务商的计算节点110均注册到云服务商的管理节点130上,银行的计算节点110同时注册到政府和云服务商的管理节点130上。其中,注册到政府的管理节点130上的政府、企业和ISV的计算节点110可组成网络140-1,同样注册到政府的管理节点130上的银行的计算节点110可加入网络140-1,以与政府、企业和ISV的计算节点110协同执行目标共享机器学习任务。
值得说明的是,管理节点130可以与计算节点110一起部署于任一方(例如,图1中的政府和云服务商)部署,也可以由第三方专门部署。在一些实施例中,任一方部署的计算节点110与管理节点130可以是两台设备,也可以合并成一台设备。
目标共享机器学习任务可以包括执行该任务所需的任意信息。在一些实施例中,共享机器学习任务可以包括参与的计算节点110、待训练的模型结构、训练样本的标识信息、训练样本的特征项信息、预测模型的标识信息、待预测对象的标识信息等信息中的至少一种。在一些实施例中,模型结构可以包括模型种类以及参数维度,其中参数维度可以包括层数、节点数等中的至少一种。在一些实施例中,标识信息可以包括ID,例如,名称、编号、身份证号码、手机号等等。在又一些实施例中,标识信息可以包括相应数据的存储位置。
在一些实施例中,训练样本的标识信息可用于标识在不同目标共享机器学习任务中使用的训练样本或其原始数据(该原始数据包含该训练样本)。在一些实施例中,训练样本的特征项信息可用于在原始数据中指定训练样本包含的特征项。在训练阶段,当训练样本的标识信息用于标识在不同目标共享机器学习任务中使用的训练样本的原始数据时,任一数据提供方的计算节点110可以基于目标共享机器学习任务中的训练样本的标识信息和训练样本的特征项信息(以下统称为训练样本信息),获取包含指定特征项特征数据的指定训练样本。在一些实施例中,各数据提供方可以向管理节点提供与目标共享机器学习任务关联的训练样本信息。进而,管理节点130可基于各数据提供方提供的与目标共享机器学习任务关联的训练样本信息,生成目标共享机器学习任务并将其下发至各数据提供方的计算节点110。相应地,任一数据提供方的计算节点110在接收到目标共享机器学习任务后,可基于自身的训练样本信息获取相应的训练样本。应当理解,下发至每个数据提供方的计算节点110的目标共享机器学习任务可以仅包括该数据提供方的训练样本信息,也可以包括各数据提供方的训练样本信息且每个训练样本信息标注有对应的数据提供方。
类似地,待预测对象的标识信息可用于标识不同待预测对象的特征数据或其原始数据(该原始数据包含该特征数据)。由于训练样本和待预测对象的特征数据包括相同的特征项,因此在预测阶段,当待预测对象的标识信息用于标识不同待预测对象的特征数据的原始数据时,任一数据提供方的计算节点110可以基于目标共享机器学习任务中的训练样本的特征项信息和待预测对象的标识信息获取该预测对象的特征数据。应当理解,对于一次分布式预测模型预测来说,下发至各数据提供方的计算节点110的目标共享机器学习任务中的待预测对象的标识信息应当是相同的。
应当注意的是,对于目标共享机器学习任务中各方保持一致的信息(以下称为公共信息),如参与的计算节点110、待训练的模型结构等,也可以在各方协商好后由任一数据提供方提供给管理节点130。
在一些实施例中,管理节点130可以设置有相应的客户端。任一数据提供方的相关人员可以通过客户端访问相应的管理节点130。例如,数据提供方可以通过客户端向管理节点130提交创建目标共享机器学习任务所需的信息。又如,各方协商好目标共享机器学习任务中的公共信息后,可由任一数据提供方在其客户端发起该目标共享机器学习任务的创建请求,其中,该创建请求可包括该数据提供方输入的公共信息。
在一些实施例中,计算节点110可以向所注册的管理节点130上报自身的工作状态。相应地,管理节点130可以基于计算节点110上报的工作状态向计算节点下发任务执行指示。在一些实施例中,工作状态包括资源使用情况、任务执行状态、预测阶段的模型状态中的至少一种。
在一些实施例中,资源使用情况包括CPU、内存、磁盘、网络、GPU等中的一个或多个的使用情况。例如,使用情况可以包括已使用资源与总资源的比例(以下简称已使用比例)、剩余可用资源占总资源的比例(以下简称可用比例)、剩余资源值。在一些实施例中,任务执行情况可以包括是否出错、执行进度等中的一种或多种。在一些实施例中,预测阶段的模型状态可以包括加载、在线、离线等状态中的一种或多种。
在一些实施例中,当管理节点130基于计算节点110上报的资源使用情况确定可用资源不足以执行新的目标共享机器学习任务后,可以在向该计算节点下发新的目标共享机器学习任务时提示该计算节点资源不足和/或释放资源。仅作为示例,在一些实施例中,管理节点130可以基于新的目标共享机器学习任务预估需要的计算节点110资源阈值,当计算节点110上报的剩余资源值不足该资源阈值时,可视为其可用资源不足以执行新的目标共享机器学习任务。在又一些实施例中,当计算节点110上报的已使用比例超过第一阈值或可用比例低于第二阈值时,可视为其可用资源不足以执行新的目标共享机器学习任务。
在一些实施例中,当计算节点110上报的任务执行状态指示目标共享机器学习任务执行出错后,管理节点130可以通知该计算节点110重新执行该目标共享机器学习任务或通知执行该目标共享机器学习任务的其他计算节点取消该目标共享机器学习任务。
在一些实施例中,管理节点130可以基于计算节点110上报的预测阶段的模型状态控制相应模型是否参与目标共享机器学习任务。例如,任一数据提供方若认为自身计算节点110的预测模型的使用效果不佳,可以将自身计算节点110的预测模型下线,管理节点130在确定该计算节点110上报的预测模型为离线状态后,即可不使用该预测模型参与涉及分布式预测的共享机器学习任务。
图2为根据本说明书一些实施例所示的共享机器学习方法的示例性流程图。该流程200可以由TEE节点执行。该流程200可以包括:
步骤210,接收来自一个或多个数据源的私有数据。在一些实施例中,步骤210可以由接收模块410执行。
步骤220,在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。在一些实施例中,步骤220可以由执行模块420执行。
图3为根据本说明书一些实施例所示的共享机器学习控制方法的示例性流程图。该流程300可以由管理节点130执行。该流程300可以包括:
步骤310,获取由一个以上计算节点参与的目标共享机器学习任务。在一些实施例中,步骤310可以由任务获取模块510执行。
步骤320,将所述目标共享机器学习任务下发至相关计算节点。在一些实施例中,步骤310可以由任务下发模块520执行。
关于图2和图3所示的流程及其步骤的更多细节,可以从图1及其相关描述中找到,这里不再赘述。
应当注意的是,上述有关流程200和300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200和300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图4为根据本说明书一些实施例所示的共享机器学习***400的示例性框图。该***400对应于TEE节点。在一些实施例中,该***400可以包括接收模块410和执行模块420。
在一些实施例中,接收模块410可以用于接收来自一个或多个数据源的私有数据。
在一些实施例中,执行模块420可以用于在可信执行环境中使用所述私有数据,以及在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
图5为根据本说明书一些实施例所示的共享机器学习控制***500的示例性框图。该***500对应于管理节点130。在一些实施例中,该***500可以包括任务获取模块510和任务下发模块520。
在一些实施例中,任务获取模块510可以用于获取由一个以上计算节点参与的目标共享机器学习任务。
在一些实施例中,任务下发模块520可以用于将所述目标共享机器学习任务下发至相关计算节点。
关于图4和图5所示的***及其模块的更多细节,同样可以从图1及其相关描述中找到,这里也不再赘述。
应当理解,图4和图5所示的***及其模块可以利用各种方式来实现。例如,在一些实施例中,***及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和***可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的***及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于***及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解***的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子***与其他模块连接。例如,在一些实施例中,图4中披露的接收模块410和执行模块420可以是一个***中的不同模块,也可以是一个模块实现这两个模块的功能。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)在有效保护各方数据隐私的前提下,提供一种共享机器学习的网络部署方案;(2)没有能力部署训练节点的个人终端或机构终端,可以将其私有数据“托管”到具备可信执行环境的计算节点中,具备可信执行环境的计算节点既可以执行集中式共享机器学习任务,也可以执行分布式共享机器学习任务,通过“托管”,这些拥有数据但运算资源不足的个人或机构也可以参与到共享机器学习中来;(3)网络中分布式部署多个管理节点,同一计算节点可注册到不同管理节点上,从而可以参与到不同功能的局部网络中,灵活的组网形式充分利用了各计算节点的数据及运算资源。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“***”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行***、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的***组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的***。
同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (10)
1.一种共享机器学习***,其中,包括多个计算节点;
所述多个计算节点中的至少部分计算节点具备可信执行环境;具备可信执行环境的计算节点能够接收来自一个或多个数据源的私有数据,以及在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
2.根据权利要求1所述的***,其中,还包括管理节点,至少一个计算节点注册到一个或多个管理节点上;
所述管理节点用于获取由一个以上计算节点参与的目标共享机器学习任务,并将所述目标共享机器学习任务下发至相关计算节点。
3.根据权利要求2所述的***,所述目标共享机器学习任务包括以下信息中的至少一种:参与的计算节点、待训练的模型结构、训练样本的标识信息、训练样本的特征项信息以及待预测对象的标识信息。
4.根据权利要求2所述的***,其中,所述管理节点还用于接收计算节点上报的工作状态,并基于计算节点的工作状态向计算节点下发任务执行指示,所述工作状态包括资源使用情况、任务执行状态、预测阶段的模型状态中的至少一种。
5.根据权利要求4所述的***,其中,所述管理节点进一步用于当基于计算节点上报的资源使用情况确定可用资源不足以执行新的目标共享机器学习任务后,在向该计算节点下发新的目标共享机器学习任务时提示该计算节点资源不足和/或释放资源。
6.根据权利要求4所述的***,其中,所述管理节点进一步用于当计算节点上报的任务执行状态指示目标共享机器学习任务执行出错后,通知该计算节点重新执行所述目标共享机器学习任务或通知执行所述目标共享机器学习任务的其他计算节点取消所述目标共享机器学习任务。
7.根据权利要求4所述的***,其中,所述管理节点进一步用于基于计算节点上报的预测阶段的模型状态控制相应模型是否参与目标共享机器学习任务。
8.一种共享机器学习方法,其中,由具备可信执行环境的计算节点执行,所述方法包括:
接收来自一个或多个数据源的私有数据;
在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
9.一种共享机器学习***,其中,对应于具备可信执行环境的计算节点,所述***包括:
接收模块,用于接收来自一个或多个数据源的私有数据;
执行模块,用于在在可信执行环境中使用所述私有数据执行集中式共享机器学习任务和/或与其他计算节点协同执行分布式共享机器学习任务。
10.一种共享机器学习装置,其中,包括至少一个处理器和至少一个存储设备,所述存储设备用于存储指令,当至少一个处理器执行指令时,实现如权利要求8所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261423.8A CN111027713B (zh) | 2019-12-10 | 2019-12-10 | 共享机器学习***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261423.8A CN111027713B (zh) | 2019-12-10 | 2019-12-10 | 共享机器学习***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111027713A true CN111027713A (zh) | 2020-04-17 |
CN111027713B CN111027713B (zh) | 2022-09-02 |
Family
ID=70208720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911261423.8A Active CN111027713B (zh) | 2019-12-10 | 2019-12-10 | 共享机器学习***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111027713B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231746A (zh) * | 2020-09-10 | 2021-01-15 | 杭州锘崴信息科技有限公司 | 联合数据分析方法、装置、***及计算机可读存储介质 |
CN113569263A (zh) * | 2021-07-30 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | 跨私域数据的安全处理方法、装置及电子设备 |
CN113992439A (zh) * | 2021-12-27 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 分布式多方安全计算***、方法和节点 |
EP3972214A1 (en) * | 2020-09-17 | 2022-03-23 | Deutsche Telekom AG | Techniques to extend public cloud computing systems to a home of a user |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107885762A (zh) * | 2017-09-19 | 2018-04-06 | 北京百度网讯科技有限公司 | 智能大数据***、提供智能大数据服务的方法和设备 |
CN107924445A (zh) * | 2015-09-25 | 2018-04-17 | 英特尔公司 | 保留隐私的计算的相互认可 |
CN109167695A (zh) * | 2018-10-26 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦学习的联盟网络构建方法、设备及可读存储介质 |
US20190034235A1 (en) * | 2017-12-28 | 2019-01-31 | Shao-Wen Yang | Privacy-preserving distributed visual data processing |
CN109416721A (zh) * | 2016-06-22 | 2019-03-01 | 微软技术许可有限责任公司 | 隐私保护机器学习 |
CN109993308A (zh) * | 2019-03-29 | 2019-07-09 | 深圳先进技术研究院 | 基于云平台共享学***台及方法、介质 |
CN110401700A (zh) * | 2019-07-03 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 模型加载方法及***、控制节点及执行节点 |
CN110462591A (zh) * | 2017-04-26 | 2019-11-15 | 美的集团股份有限公司 | 使用作业服务器在大规模分布式***上训练机器学习模型 |
CN110503204A (zh) * | 2018-05-17 | 2019-11-26 | 国际商业机器公司 | 识别用于机器学习任务的迁移模型 |
-
2019
- 2019-12-10 CN CN201911261423.8A patent/CN111027713B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107924445A (zh) * | 2015-09-25 | 2018-04-17 | 英特尔公司 | 保留隐私的计算的相互认可 |
CN109416721A (zh) * | 2016-06-22 | 2019-03-01 | 微软技术许可有限责任公司 | 隐私保护机器学习 |
CN110462591A (zh) * | 2017-04-26 | 2019-11-15 | 美的集团股份有限公司 | 使用作业服务器在大规模分布式***上训练机器学习模型 |
CN107885762A (zh) * | 2017-09-19 | 2018-04-06 | 北京百度网讯科技有限公司 | 智能大数据***、提供智能大数据服务的方法和设备 |
US20190034235A1 (en) * | 2017-12-28 | 2019-01-31 | Shao-Wen Yang | Privacy-preserving distributed visual data processing |
CN110503204A (zh) * | 2018-05-17 | 2019-11-26 | 国际商业机器公司 | 识别用于机器学习任务的迁移模型 |
CN109167695A (zh) * | 2018-10-26 | 2019-01-08 | 深圳前海微众银行股份有限公司 | 基于联邦学习的联盟网络构建方法、设备及可读存储介质 |
CN109993308A (zh) * | 2019-03-29 | 2019-07-09 | 深圳先进技术研究院 | 基于云平台共享学***台及方法、介质 |
CN110401700A (zh) * | 2019-07-03 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 模型加载方法及***、控制节点及执行节点 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231746A (zh) * | 2020-09-10 | 2021-01-15 | 杭州锘崴信息科技有限公司 | 联合数据分析方法、装置、***及计算机可读存储介质 |
CN112231746B (zh) * | 2020-09-10 | 2024-02-02 | 杭州锘崴信息科技有限公司 | 联合数据分析方法、装置、***及计算机可读存储介质 |
EP3972214A1 (en) * | 2020-09-17 | 2022-03-23 | Deutsche Telekom AG | Techniques to extend public cloud computing systems to a home of a user |
CN113569263A (zh) * | 2021-07-30 | 2021-10-29 | 拉扎斯网络科技(上海)有限公司 | 跨私域数据的安全处理方法、装置及电子设备 |
CN113992439A (zh) * | 2021-12-27 | 2022-01-28 | 支付宝(杭州)信息技术有限公司 | 分布式多方安全计算***、方法和节点 |
Also Published As
Publication number | Publication date |
---|---|
CN111027713B (zh) | 2022-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111027713B (zh) | 共享机器学习***及方法 | |
Souri et al. | Formal verification approaches and standards in the cloud computing: a comprehensive and systematic review | |
Chiregi et al. | A comprehensive study of the trust evaluation mechanisms in the cloud computing | |
AU2016264496C1 (en) | Custom communication channels for application deployment | |
US9544327B1 (en) | Prioritizing security findings in a SAST tool based on historical security analysis | |
US11810676B2 (en) | Verified permissioned blockchains | |
CN110969264B (zh) | 模型训练方法、分布式预测方法及其*** | |
CN111125760B (zh) | 保护数据隐私的模型训练、预测方法及其*** | |
Treleaven et al. | Federated learning: The pioneering distributed machine learning and privacy-preserving data technology | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和*** | |
Wang | Blockfedml: Blockchained federated machine learning systems | |
US12015691B2 (en) | Security as a service for machine learning | |
Guo et al. | Pedagogical data federation toward education 4.0 | |
Yau et al. | A blockchain-based testing approach for collaborative software development | |
Srinivasan et al. | 'State of the Art'in Using Agile Methods for Embedded Systems Development | |
US20230259654A1 (en) | Privacy-preserving computing on subject data used to develop artificial intelligence tools | |
CN115705256A (zh) | 就服务事务达成共识的请求促进 | |
US20220188717A1 (en) | Determining risk mitigation measures from assessed risks | |
CN111598544A (zh) | 用于处理信息的方法和装置 | |
Pandey et al. | A Secure and Scalable IoT Data Management System based on Blockchain | |
US20200228324A1 (en) | Verifiable Analytics Platform with Smart Contracts | |
Alshudukhi | A BLOCKCHAIN AND MICROSERVICES-BASED SECURITY MANAGER IN IOT ENVIRONMENT | |
Washizaki et al. | Software Engineering Patterns for Machine Learning Applications (SEP4MLA)-Part 4-ML Gateway Routing Architecture | |
Sönmez et al. | The Post-Implementation Effects of Aan Identity Management Platform on Risk and Regulatory Compliance | |
US20220255990A1 (en) | Topological ordering of blockchain associated proposals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40027995 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |