一种模型安全部署和预测的方法和系统技术方案

技术编号:23889839 阅读:28 留言:0更新日期:2020-04-22 06:00
本说明书实施例公开了一种模型安全部署和预测的方法及系统。所述方法包括:第一终端拥有模型,第一终端根据模型生成模型文件,并将模型文件转换为混淆电路表示的加密模型文件;第一终端将加密模型文件传输给第二终端;其中,第二终端拥有模型对应的待预测数据,待预测数据为第二终端的私有数据;第一终端和第二终端基于双方混淆电路的安全计算协议,进行安全预测,第一终端最终得到待预测数据对应的预测结果,预测结果对第二终端保密。

【技术实现步骤摘要】
一种模型安全部署和预测的方法和系统
本说明书一个或多个实施例涉及安全多方计算领域,尤其涉及一种模型安全部署和预测的方法及系统。
技术介绍
在一些数据合作场景中,双方合作完成机器学习的建模后,会生成一个模型,一般情况下,模型属于其中一方,但是模型预测时需要的特征数据属于另外一方。在这种场景下,在做模型部署时,模型拥有方需要保护模型的参数和结构;在模型预测阶段,数据源拥有方需要保护数据源的特征数据,同时模型拥有方需要保护模型的最终预测结果。因此,期望一种安全预测的方法和系统,解决模型的部署和安全预测问题。
技术实现思路
本说明书实施例之一提供一种模型安全部署和预测的方法。所述方法包括:第一终端拥有模型,所述第一终端根据所述模型生成模型文件,所述第一终端将所述模型文件转换为混淆电路表示的加密模型文件;所述第一终端将所述加密模型文件传输给第二终端;其中,所述第二终端拥有所述模型对应的待预测数据,所述待预测数据为所述第二终端的私有数据;所述第一终端和所述第二终端基于双方混淆电路的安全计算协议,进行安全预测,第一终端最终得到所述待预测数据对应的预测结果,所述预测结果对所述第二终端保密。本说明书实施例之一提供一种模型安全部署和预测的系统,所述系统包括:转换模块,用于使得所述第一终端根据所述模型生成模型文件,所述第一终端将所述模型文件转换为混淆电路表示的加密模型文件;传输模块,用于使得所述第一终端将所述加密模型文件传输给第二终端;其中,所述第二终端拥有所述模型对应的待预测数据,所述待预测数据为所述第二终端的私有数据;计算模块,用于使得所述第一终端和所述第二终端基于双方混淆电路的安全计算协议,进行安全预测,第一终端最终得到所述待预测数据对应的预测结果,所述预测结果对所述第二终端保密。本说明书实施例之一提供一种模型安全部署和预测的装置,包括:所述装置包括至少一个处理器以及至少一个存储器;所述至少一个存储器用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令中的至少部分指令以实现模型安全部署和预测的方法。附图说明本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:图1是根据本说明书一些实施例所示的模型安全部署和预测的方法的示例性流程图;图2是根据本说明书一些实施例所示的第一终端将模型文件转换为混淆电路表示的加密模型文件的示例性流程图;图3是根据本说明书一些实施例所示的模型安全部署和预测的应用场景图;以及图4是根据本说明书一些实施例所示的模型安全部署和预测的系统的模块图。具体实施方式为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。图1是根据本说明书一些实施例所示的模型安全部署和预测方法的示例性流程图。步骤110,第一终端根据模型生成模型文件,并将模型文件转换为混淆电路表示的加密模型文件。具体的,该步骤可以由转换模块410执行。在一些实施例中,第一终端拥有模型。模型可以是为了实现特定的目的(诸如商业交易目的、工厂生产目的)而被设计形成的。例如:模型可以为风险识别模型,用于在线交易过程中,识别某一用户进行的交易是否存在风险。在一些实施例中,模型可以基于机器学习模型构建,包括但不限于逻辑回归(LogisticRegression,LR)模型、梯度提升树(GradientBoostingDecisonTree,GBDT)模型和卷积神经网络(ConvolutionalNeuralNetworks,CNN)模型等。在一些实施例中,第一终端可以使用机器学习算法框架,训练并生成模型。机器学习算法框架可以包括但不限于tensorflow、keras、scikit-learn等。在一些实施例中,第一终端也可以使用其他方法获取模型,不受本说明书的表述所限。在一些实施例中,模型训练完成之后,需要将模型的结构和参数以模型文件的形式输出,以便后续部署到系统中实际应用。在一些实施例中,为了能够具有较好的通用性,一般还会按照一定的标准格式输出模型文件,例如,JSON(JavaScriptObjectNotation)格式、可扩展语言标记(eXtensibleMarkupLanguage,XML)格式等。在一些实施例中,在做模型部署时,为了保护模型的结构和参数,第一终端可以将模型文件转换为混淆电路表示的加密模型文件,转换的详细过程参见图2。步骤120,第一终端将加密模型文件传输给第二终端。具体的,该步骤可以由传输模块420执行。在一些实施例中,第一终端将加密模型文件传输给第二终端。传输方式可以是第一终端通过本地的控制台将加密模型文件推送给第二终端,也可以是第一终端通过硬盘存储的形式将存储有加密模型文件的硬盘提供给第二终端。第一终端还可以通过其他方式传输加密模型文件给第二终端,不受本说明书表述所限。在一些实施例中,第二终端持有模型预测所需的待预测数据。待预测数据可以为与第一终端拥有的模型对应的特征数据,在不同的模型应用中具有不同的涵义。例如:模型为用户推荐模型,则待预测数据可以是年龄、性别、手机号和搜索词等特征数据;模型为企业破产风险识别模型,则待预测数据可以是注册资本、成立年限和商标注册数量等特征数据。待预测数据是第二终端的私有数据,对第一终端保密。在一些实施例中,所述第二终端接收到加密模型文件后可以将模型部署到第二终端的本地,并使用该模型进行计算。例如,可以将模型文件加载到一个进程中,然后通过调用该进程进行模型计算。需要说明的是,依据不同的计算环境,加密后的模型也可以部署在第一终端、第二终端,还可以部署在除了第一终端、第二终端以外的第三方,不受本说明书表述所限。步骤本文档来自技高网...

