CN110414187B - 模型安全交付自动化的系统及其方法 - Google Patents

模型安全交付自动化的系统及其方法 Download PDF

Info

Publication number
CN110414187B
CN110414187B CN201910592989.2A CN201910592989A CN110414187B CN 110414187 B CN110414187 B CN 110414187B CN 201910592989 A CN201910592989 A CN 201910592989A CN 110414187 B CN110414187 B CN 110414187B
Authority
CN
China
Prior art keywords
machine learning
learning model
prediction
component
function
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.)
Active
Application number
CN201910592989.2A
Other languages
English (en)
Other versions
CN110414187A (zh
Inventor
林海涛
刘建夏
张文康
牛宝龙
张红光
宋清云
喻友平
吴甜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910592989.2A priority Critical patent/CN110414187B/zh
Publication of CN110414187A publication Critical patent/CN110414187A/zh
Priority to US16/895,350 priority patent/US20210004696A1/en
Application granted granted Critical
Publication of CN110414187B publication Critical patent/CN110414187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1062Editing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种模型安全交付自动化的系统及其方法,属于人工智能模型交付技术领域。所述系统包括:模型仓库,包括至少一个机器学习模型;预测仓库,包括至少一个与所述模型仓库中机器学习模型的元数据匹配的预测模块;处理引擎,被配置为具有组装所述模型仓库中机器学习模型和所述预测仓库中预测模块的功能;其中,所述预测模块被配置为具有鉴权功能和防调试功能,所述处理引擎用于将存在元数据匹配关系的所述模型仓库中机器学习模型和所述预测仓库中预测模块进行组装,并且还用于在组装完成后生成预测服务。本发明可以自动生成具备安全能力的预测服务,从而提升AI商业交付时的安全性和保密性。

Description

模型安全交付自动化的系统及其方法
技术领域
本发明涉及人工智能模型交付技术领域,具体地涉及一种构建预测模块的方法、一种自动生成预测服务的方法、一种使用预测服务的方法、一种自动生成预测服务的系统、一种用于预测服务的设备和一种计算机可读存储介质。
背景技术
随着人工智能技术的快速发展,人工智能(Artificial Intelligence,AI)已经进入大规模商业阶段,人工智能交付模型包括公有云、专属云和私有云等多种交付模式;其中,公有云以提供在线应用程序接口(Application Programming Interface,API)方式输出AI能力,虽然用户无法看到模型关键参数和环境变量,只能调用API进行预测,但未能实现相对独立的预测服务,无法满足更安全和更私有化的实际应用需求;专属云为用户提供计算、存储物理隔离的云上专属资源池,在专属的资源上部署AI服务和应用数据;私有云为客户独立的机房和服务器,独立运维和部署AI服务,数据和服务器安全性比较高。
对于专属云和私有云这两种交付模式,需求上地,AI服务的使用或研发用户需要保证模型和应用服务的安全性和保密性,例如防破解、防复制和防越权使用等方面,还需要快速自动交付特性以及简易部署、测试和使用特性等。
发明内容
本发明的目的是提供一种模型安全交付自动化的系统及其方法,而现有技术未能实现安全的、保密的和自动的交付模型。
为了实现上述目的,本发明实施例提供一种构建预测模块的方法,该方法包括:
S1)形成与机器学习模型的元数据匹配的预测组件;
S2)获取安全组件,再将所述安全组件和所述预测组件进行集成,获得预测模块。
具体的,步骤S1)中的预测组件具有调用组件和执行组件;其中,
所述执行组件的功能包括:请求功能和接收功能;
所述请求功能为通过所述调用组件的功能发送用于所述机器学习模型输入的数据至所述机器学习模型进行计算;
所述接收功能为通过所述调用组件的功能接收由所述机器学习模型计算的输出数据;
所述调用组件的功能包括封装功能和解封装功能;
所述封装功能为将用于所述机器学习模型输入的数据的格式封装为具有预测接口配置的数据的格式;
所述解封装功能为解封装由所述机器学习模型计算的输出数据。
具体的,步骤S2)中获取安全组件,包括:
选定并配置鉴权组件和防调试组件,再将所述鉴权组件和所述防调试组件集成为安全组件。
具体的,步骤S2)中在获得预测模块之前,包括:
获取安全组件并获取与所述机器学习模型预加密匹配的解密组件,再将所述解密组件、所述安全组件和所述预测组件进行集成。
具体的,步骤S2)在将所述安全组件和所述预测组件进行集成之后,且在获得预测模块之前,还包括:
获得集成组件,然后对所述集成组件执行混淆编译,在混淆编译完成后获得执行文件,再对所述执行文件进行加壳。
具体的,步骤S2)中将所述安全组件和所述预测组件进行集成,获得预测模块,包括:
设置执行规则,将所述安全组件和所述预测组件结合所述执行规则进行集成,获得预测模块;其中,所述预测模块被配置为:根据与所述安全组件对应的功能的执行结果,结合所述执行规则,选择性地执行与所述预测组件对应的功能。
本发明实施例提供一种自动生成预测服务的方法,该方法包括:
S1)选定机器学习模型,并获取所述机器学习模型的接口配置;
S2)根据所述机器学习模型的元数据,选定与所述机器学习模型适配的预测模块,再结合所述接口配置更新所述预测模块,将所述机器学习模型和所述预测模块进行组装,生成预测服务。
具体的,步骤S1)包括:
S101)获取具有不同类元数据的待训练机器学习模型,对每个待训练机器学习模型进行训练,再定义每个待训练机器学习模型的接口配置,在训练完成后获得预训练机器学习模型集合,并将所述预训练机器学习模型集合存储于模型仓库,其中,所述待训练机器学习模型的元数据是按不同内容分类的,内容分类是根据模型描述信息内容(例如计算框架和适配的计算硬件等)、模型语言信息内容和模型应用领域信息内容等信息内容进行分类的;
S102)从所述模型仓库中选定机器学习模型,并获取所述机器学习模型的接口配置。
具体的,步骤S101)在获取具有不同类元数据的待训练机器学习模型之后,且在定义所述待训练机器学习模型的接口配置之前,还包括:
对应每个待训练机器学习模型配置预处理器;其中,所述预处理器被配置为:根据第一预设规则,选择性地将用于所述待训练机器学习模型输入的数据进行更改,在更改完成后获得符合所述待训练机器学习模型的输入数据要求的数据。
具体的,步骤S101)中将所述预训练机器学习模型集合存储于模型仓库,包括:
将所述预训练机器学习模型集合中每个预训练机器学习模型进行预加密,在预加密完成后获得具有预加密的预训练机器学习模型集合,将具有预加密的预训练机器学习模型集合存储于模型仓库。
具体的,步骤S102)还包括:
根据所述机器学习模型选定预处理器;其中,
所述预处理器被配置为:根据第二预设规则,选择地将用于所述机器学习模型输入的数据进行更改,在更改完成后获得符合所述机器学习模型的输入数据要求的数据。
具体的,步骤S2)在结合所述接口配置更新所述预测模块之前,包括:
S201)对应所述待训练机器学习模型或者所述预训练机器学习模型集合中的预训练机器学习模型构建预测模块,并存储所有预测模块于预测仓库;
S202)根据所述机器学习模型的元数据,从所述预测仓库选定与所述机器学习模型适配的预测模块。
具体的,步骤S201)中构建预测模块,包括:
通过鉴权组件和防调试组件构建预测模块。
具体的,步骤S2)中的预测服务,具有与所述机器学习模型的预加密匹配的解密功能。
具体的,步骤S2)中将所述机器学习模型和所述预测模块进行组装,生成预测服务,包括:
将所述机器学习模型和所述预测模块进行组装,生成预测服务的部署件,安装所述部署件于生产环境内,生成所述预测服务在所述生产环境内的执行体。
本发明实施例提供一种使用预测服务的方法,该方法包括:
S1)在生产环境中激活预测服务后,获取与所述预测服务中鉴权功能对应的授权状态;
S2)在所述授权状态符合预设鉴权条件时,将所述预测服务的机器学习模型在所述生产环境中解密,再获取输入数据,通过所述预测服务的执行功能和调用功能将所述输入数据传递至所述机器学习模型中进行计算,然后通过所述执行功能和所述调用功能获得由所述机器学习模型对应所述输入数据计算的输出数据和/或输出状态。
具体的,步骤S1)和/或步骤S2),还包括:
获取与所述预测服务中防调试功能对应的调试状态,并根据所述调试状态和预设调试条件的关系,选择性地激活所述预测服务中预设保护功能。
本发明实施例提供一种自动生成预测服务的系统,该系统包括:
模型仓库,包括至少一个机器学习模型;
预测仓库,包括至少一个与所述模型仓库中机器学习模型的元数据匹配的预测模块;
处理引擎,被配置为具有组装所述模型仓库中机器学习模型和所述预测仓库中预测模块的功能;
其中,所述预测模块被配置为具有鉴权功能和防调试功能,所述处理引擎用于将存在元数据匹配关系的所述模型仓库中机器学习模型和所述预测仓库中预测模块进行组装,并且还用于在组装完成后生成预测服务。
再一方面,本发明实施例提供一种用于预测服务的设备,包括:
至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,所述至少一个处理器通过执行所述存储器存储的指令实现前述的方法。
又一方面,本发明实施例提供一种计算机可读存储介质,存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前述的方法。
对应上述内容,本发明引入了安全组件,安全组件所对应的功能是保护预测组件所对应的功能的使用和模型的使用;
本发明提供了用于实现模型安全性和保密性的预测组件结构,若直接使用户对模型的输入输出进行操作,一方面,暴露了模型并且使得模型的文件或配置极容易被获取,另一方面,造成了交付、使用和部署困难,并不是所有用户都熟悉每一种模型的输入输出定义和功能特征,所以通过预测组件实现数据传递的隔离性和相对统一的输入输出形式能保障模型的安全和私有;
本发明提供了用于实现模型安全性和保密性的安全组件结构,鉴权组件能用于请求判断使用者是否被授权并能进一步区分权限以决定使用者所能操作的功能项,防调试组件可以用于反跟踪调试;
本发明提供了用于安全条件下解密模型文件的解密组件;
本发明实现了预测模块抗反编译能力、抗反汇编分析和抗逆向动态分析的能力;
本发明可以通过执行规则灵活地设置预测组件所对应的功能的使用;
本发明提供了可自动化的快速交付方法,根据所选定机器学习模型的元数据快速适配出预测模块,组装完成生成预测服务即完成交付;
本发明将用于预测服务生成的机器学习模型提前训练,并加密存储于模型仓库中,能极大提升交付速度;
本发明对每个待训练的机器学习模型配置了预处理器,可以有效地将用于训练的样本数据进行处理,以满足数据要求;
本发明对预测服务生成的机器学习模型配置预处理器,可以有效地并灵活地将用于模型输入的数据进行处理,以满足数据要求;
本发明在生成预测服务后,根据生产环境提供预测服务的部署形式,增加系统灵活性和部署速度;
本发明提供了具有安全性和保密性的预测服务运行方式;
本发明系统进入生产后,根据使用者需求能快速自动交付具有安全性和保密性的预测服务。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1为本发明实施例的自动生成预测服务的流程示意图;
图2为本发明实施例的预测服务的主要模块示意图;
图3为本发明实施例的预测服务在生成过程中编译和加固流程示意图;
图4为本发明实施例的机器学习模型在预测服务运行时加密和解密流程示意图;
图5为本发明实施例的专属云内实现预测服务和在线鉴权服务的交互架构示意图;
图6为本发明实施例的私有云内实现预测服务和在线鉴权服务的交互架构示意图
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
实施例1
如图1,本实施例提供构建预测模块的方法,该方法包括:
S1)形成与机器学习模型的元数据匹配的预测组件;
S2)获取安全组件,再将所述安全组件和所述预测组件进行集成,获得预测模块;
具体的,步骤S1)中的预测组件具有调用组件和执行组件;其中,
所述执行组件的功能包括:请求功能和接收功能;
所述请求功能为通过所述调用组件的功能发送用于所述机器学习模型输入的数据至所述机器学习模型进行计算;
所述接收功能为通过所述调用组件的功能接收由所述机器学习模型计算的输出数据;
所述调用组件的功能包括封装功能和解封装功能;
所述封装功能为将用于所述机器学习模型输入的数据的格式封装为具有预测接口配置的数据的格式;
所述解封装功能为解封装由所述机器学习模型计算的输出数据;
机器学习模型可以是具有应用程序接口的深度学习模型,例如PaddlePa-ddle、Tensorflow等,机器学习模型的元数据包括模型信息,模型信息例如深度学习模型框架类型、处理器类或图形处理器类、图形处理器驱动版本分类和开发语言类(Python、C、C++、GO和Java等)等信息;
调用组件可以根据机器学习模型的应用程序接口设计封装功能和解封装功能,且需要将预测组件对应的功能所传输的输入输出数据与机器学习模型进行互传,例如设定预测接口配置且使得预测接口配置能让参数透传却不暴露具体模型的命令或参数,调用组件需要根据交付使用者的生产环境确定实际类型,可以是代码文件、执行文件和链接文件等;预测组件可以是代码文件、执行文件和链接文件等;集成手段可以是编译、参数传递和置于具有用于支持运行的共享对象文件的生产环境中等。
具体的,步骤S2)中获取安全组件,包括:
选定并配置鉴权组件和防调试组件,再将所述鉴权组件和所述防调试组件集成为安全组件;
鉴权组件可以设置有与鉴权交互网络内鉴权设备服务端对应的客户端,可以是集成的软件开发工具包(Software Development Kit,SDK);防调试组件可以与鉴权组件一起集成于软件开发工具包,防调试组件包括调试监测子组件和防调试执行组件,调试监测子组件的功能可以是实时监测预测服务所在生产环境参数和预测服务的日志等,防调试执行组件可以是根据预设策略和调试监测子组件所对应的输出结果,判断是否触发调试状态,选择地执行中断或暂停预测服务等操作,如图2。
具体的,步骤S2)中在获得预测模块之前,包括:
获取安全组件并获取与所述机器学习模型预加密匹配的解密组件,再将所述解密组件、所述安全组件和所述预测组件进行集成,集成模型解密能力,实现运行时加载加密后的模型并进行解密的能力;
具体的,步骤S2)在将所述安全组件和所述预测组件进行集成之后,且在获得预测模块之前,还包括:
获得集成组件,然后对所述集成组件执行混淆编译,在混淆编译完成后获得执行文件,再对所述执行文件进行加壳;
如图3,根据具体的生产环境,执行混淆编译后可以生成可执行和可链接格式(Executable and Linkable Format,ELF)文件,再对ELF文件进行加壳,能让预测模块具有充分的安全性、抗反编译特性、抗反汇编分析和抗动态分析特性。
具体的,步骤S2)中将所述安全组件和所述预测组件进行集成,获得预测模块,包括:
设置执行规则,将所述安全组件和所述预测组件结合所述执行规则进行集成,获得预测模块,其中,所述预测模块被配置为:根据与所述安全组件对应的功能的执行结果,结合所述执行规则,选择性地执行与所述预测组件对应的功能;
执行规则可以根据安全组件所对应的功能模块激活后,该功能模块的输出结果设定,例如将执行规则设置为功能模块的输出结果为存在调试行为则进行中断预测模块。
实施例2
本实施例提供自动生成预测服务的方法,该方法包括:
S1)选定机器学习模型,并获取所述机器学习模型的接口配置;
S2)根据所述机器学习模型的元数据,选定与所述机器学习模型适配的预测模块,再结合所述接口配置更新所述预测模块,将所述机器学习模型和所述预测模块进行组装,生成预测服务;
具体的,步骤S1)包括:
S101)获取具有不同类元数据的待训练机器学习模型,对每个待训练机器学习模型进行训练,再定义每个待训练机器学习模型的接口配置,在训练完成后获得预训练机器学习模型集合,并将所述预训练机器学习模型集合存储于模型仓库;
S102)从所述模型仓库中选定机器学习模型,并获取所述机器学习模型的接口配置;
接口配置可以用于预测服务透传参数和结果;预测服务运行时根据接口配置对调用组件中预测接口的参数进行转换,传递到机器学习模型。
具体的,步骤S101)在获取具有不同类元数据的待训练机器学习模型之后,且在定义所述待训练机器学习模型的接口配置之前,还包括:
对应每个待训练机器学习模型配置预处理器;其中,所述预处理器被配置为:根据第一预设规则,选择性地将用于所述待训练机器学习模型输入的数据进行更改,在更改完成后获得符合所述待训练机器学习模型的输入数据要求的数据;所述第一预设规则能用于提供用于所述待训练机器学习模型输入的数据的判断策略和更改方式。
具体的,步骤S101)中将所述预训练机器学习模型集合存储于模型仓库,包括:
将所述预训练机器学习模型集合中每个预训练机器学习模型进行预加密,在预加密完成后获得具有预加密的预训练机器学习模型集合,将具有预加密的预训练机器学习模型集合存储于模型仓库;
可以预置加密算法,预置加密算法包括AES加密算法和RSA加密算法。
具体的,步骤S102)还包括:
根据所述机器学习模型选定预处理器;其中,
所述预处理器被配置为:根据第二预设规则,选择地将用于所述机器学习模型输入的数据进行更改,在更改完成后获得符合所述机器学习模型的输入数据要求的数据,其中,所述第二预设规则能用于提供用于所述待训练机器学习模型输入的数据的判断策略和更改方式;
选择预处理器,可以新增或从预设插件仓库中选择预处理器,例如对图片的压缩、裁剪等,可以满足机器学习模型的个性化需求;预设插件仓库可以有预处理器和其他辅助插件,其他辅助插件例如用于输入输出数据显示的用户界面插件。
具体的,步骤S2)在结合所述接口配置更新所述预测模块之前,包括:
S201)对应所述待训练机器学习模型或者所述预训练机器学习模型集合中的预训练机器学习模型构建预测模块,并存储所有预测模块于预测仓库;
S202)根据所述机器学习模型的元数据,从所述预测仓库选定与所述机器学习模型适配的预测模块;
具体的,步骤S201)中构建预测模块,包括:
通过鉴权组件和防调试组件构建预测模块。
具体的,步骤S2)中的预测服务,具有与所述机器学习模型的预加密匹配的解密功能;
具体的,步骤S2)中将所述机器学习模型和所述预测模块进行组装,生成预测服务,包括:
将所述机器学习模型和所述预测模块进行组装,生成预测服务的部署件,安装所述部署件于生产环境内,生成所述预测服务在所述生产环境内的执行体;
预测仓库和模型仓库使用文件存储系统存储文件,并结合关系数据库实现索引;使用关系数据库存储预测模块和机器学习模型的描述信息,且还存储预测模块和机器学习模型各自所对应的文件在文件系统的位置,从而形成索引数据,在进行匹配查询时,先从关系数据库获取索引数据进行计算,然后调取对应文件系统中的被匹配查询的文件;模型仓库还可以存储有待训练的机器学习模型,因为可能使用者需要利用自定义的样本数据形成特定的预训练机器学习模型;预测仓库存储有大量预测服务,使用者可以只需要明确和提供几项机器学习模型的元数据,即可确定用于组装的机器学习模型和预测服务;部署件可以根据使用者的生产环境对应生成,例如Linux系统环境为生产环境,部署件可以是用于安装预测服务的部署代码段,例如通过cURL语法命令获取该部署代码段,实现使用者所在环境自动快速安装预测服务;
实施例3
本实施例提供使用预测服务的方法,该方法包括:
S1)在生产环境中激活预测服务后,获取与所述预测服务中鉴权功能对应的授权状态;
S2)在所述授权状态符合预设鉴权条件时,将所述预测服务的机器学习模型在所述生产环境中解密,再获取输入数据,通过所述预测服务的执行功能和调用功能将所述输入数据传递至所述机器学习模型中进行计算,然后通过所述执行功能和所述调用功能获得由所述机器学习模型对应所述输入数据计算的输出数据和/或输出状态;
具体的,步骤S1)和/或步骤S2),还包括:
获取与所述预测服务中防调试功能对应的调试状态,并根据所述调试状态和预设调试条件的关系,选择性地激活所述预测服务中预设保护功能;
预测服务安全等级高,适用于专属云和私有云交付AI模型的场景,提供了运行鉴权控制、反跟踪调试、反编译、防模型破解等相关的安全能力;集成使用成本低,模型训练完成后,只需要配置预测接口定义配置,选择对应的预处理器即可实现模型的自动加密,然后自动适配支持模型预测的通用预测服务,最后组装成安装包,模型迭代时无额外成本,全自动化兼容性好;兼容业界主流的深度学习模型框架,深度学习模型框架包括PaddlePaddle、Tensorflow和caffe等。
实施例4
本实施例提供自动生成预测服务的系统,该系统包括:
模型仓库,包括至少一个机器学习模型;
预测仓库,包括至少一个与所述模型仓库中机器学习模型的元数据匹配的预测模块;
处理引擎,被配置为具有组装所述模型仓库中机器学习模型和所述预测仓库中预测模块的功能;
其中,所述预测模块被配置为具有鉴权功能和防调试功能,所述处理引擎用于将存在元数据匹配关系的所述模型仓库中机器学习模型和所述预测仓库中预测模块进行组装,并且还用于在组装完成后生成预测服务;
该系统还包括:插件仓库;插件仓库包括预处理器,预处理器支持对模型的输入参数进行自定义并完成预处理,例如图片压缩、裁剪等;
预测仓库中的预测模块可以对应机器学习模型进行更新或删除,也可以按照实施例1方式增加新的预测模块;
模型仓库中的机器学习模型可以被更新或删除,也可以按照实施例2方式增加新的机器学习模型;
该系统还进一步包括:生产环境仓库;生产环境仓库包括用于支持预测服务执行的生产环境,生产环境例如云服务器环境和容器环境等;
所述处理引擎还用于将选定的当前预测服务和支持当前预测服务运行的生产环境组装生成部署镜像,该部署镜像可以在系统环境或容器环境内安装或恢复,可以显著增加部署速度,也相对使用者选择情况进行了简化部署流程;
所述预测模块通过鉴权软件开发工具包实现鉴权功能;鉴权软件开发工具包让预测服务具备运行权限控制的能力,支持有效期、产品、资源数(实例/每秒查询率)等多维度的控制,可以与在线或离线鉴权服务进行连接;
如图5,在专属云场景中,使用在线鉴权模式,预测服务通过鉴权软件开发工具包请求公有云上的在线鉴权服务,并对应授权响应选择地进行有效期、产品、资源数等维度的权限控制;
如图6,在私有云场景中,使用离线鉴权模式,预测服务通过鉴权软件开发工具包请求私有云上的离线鉴权服务,并对应授权响应选择地进行有效期、产品、资源数等维度的权限控制;
所述预测模块通过防调试软件开发工具包实现防调试功能;防调试软件开发工具包让预测服务具备防内存备份文件dump分析、防跟踪调试等能力,提升预测服务安全性;
预测服务通过编码集成鉴权软件开发工具包和防调试软件开发工具包,让预测服务具备权限控制和防调试攻击的安全能力;预测服务是预先通过混淆编译获得,提升了抗反编译安全能力;对可执行程序等ELF文件进行加壳加固,提升了抗反汇编分析或者抗动态分析的安全能力;
如图4,模型仓库中的机器学习模型均被预加密,使用时直接下载加密后的文件,处理引擎驱动预测服务运行时,加载加密后的模型文件,并在内存中进行解密,防止数据明文暴露,提升了模型文件的安全性;
预测模块包括预测组件和调用组件;预测组件在预测模块中所形成的服务为通用预测服务;通用预测服务基于PaddlePaddle、Tensorflow等深度学习模型框架API实现模型加载和预测,运行时动态内存中对模型文件进行解密加载,封装了统一的预测接口;调用组件可以根据所用深度学习模型框架的接口配置提供可自定义的入参和出参配置,并进行参数传递和结果格式处理,实现预测服务的通用性,具备适配任意具有应用程序接口的机器学习模型的能力。
以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

Claims (16)

1.一种构建预测模块的方法,其特征在于,该方法包括:
S1)形成与机器学习模型的元数据匹配的预测组件;
S2)获取安全组件和解密组件,再将所述安全组件、所述解密组件和所述预测组件进行集成,获得预测模块,其中,
所述安全组件被集成有鉴权组件,
所述解密组件为与所述机器学习模型预加密匹配的解密组件且用于解密模型文件,
所述预测组件用于与所述机器学习模型进行数据传递,
所述预测模块被集成后有运行时加载预加密的机器学习模型并进行解密的功能,
所述预测模块用于与所述机器学习模型组装生成预测服务,
所述鉴权组件的功能用于提供所述预测服务中的鉴权功能;
步骤S1)中的预测组件具有调用组件和执行组件,
所述调用组件的功能用于提供所述预测服务中的调用功能,
所述执行组件的功能用于提供所述预测服务中的执行功能;其中,
所述执行组件的功能包括:请求功能和接收功能;
所述请求功能为通过所述调用组件的功能发送用于所述机器学习模型输入的数据至所述机器学习模型进行计算;
所述接收功能为通过所述调用组件的功能接收由所述机器学习模型计算的输出数据;
所述调用组件的功能包括封装功能和解封装功能;
所述封装功能为将用于所述机器学习模型输入的数据的格式封装为具有预测接口配置的数据的格式;
所述解封装功能为解封装由所述机器学习模型计算的输出数据;
该方法还包括:
在生产环境中激活所述预测服务后,获取与所述预测服务中鉴权功能对应的授权状态,以及
在所述授权状态符合预设鉴权条件时,将所述预测服务的机器学习模型在所述生产环境中解密,
再获取输入数据,通过所述执行功能和所述调用功能将所述输入数据传递至所述机器学习模型中进行计算,
然后通过所述执行功能和所述调用功能获得由所述机器学习模型对应所述输入数据计算的输出数据和/或输出状态。
2.根据权利要求1所述的构建预测模块的方法,其特征在于,步骤S2)中获取安全组件,包括:
选定并配置鉴权组件和防调试组件,再将所述鉴权组件和所述防调试组件集成为安全组件。
3.根据权利要求1所述的构建预测模块的方法,其特征在于,步骤S2)在将所述安全组件和所述预测组件进行集成之后,且在获得预测模块之前,还包括:
获得集成组件,然后对所述集成组件执行混淆编译,在混淆编译完成后获得执行文件,再对所述执行文件进行加壳。
4.根据权利要求1所述的构建预测模块的方法,其特征在于,步骤S2)中将所述安全组件和所述预测组件进行集成,获得预测模块,包括:
设置执行规则,将所述安全组件和所述预测组件结合所述执行规则进行集成,获得预测模块;其中,
所述预测模块被配置为:根据与所述安全组件对应的功能的执行结果,结合所述执行规则,选择性地执行与所述预测组件对应的功能。
5.一种自动生成预测服务的方法,其中预测模块是权利要求1至4中任意一项所述的构建预测模块的方法中获得的预测模块,其特征在于,该自动生成预测服务的方法包括:
S1)选定机器学习模型,并获取所述机器学习模型的接口配置;
S2)根据所述机器学习模型的元数据,选定与所述机器学习模型适配的预测模块,再结合所述接口配置更新所述预测模块,将所述机器学习模型和所述预测模块进行组装,生成预测服务,其中,
所述预测模块被配置为具有鉴权功能,
所述机器学习模型为被预加密的机器学习模型,
所述预测服务具有与所述机器学习模型的预加密匹配的解密功能且用于与模型文件解密后的机器学习模型进行数据传递;
该自动生成预测服务的方法还包括:
在生产环境中激活所述预测服务后,获取与所述预测服务中鉴权功能对应的授权状态,以及
在所述授权状态符合预设鉴权条件时,将所述预测服务的机器学习模型在所述生产环境中解密,
再获取输入数据,通过所述执行功能和所述调用功能将所述输入数据传递至所述机器学习模型中进行计算,
然后通过所述执行功能和所述调用功能获得由所述机器学习模型对应所述输入数据计算的输出数据和/或输出状态。
6.根据权利要求5所述的自动生成预测服务的方法,其特征在于,步骤S1)包括:
S101)获取具有不同类元数据的待训练机器学习模型,对每个待训练机器学习模型进行训练,再定义每个待训练机器学习模型的接口配置,在训练完成后获得预训练机器学习模型集合,并将所述预训练机器学习模型集合存储于模型仓库;
S102)从所述模型仓库中选定机器学习模型,并获取所述机器学习模型的接口配置。
7.根据权利要求6所述的自动生成预测服务的方法,其特征在于,步骤S101)在获取具有不同类元数据的待训练机器学习模型之后,且在定义所述待训练机器学习模型的接口配置之前,还包括:
对应每个待训练机器学习模型配置预处理器;其中,
所述预处理器被配置为:根据第一预设规则,选择性地将用于所述待训练机器学习模型输入的数据进行更改,在更改完成后获得符合所述待训练机器学习模型的输入数据要求的数据。
8.根据权利要求6所述的自动生成预测服务的方法,其特征在于,步骤S101)中将所述预训练机器学习模型集合存储于模型仓库,包括:
将所述预训练机器学习模型集合中每个预训练机器学习模型进行预加密,在预加密完成后获得具有预加密的预训练机器学习模型集合,将具有预加密的预训练机器学习模型集合存储于模型仓库。
9.根据权利要求6所述的自动生成预测服务的方法,其特征在于,步骤S102)还包括:
根据所述机器学习模型选定预处理器;其中,
所述预处理器被配置为:根据第二预设规则,选择性地将用于所述机器学习模型输入的数据进行更改,在更改完成后获得符合所述机器学习模型的输入数据要求的数据。
10.根据权利要求6所述的自动生成预测服务的方法,其特征在于,步骤S2)在结合所述接口配置更新所述预测模块之前,包括:
S201)对应所述待训练机器学习模型或者所述预训练机器学习模型集合中的预训练机器学习模型构建预测模块,并存储所有预测模块于预测仓库;
S202)根据所述机器学习模型的元数据,从所述预测仓库选定与所述机器学习模型适配的预测模块。
11.根据权利要求10所述的自动生成预测服务的方法,其特征在于,步骤S201)中构建预测模块,包括:
通过鉴权组件和防调试组件构建预测模块。
12.根据权利要求5所述的自动生成预测服务的方法,其特征在于,步骤S2)中将所述机器学习模型和所述预测模块进行组装,生成预测服务,包括:
将所述机器学习模型和所述预测模块进行组装,生成预测服务的部署件,安装所述部署件于生产环境内,生成所述预测服务在所述生产环境内的执行体。
13.一种使用预测服务的方法,其中预测服务是通过权利要求5至12中任意一项所述的自动生成预测服务的方法得到的预测服务,其特征在于,该使用预测服务的方法包括:
获取与所述预测服务中防调试功能对应的调试状态,并根据所述调试状态和预设调试条件的关系,选择性地激活所述预测服务中预设保护功能。
14.一种自动生成预测服务的系统,其中预测模块是权利要求1至4中任意一项所述的构建预测模块的方法中获得的预测模块,其特征在于,该系统包括:
模型仓库,包括至少一个机器学习模型;
预测仓库,包括至少一个与所述模型仓库中机器学习模型的元数据匹配的预测模块;
处理引擎,被配置为具有组装所述模型仓库中机器学习模型和所述预测仓库中预测模块的功能;
其中,所述预测模块被配置为具有鉴权功能和防调试功能,所述处理引擎用于将存在元数据匹配关系的所述模型仓库中机器学习模型和所述预测仓库中预测模块进行组装,并且还用于在组装完成后生成预测服务,其中,
所述机器学习模型为被预加密的机器学习模型,
所述预测服务具有与所述机器学习模型的预加密匹配的解密功能且用于与模型文件解密后的机器学习模型进行数据传递;
其中,在生产环境中激活所述预测服务后,获取与所述预测服务中鉴权功能对应的授权状态,
在所述授权状态符合预设鉴权条件时,将所述预测服务的机器学习模型在所述生产环境中解密,
再获取输入数据,通过所述执行组件的功能和所述调用组件的功能将所述输入数据传递至所述机器学习模型中进行计算,
然后通过所述执行组件的功能和所述调用组件的功能获得由所述机器学习模型对应所述输入数据计算的输出数据和/或输出状态。
15.一种用于预测服务的设备,其特征在于,包括:
至少一个处理器;
存储器,与所述至少一个处理器连接;
其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现权利要求1至13中任意一项权利要求所述的方法。
16.一种计算机可读存储介质,存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1至13中任意一项权利要求所述的方法。
CN201910592989.2A 2019-07-03 2019-07-03 模型安全交付自动化的系统及其方法 Active CN110414187B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910592989.2A CN110414187B (zh) 2019-07-03 2019-07-03 模型安全交付自动化的系统及其方法
US16/895,350 US20210004696A1 (en) 2019-07-03 2020-06-08 System and method for automatic secure delivery of model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910592989.2A CN110414187B (zh) 2019-07-03 2019-07-03 模型安全交付自动化的系统及其方法