【技术保护点】
1.一种模型安全部署和预测的方法,所述方法包括:/n第一终端拥有模型,所述第一终端根据所述模型生成模型文件,并将所述模型文件转换为混淆电路表示的加密模型文件;/n所述第一终端将所述加密模型文件传输给第二终端;其中,所述第二终端拥有所述模型对应的待预测数据,所述待预测数据为所述第二终端的私有数据;/n所述第一终端和所述第二终端基于双方混淆电路的安全计算协议,进行安全预测,第一终端最终得到所述待预测数据对应的预测结果,所述预测结果对所述第二终端保密。/n

【技术特征摘要】
1.一种模型安全部署和预测的方法,所述方法包括:
第一终端拥有模型,所述第一终端根据所述模型生成模型文件,并将所述模型文件转换为混淆电路表示的加密模型文件;
所述第一终端将所述加密模型文件传输给第二终端;其中,所述第二终端拥有所述模型对应的待预测数据,所述待预测数据为所述第二终端的私有数据;
所述第一终端和所述第二终端基于双方混淆电路的安全计算协议,进行安全预测,第一终端最终得到所述待预测数据对应的预测结果,所述预测结果对所述第二终端保密。


2.根据权利要求1所述的方法,其中,所述将所述模型文件转换为混淆电路表示的加密模型文件包括:
将所述模型文件转换为编程语言文件;
将所述编程语言文件转换为混淆电路表示的加密模型文件。


3.根据权利要求2所述的方法,其中,所述将所述模型文件转换为编程语言文件包括:
将所述模型文件导出为预测模型标记语言PMML文件;
使用C语言表示所述PMML文件的逻辑,将所述PMML文件转换为C语言文件。


4.根据权利要求3所述的方法,其中,所述将所述编程语言文件转换为混淆电路表示的加密模型文件包括:
使用电路编译器将所述C语言文件编译成混淆电路文件,生成所述加密模型文件。


5.根据权利要求4所述的方法,其中,所述基于双方混淆电路的安全计算协议,进行安全预测包括:
所述第一终端向所述第二终端发送关于所述加密模型文件和所述待预测数据的计算请求;
所述第一终端和所述第二终端根据所述计算请求,基于所述待预测数据和所述模型的参数,使用所述加密模型文件进行计算,获取混淆值结果。


6.根据权利要求5所述的方法,其中,所述第一终端拥有的模型为风险识别模型,所述第二终端拥有的待预测数据为用户的交易行为数据;所述第一终端和所述第二终端使用所述方法实现安全预测,所述第一终端获得最终预测结果,并且所述待预测数据对所述第一终端保密,所述风险识别模型的结构和参数对所述第二终端保密。

【专利技术属性】
技术研发人员:王华忠殷山李漓春
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1