Publications (2)

Publication Number Publication Date
CN110414187A CN110414187A (zh) 2019-11-05
CN110414187B true CN110414187B (zh) 2021-09-17

Family

ID=68360135

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910592989.2A Active CN110414187B (zh) 2019-07-03 2019-07-03 模型安全交付自动化的系统及其方法

Country Status (2)

Country Link
US (1) US20210004696A1 (zh)
CN (1) CN110414187B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339298B (zh) * 2020-02-25 2024-04-09 北京小米松果电子有限公司 一种分类预测方法、装置及存储介质
WO2021184345A1 (zh) * 2020-03-20 2021-09-23 云图技术有限公司 隐私机器学习实现方法、装置、设备及存储介质
CN112130935B (zh) * 2020-09-19 2023-12-26 北京智能工场科技有限公司 基于接口描述语言的api聚合和数据处理方法与系统
EP4016295A1 (en) * 2020-12-15 2022-06-22 Aptiv Technologies Limited Managing a machine learning environment
CN112507102B (zh) * 2020-12-18 2022-04-29 北京百度网讯科技有限公司 基于预训练范式模型的预测部署系统、方法、装置及介质
CN112527321B (zh) * 2020-12-29 2022-05-27 平安银行股份有限公司 基于深度学习的应用上线方法、系统、设备及介质
CN113033828B (zh) * 2021-04-29 2022-03-22 江苏超流信息技术有限公司 模型训练方法、使用方法、系统、可信节点及设备
CN115081787A (zh) * 2022-03-10 2022-09-20 上海数中科技有限公司 一种模型管理方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909529A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 一种机器学习工具中间件及机器学习训练方法
CN107885762A (zh) * 2017-09-19 2018-04-06 北京百度网讯科技有限公司 智能大数据系统、提供智能大数据服务的方法和设备
CN109034394A (zh) * 2018-07-02 2018-12-18 第四范式(北京)技术有限公司 一种机器学习模型的更新方法和装置
CN109146081A (zh) * 2017-06-27 2019-01-04 阿里巴巴集团控股有限公司 一种用于机器学习平台中快速创建模型项目的方法及装置
CN109460673A (zh) * 2018-10-22 2019-03-12 南瑞集团有限公司 基于强制访问控制保护移动终端敏感数据的方法及系统
CN109615081A (zh) * 2018-09-26 2019-04-12 阿里巴巴集团控股有限公司 一种模型预测系统及方法
CN109754090A (zh) * 2018-12-27 2019-05-14 第四范式(北京)技术有限公司 支持执行多机器学习模型预测服务的分布式系统及方法
CN109886408A (zh) * 2019-02-28 2019-06-14 北京百度网讯科技有限公司 一种深度学习方法及装置
CN109936582A (zh) * 2019-04-24 2019-06-25 第四范式(北京)技术有限公司 构建基于pu学习的恶意流量检测模型的方法及装置
CN109960509A (zh) * 2019-03-06 2019-07-02 江苏通付盾信息安全技术有限公司 应用加固的方法、装置、计算设备及计算机存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9576246B2 (en) * 2012-10-05 2017-02-21 BigML, Inc. Predictive modeling and data analysis in a secure shared system
US10769549B2 (en) * 2016-11-21 2020-09-08 Google Llc Management and evaluation of machine-learned models based on locally logged data
US20190115028A1 (en) * 2017-08-02 2019-04-18 Veritone, Inc. Methods and systems for optimizing engine selection
US11403006B2 (en) * 2017-09-29 2022-08-02 Coupa Software Incorporated Configurable machine learning systems through graphical user interfaces
JP7386706B2 (ja) * 2018-06-08 2023-11-27 シャンハイ カンブリコン インフォメーション テクノロジー カンパニー リミテッド 汎用機械学習モデル、モデルファイルの生成および解析方法
US20190050564A1 (en) * 2018-07-12 2019-02-14 Intel Corporation Protection for inference engine against model retrieval attack
WO2020151964A1 (en) * 2019-01-23 2020-07-30 Koninklijke Philips N.V. Machine learning model validation and authentication

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106909529A (zh) * 2015-12-22 2017-06-30 阿里巴巴集团控股有限公司 一种机器学习工具中间件及机器学习训练方法
CN109146081A (zh) * 2017-06-27 2019-01-04 阿里巴巴集团控股有限公司 一种用于机器学习平台中快速创建模型项目的方法及装置
CN107885762A (zh) * 2017-09-19 2018-04-06 北京百度网讯科技有限公司 智能大数据系统、提供智能大数据服务的方法和设备
CN109034394A (zh) * 2018-07-02 2018-12-18 第四范式(北京)技术有限公司 一种机器学习模型的更新方法和装置
CN109615081A (zh) * 2018-09-26 2019-04-12 阿里巴巴集团控股有限公司 一种模型预测系统及方法
CN109460673A (zh) * 2018-10-22 2019-03-12 南瑞集团有限公司 基于强制访问控制保护移动终端敏感数据的方法及系统
CN109754090A (zh) * 2018-12-27 2019-05-14 第四范式(北京)技术有限公司 支持执行多机器学习模型预测服务的分布式系统及方法
CN109886408A (zh) * 2019-02-28 2019-06-14 北京百度网讯科技有限公司 一种深度学习方法及装置
CN109960509A (zh) * 2019-03-06 2019-07-02 江苏通付盾信息安全技术有限公司 应用加固的方法、装置、计算设备及计算机存储介质
CN109936582A (zh) * 2019-04-24 2019-06-25 第四范式(北京)技术有限公司 构建基于pu学习的恶意流量检测模型的方法及装置

Also Published As

Publication number Publication date
US20210004696A1 (en) 2021-01-07
CN110414187A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110414187B (zh) 模型安全交付自动化的系统及其方法
US11902413B2 (en) Secure machine learning analytics using homomorphic encryption
CN111191286B (zh) Hyperledger Fabric区块链隐私数据存储与访问系统及其方法
CN111543032B (zh) 用于控制和/或监控装置的方法和控制系统
CN109067528B (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN109586963B (zh) 一种云仿真平台安全保障系统、服务器、终端以及方法
CN1960363B (zh) 一种利用网络实现信息安全设备远程更新的方法
US7970133B2 (en) System and method for secure and flexible key schedule generation
CN111492355B (zh) 用于控制和/或监控装置的方法和控制系统
CN106304040A (zh) 管理移动应用的方法、装置
US8661419B2 (en) Method, system and simulation analysis model for data processing
CN108898008B (zh) 应用程序的运行方法和装置
CN112313908B (zh) 用于控制和/或监控装置的方法和控制系统
CN109787768B (zh) 一种身份验证配置方法、装置及计算机可读存储介质
CN108111622A (zh) 一种下载白盒库文件的方法、装置及系统
CN107918564A (zh) 数据传输异常处理方法、装置、电子设备及存储介质
EP2517140B1 (en) Securing execution of computational resources
KR101979320B1 (ko) 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법
CN115941279A (zh) 数据中用户标识的加解密方法、系统及设备
CN111399867A (zh) 一种软件升级方法、装置、设备及计算机可读存储介质
WO2015137978A1 (en) Semantic restriction
CN113420313A (zh) 程序安全运行、加密方法及其装置、设备、介质
JP2019021310A (ja) 実行可能な圧縮ファイルを保護するためのファイル保護方法およびシステム
US20240080192A1 (en) Data processing method, apparatus and system
CN111562916B (zh) 共享算法的方法和装置

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
GR01 Patent grant
GR01 Patent grant