CN113849179A - 一种人工智能模型发布方法及装置 - Google Patents
一种人工智能模型发布方法及装置 Download PDFInfo
- Publication number
- CN113849179A CN113849179A CN202010600144.6A CN202010600144A CN113849179A CN 113849179 A CN113849179 A CN 113849179A CN 202010600144 A CN202010600144 A CN 202010600144A CN 113849179 A CN113849179 A CN 113849179A
- Authority
- CN
- China
- Prior art keywords
- artificial intelligence
- intelligence model
- key
- model
- encrypted
- 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.)
- Pending
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 294
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000006243 chemical reaction Methods 0.000 claims abstract description 40
- 238000012549 training Methods 0.000 claims description 62
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 description 47
- 230000006870 function Effects 0.000 description 39
- 238000013135 deep learning Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 12
- 230000018109 developmental process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000013461 design Methods 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 230000003930 cognitive ability Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种人工智能模型发布方法及装置,涉及人工智能领域,能够使人工智能模型的格式适配各种运行模型的硬件。方法包括:获取人工智能模型和格式转换指令,根据格式转换指令将人工智能模型的格式转换为目标格式,发布所述人工智能模型,人工智能模型的格式为目标格式。
Description
技术领域
本申请涉及人工智能(Artificial Intelligence,AI)领域,尤其涉及一种人工智能模型发布方法及装置。
背景技术
人工智能(Artificial Intelligence,AI)是通过机器来模拟人类认识能力的一种科技能力。AI最核心的能力就是根据给定的输入做出判断或预测。AI开发的目的是将隐藏在一大批数据背后的信息集中处理并进行提炼,从而总结得到研究对象的内在规律。AI开发的基本流程通常可以归纳为几个步骤:确定目的、准备数据、训练模型、评估模型和部署模型。
目前,开发者可基于AI开发平台创建和部署模型。AI开发平台具有数据处理、算法开发、模型训练和模型部署等功能。但是,不同的开发者运行模型的硬件不同,AI开发平台提供的模型的格式无法适配所有的开发者的运行硬件,即开发者的硬件可能无法运行AI开发平台提供的模型。
发明内容
本申请提供一种人工智能模型发布方法及装置,能够使人工智能模型的格式适配各种运行模型的硬件。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供了一种人工智能模型发布方法,该方法可应用于服务器,或者该方法可应用于可以支持服务器实现该方法的人工智能模型发布装置,例如该人工智能模型发布装置包括芯片系统,方法包括:服务器获取到人工智能模型和格式转换指令后,根据格式转换指令将人工智能模型的格式转换为目标格式,并发布人工智能模型,人工智能模型的格式为目标格式。格式转换指令指示发布人工智能模型的目标格式,其中,格式转换指令包括人工智能模型的名称、人工智能模型的原格式、目标格式和格式转换工具。在一些可能的实现方式中,人工智能模型是服务器训练得到的模型,或者,服务器预先存储的模型、或者服务器接收用户上传的模型。
如此,服务器根据用户的指示转换人工智能模型的格式,使得边缘节点能够运行获取到的人工智能模型,人工智能模型的格式适配运行模型的硬件。无需人工再转换人工智能模型的格式,提高了用户体验。
此后,服务器向至少一个边缘节点推送人工智能模型;或者,向至少一个边缘节点推送加密后的人工智能模型和密文密钥。
可选的,方法还包括:服务器接收到边缘节点的订阅请求后,向至少一个边缘节点推送人工智能模型,或者,向至少一个边缘节点推送加密后的人工智能模型和密文密钥。订阅请求用于指示获取人工智能模型。
可选的,方法还包括:服务器接收管理指令,管理指令指示对人工智能模型进行管理操作。管理指令包括但不限于:创建人工智能模型、删除人工智能模型、修改人工智能模型或查询人工智能模型。
在一种可能的实现方式中,在发布人工智能模型之前,方法还包括:服务器接收到对人工智能模型加密的加密请求后,生成主密钥和明文密钥,并利用主密钥加密明文密钥,得到密文密钥,以及利用明文密钥加密人工智能模型,得到加密后的人工智能模型。进而,服务器发布加密后的人工智能模型和密文密钥,应理解,将加密后的人工智能模型、密文密钥和主密钥存储到存储器中。
在另一种可能的实现方式中,方法还包括:服务器接收到解密请求后,根据人工智能模型的标识获取主密钥,并利用主密钥解密密文密钥,得到明文密钥,反馈明文密钥,使得边缘节点利用明文密钥解密加密后的人工智能模型。解密请求包括人工智能模型的标识和密文密钥;
在另一种可能的实现方式中,发布人工智能模型,包括:服务器发布人工智能模型和镜像,或者,发布加密后的人工智能模型和镜像。镜像为运行人工智能模型的环境文件。
第二方面,本申请提供了一种运行人工智能模型的方法,该方法可应用于边缘节点,或者该方法可应用于可以支持边缘节点实现该方法的运行人工智能模型的装置,例如该运行人工智能模型的装置包括芯片系统,方法包括:边缘节点接收加密后的人工智能模型和密文密钥后,边缘节点发送解密请求来得到明文密钥,利用明文密钥解密加密后的人工智能模型,得到人工智能模型并运行人工智能模型。密文密钥是根据主密钥加密明文密钥得到的。解密请求包括人工智能模型的标识和密文密钥。
在一种可能的实现方式中,方法还包括:边缘节点发送订阅请求,来获取加密后的人工智能模型和密文密钥,订阅请求用于指示获取人工智能模型。
第三方面,本申请实施例还提供了一种人工智能模型发布装置,有益效果可以参见第一方面的描述此处不再赘述。所述人工智能模型发布装置具有实现上述第一方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,所述人工智能模型发布装置包括:训练单元。训练单元,用于获取人工智能模型和格式转换指令,格式转换指令指示发布人工智能模型的目标格式;训练节点,还用于根据格式转换指令将人工智能模型的格式转换为目标格式;训练单元,还用于发布人工智能模型,人工智能模型的格式为目标格式。这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第四方面,本申请实施例还提供了一种运行人工智能模型的装置,有益效果可以参见第二方面的描述此处不再赘述。所述运行人工智能模型的装置具有实现上述第二方面的方法实例中行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,该运行人工智能模型的装置包括:接收单元、发送单元和处理单元。接收单元,用于接收加密后的人工智能模型和密文密钥,密文密钥是根据主密钥加密明文密钥得到的。发送单元,用于发送解密请求,解密请求包括人工智能模型的标识和密文密钥。接收单元,还用于接收明文密钥。处理单元,用于利用明文密钥解密加密后的人工智能模型,得到人工智能模型并运行人工智能模型。这些模块可以执行上述第二方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
第五方面,提供了一种人工智能模型发布装置,该人工智能模型发布装置可以为上述方法实施例中的服务器,或者为设置在服务器中的芯片。该人工智能模型发布装置包括接口电路以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序或指令,处理器与存储器、接口电路耦合,当处理器执行所述计算机程序或指令时,使人工智能模型发布装置执行上述方法实施例中由服务器所执行的方法。
第六方面,提供了一种运行人工智能模型的装置,该运行人工智能模型的装置可以为上述方法实施例中的边缘节点,或者为设置在边缘节点中的芯片。该运行人工智能模型的装置包括接口电路以及处理器,可选的,还包括存储器。其中,该存储器用于存储计算机程序或指令,处理器与存储器、接口电路耦合,当处理器执行所述计算机程序或指令时,使运行人工智能模型的装置执行上述方法实施例中由边缘节点所执行的方法。
第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码并运行时,使得上述第一方面中由服务器执行的方法被执行。
第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被运行时,使得上述第二方面中由边缘节点执行的方法被执行。
第九方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于实现上述第一方面的方法中服务器的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第十方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于实现上述第二方面的方法中边缘节点的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第十一方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述第一方面中由服务器执行的方法。
第十二方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述第二方面中由边缘节点执行的方法。
本申请中,服务器、边缘节点和装置的名字对设备本身不构成限定,在实际实现中,这些设备可以以其他名称出现。只要各个设备的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
附图说明
图1为本申请一实施例提供的深度学习系统的架构示意图;
图2为本申请一实施例提供的人工智能模型发布方法的流程图;
图3为本申请一实施例提供的格式转换的界面示意图;
图4为本申请一实施例提供的人工智能模型发布方法的流程图;
图5为本申请一实施例提供的人工智能模型发布方法的流程图;
图6为本申请一实施例提供的运行人工智能模型方法的流程图;
图7为本申请一实施例提供的人工智能模型发布装置的结构示意图;
图8为本申请一实施例提供的运行人工智能模型装置的结构示意图;
图9为本申请一实施例提供的服务器的组成示意图;
图10为本申请一实施例提供的边缘节点的组成示意图。
具体实施方式
本申请说明书和权利要求书及上述附图中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
下面将结合附图对本申请实施例的实施方式进行详细描述。
图1是本申请的实施例应用的深度学习系统的架构示意图。如图1所示,深度学习系统100包括训练节点110、模型管理节点120和加解密节点130。
训练节点110的功能包括数据处理、模型开发、模型训练、模型评估、模型管理和模型发布。
数据处理包括数据采集筛选、数据标注和版本管理。在开发人工智能模型前,先准备数据。数据准备主要是指收集和预处理数据的过程,是AI开发的一个基础。按照确定的分析目的,有目的性的收集、整合相关数据。此时,保证获取数据的真实可靠性。而事实上,不能一次性将所有数据都采集全,因此,在数据标注阶段可能会发现还缺少某一部分数据源,反复调整优化。
人工智能模型支持AI场景包括但不限于:计算机视觉、自然语言处理、音视频场景、图像分类、图像检测、产品推荐、异常检测等。支持图片、文本、语音、视频等数据标注任务,如图片分类、对象检测、图片分割、语音分割、文本分类等场景的数据标注任务。支持面向自动驾驶、医疗影像、遥感影像等领域标注的数据处理和预标注。
模型开发俗称“建模”,指通过分析手段、方法和技巧对准备好的数据进行探索分析,从中发现因果关系、内部联系和业务规律。训练模型的结果通常是一个或多个机器学习或深度学习模型,模型可以应用到新的数据中,得到预测、评价等结果。
训练得到人工智能模型之后,整个开发过程还不算结束,需要对人工智能模型进行评估和考察。往往不能一次性获得一个满意的人工智能模型,需要反复的调整算法参数、数据,不断评估训练生成的人工智能模型。一些常用的指标,如准确率、召回率、AUC等,能有效的评估模型,获得一个满意的模型。
还可以在训练节点110中预置模型库。训练节点110对人工智能模型进行管理。训练节点110还可以包括训练生成人工智能模型,即生成人工智能模型的模型。
另外,训练节点110还可以根据用户的指示转换人工智能模型的格式,将转换格式后的人工智能模型发布到模型管理节点120,由模型管理节点120管理人工智能模型。
可选的,训练节点110还可以根据用户的指示对人工智能模型加密,将加密后的人工智能模型发布到模型管理节点120,由模型管理节点120管理加密后的人工智能模型。
可选的,训练节点110还可生成人工智能模型的镜像,对人工智能模型和镜像一起加密,将加密后的人工智能模型和镜像发布到模型管理节点120。镜像为运行人工智能模型的环境文件。
模型管理节点120提供模型仓管理功能,包括但不限于:创建人工智能模型、删除人工智能模型、修改人工智能模型或查询人工智能模型,以及人工智能模型的访问权限控制;提供镜像打包、镜像仓管理功能;提供镜像、模型订阅功能,支持边缘节点以及第三方平台从模型管理节点120订阅模型和镜像。
边缘节点可以部署在客户侧机房或者路边杆上。例如,边缘节点可以是一个摄像头。
边缘节点获取到人工智能模型后,加载到边缘侧设备执行推理服务。如果边缘节点获取到的是加密后的人工智能模型,从加解密节点130获取明文密钥,利用明文密钥解密加密后的人工智能模型,得到人工智能模型后,加载到边缘侧设备执行推理服务。将人工智能模型应用到正式的实际数据或新产生数据中,进行预测、评价、或以可视化和报表的形式把数据中的高价值信息以精辟易懂的形式提供给决策人员,帮助其制定更加正确的策略。
加解密节点130提供密钥管理服务和数据加解密服务。加解密节点130利用主密钥加密明文密钥,得到加密密钥,向训练节点110反馈明文密钥和加密密钥。
需要说明的是,可以将训练节点110的功能、模型管理节点120的功能和加解密节点130的功能部署在一台服务器上。或者,将训练节点110的功能、模型管理节点120的功能和加解密节点130的功能部署在一个服务器集群中,服务器集群包括多台服务器,训练节点110的功能、模型管理节点120的功能和加解密节点130的功能由不同的服务器实现。例如,加解密节点130可部署在客户机房,也可部署在云上。模型管理节点120可部署在客户机房,也可部署在云上。
用户可以利用终端设备访问深度学习系统100,控制深度学习系统100发布模型,并将人工智能模型推送到至少一个边缘节点。
终端设备也可以称为终端Terminal、用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等。终端设备可以是手机(mobilephone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(Augmented Reality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。本申请的实施例对终端设备所采用的具体技术和具体设备形态不做限定。
可选的,支持深度学习系统100的服务器与边缘节点之间连接至少一个无线接入网设备,深度学习系统100通过无线接入网设备将人工智能模型推送到至少一个边缘节点。
无线接入网设备可以是基站(base station)、演进型基站(evolved NodeB,eNodeB)、发送接收点(transmission reception point,TRP)、5G移动通信系统中的下一代基站(next generation NodeB,gNB)、未来移动通信系统中的基站或WiFi系统中的接入节点等;也可以是完成基站部分功能的模块或单元,例如,可以是集中式单元(central unit,CU),也可以是分布式单元(distributed unit,DU)。本申请的实施例对无线接入网设备所采用的具体技术和具体设备形态不做限定。在本申请中,无线接入网设备简称网络设备,如果无特殊说明,网络设备均指无线接入网设备。
本申请的实施例应用的深度学习系统100主要应用于用户需要保护人工智能模型、适配边缘侧不同推理硬件以及边缘协同场景。例如,深度学习系统100满足以下各种场景的要求。
场景一:训练节点110和模型管理节点120由独立软件开发商(IndependentSoftware Vendors,ISV)算法厂商提供。边缘节点和智能小站部署在客户侧或者路边杆上。确保人工智能模型在边缘节点和智能小站的存储和传输安全。要支持中心边缘协同,实时算法更新。适配边缘侧不同硬件设备。数据加解密服务可部署在本地也可部署在云端。
场景二:训练节点110由ISV算法厂商提供。模型管理节点120由云服务供应商提供。边缘节点和智能小站部署在客户侧或者路边杆上。确保人工智能模型在云服务节点、边缘节点、智能小站上存储和传输安全。支持中心边缘协同,实时算法更新。适配边缘侧不同硬件设备。支持训练节点110和模型管理节点120解耦部署。数据加解密服务可部署在本地也可部署在云端。
接下来,对人工智能模型发布方法进行详细阐述。图2为本申请实施例提供的一种人工智能模型发布方法的流程图。如图2所示,该方法可以包括以下步骤。
S201、训练节点110获取人工智能模型和格式转换指令。
人工智能模型可以是训练节点110根据用户的要求训练得到的模型。或者,人工智能模型是训练节点110预先存储的模型。再或者,人工智能模型可以是训练节点110接收到的用户上传的已训练好的模型。
用户通过终端设备访问深度学习系统100,向支持运行深度学习系统100的服务器发送格式转换指令,指示发布目标格式的人工智能模型。格式转换指令包括人工智能模型的名称、人工智能模型的原格式、目标格式和格式转换工具。
示例的,如图3所示,为格式转换的界面示意图。用户通过模型框架选项框中选择原格式。原格式可以是caffe/tensorflow/mxnet/mindspore/pytorch/onnx。用户通过模型文件选项框中选择要转换格式的人工智能模型。用户通过权重文件选项框中选择权重文件。用户通过输入维度选项框中选择人工智能模型的输入数据的维度,例如NCHW,其中,N表示数量,C表示通道,H表示高度,W表示宽度。
用户通过发布模型框架选项框中选择目标格式。目标格式可以是caffe/tensorflow/mxnet/mindspore/pytorch/onnx。
用户通过发布转换工具选项框中选择转换工具。转换工具可以是开放神经网络交换(Open Neural Network Exchange,ONNX)等转换工具。ONNX是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移。
用户通过发布模型名称选项框中填写将发布的人工智能模型的名称。
用户通过发布模型版本选项框中填写将发布的人工智能模型的版本。
用户通过描述选项框中填写将发布的人工智能模型的其他信息。
S202、训练节点110根据格式转换指令将人工智能模型的格式转换为目标格式。
训练节点110接收到格式转换指令后,将人工智能模型的格式转换为目标格式。人工智能模型的格式为目标格式。
S203、训练节点110发布人工智能模型。
训练节点110向模型管理节点120发布格式转换后的人工智能模型。可选的,模型管理节点120包括多个模型仓。训练节点110将人工智能模型发布到多个模型仓。
在一些实施例中,训练节点110将单个人工智能模型或多个人工智能模型发布到单个或多个模型仓中。系统支持模型仓的状态监测。另外可以针对特定模型仓进行已发布的人工智能模型管理功能。
在另一些实施例中,训练节点110还可以将人工智能模型的镜像发布到多个镜像仓。像为运行人工智能模型的环境文件。
训练节点110还可以接收管理指令,管理指令指示对人工智能模型和镜像进行管理操作。训练节点110可以通过restful/https接口访问模型管理节点120,对人工智能模型和镜像进行管理操作。管理指令包括但不限于:创建人工智能模型和镜像,删除人工智能模型和镜像,修改人工智能模型和镜像,查询人工智能模型和镜像的属性,针对不同用户、用户群组或角色,分配模型仓和镜像仓的访问权限。
S204、模型管理节点120向至少一个边缘节点推送人工智能模型。
模型管理节点120向用户指示的至少一个边缘节点推送人工智能模型,以便于边缘节点推理人工智能模型,避免用户手动转换人工智能模型的格式,向至少一个边缘节点配置人工智能模型,提高了部署人工智能模型的效率。
模型管理节点120提供restful/https接口使边缘节点调用。边缘节点通过restful/https接口查询模型仓或镜像仓、订阅人工智能模型和镜像、管理订阅策略和接收人工智能模型更新通知。
在另一些实施例中,模型管理节点120可以根据订阅请求向至少一个边缘节点推送人工智能模型。如图4所示,该方法还包括以下步骤。
S401、模型管理节点120接收来自边缘节点的订阅请求,订阅请求用于指示获取人工智能模型。
在一些可能的实现方式中,在发布人工智能模型之前,还可以对人工智能模型加密。如图5所示,该方法还包括以下步骤。
S501、训练节点110接收加密请求,加密请求用于指示对人工智能模型加密。
用户通过终端设备访问深度学习系统100,发送加密请求。训练节点110接收来自用户的加密请求。
S502、训练节点110向加解密节点130发送加密请求。
加密请求包括人工智能模型的标识。人工智能模型的标识可以是人工智能模型的名称。
S503、加解密节点130生成主密钥和明文密钥,并利用主密钥加密明文密钥,得到密文密钥。
加解密节点130保存人工智能模型的标识与主密钥的对应关系,以便于边缘节点获取明文密钥。人工智能模型的标识与主密钥的对应关系可以以表格的形式呈现,即表1呈现了人工智能模型的标识与主密钥的对应关系。
表1
人工智能模型的标识 | 主密钥 |
1 | CK1 |
2 | CK2 |
3 | CK3 |
需要说明的是,表1只是以表格的形式示意人工智能模型的标识与主密钥的对应关系在存储设备中的存储形式,并不是对人工智能模型的标识与主密钥的对应关系在存储设备中的存储形式的限定,当然,人工智能模型的标识与主密钥的对应关系在存储设备中的存储形式还可以以其他的形式存储,本申请实施例对此不做限定。
S504、加解密节点130向训练节点110发送明文密钥和密文密钥。
S505、训练节点110利用明文密钥加密人工智能模型,得到加密后的人工智能模型。
S506、训练节点110发布加密后的人工智能模型和密文密钥。
训练节点110向模型管理节点120发布加密后的人工智能模型和密文密钥。
S507、模型管理节点120向至少一个边缘节点推送加密后的人工智能模型和密文密钥。
可选的,模型管理节点120接收来自边缘节点的订阅请求后,向至少一个边缘节点推送加密后的人工智能模型和密文密钥。
图6为本申请实施例提供的一种运行人工智能模型的方法的流程图。如图6所示,该方法可以包括以下步骤。
S601、边缘节点接收加密后的人工智能模型和密文密钥。
密文密钥是根据主密钥加密明文密钥得到的;
S602、边缘节点向加解密节点130发送解密请求,解密请求包括人工智能模型的标识和密文密钥。
S603、加解密节点130接收解密请求。
S604、加解密节点130根据人工智能模型的标识获取主密钥,并利用主密钥解密密文密钥,得到明文密钥。
S605、加解密节点130向边缘节点反馈明文密钥。
S606、边缘节点接收明文密钥。
S607、边缘节点利用明文密钥解密加密后的人工智能模型,得到人工智能模型并运行人工智能模型。
从而,边缘节点加载运行、推理人工智能模型。
本申请实施例提供的模型格式转换、模型加密场景对转换工具或加密算法采用泛化技术,用户可以根据需要选择适合自己的方案。
本申请提供的深度学习系统支持模型开发、数据集管理、模型训练、模型验证、模型转换、模型加密和模型发布推送一站式管理,包括:模型训练完短信或email通知服务;导入训练完的模型,进行模型验证、模型转换、模型推送;支持模型格式转换后人工智能模型发布、模型格式转换并加密后人工智能模型发布、不转换不加密人工智能模型发布。
可以理解的是,为了实现上述实施例中功能,网络设备和终端设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
图7为本申请的实施例提供的可能的人工智能模型发布装置的结构示意图。这些人工智能模型发布装置可以用于实现上述方法实施例中深度学习系统100的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请的实施例中,该人工智能模型发布装置可以是服务器还可以是应用于服务器的模块(如芯片)。
如图7所示,人工智能模型发布装置700包括训练单元710、模型管理单元720和加解密单元730。人工智能模型发布装置700用于实现上述图2、图4、图5、或图6中所示的方法实施例中训练节点110、模型管理节点120和加解密节点130的功能。
当人工智能模型发布装置700用于实现图2所示的方法实施例中各节点的功能时:训单元710用于执行S201至S203;模型管理单元720用于执行S204。
当人工智能模型发布装置700用于实现图4所示的方法实施例中各节点的功能时:训练单元710用于执行S201至S203;模型管理单元720用于执行S204和S401。
当人工智能模型发布装置700用于实现图5所示的方法实施例中各节点的功能时:训练单元710用于执行S201、S202、S501、S502、S505和S506;模型管理单元720用于执行S507和S401;加解密单元730用于执行S503和S504。
当人工智能模型发布装置700用于实现图6所示的方法实施例中加解密节点130的功能时:加解密单元730用于执行S603至S605。
有关上述训练单元710、模型管理单元720和加解密单元730更详细的描述可以直接参考图2、图4、图5、或图6所示的方法实施例中相关描述直接得到,这里不加赘述。
图8为本申请的实施例提供的可能的运行人工智能模型的装置的结构示意图。这些运行人工智能模型的装置可以用于实现上述方法实施例中边缘节点的功能,因此也能实现上述方法实施例所具备的有益效果。在本申请的实施例中,该运行人工智能模型的装置可以是边缘节点还可以是应用于边缘节点的模块(如芯片)。
如图8所示,运行人工智能模型的装置800包括接收单元810、发送单元820和处理单元830。运行人工智能模型的装置800用于实现上述图6中所示的方法实施例中边缘节点的功能。
当运行人工智能模型的装置800用于实现图6所示的方法实施例中边缘节点的功能时:接收单元810用于执行S601和S606;发送单元820用于执行S602,处理单元830用于执行S607。
有关上述接收单元810、发送单元820和处理单元830更详细的描述可以直接参考图6所示的方法实施例中相关描述直接得到,这里不加赘述。
如图9所示,服务器900包括处理器910和接口电路920。处理器910和接口电路920之间相互耦合。可以理解的是,接口电路920可以为收发器或输入输出接口。可选的,服务器900还可以包括存储器930,用于存储处理器910执行的指令或存储处理器910运行指令所需要的输入数据或存储处理器910运行指令后产生的数据。
当服务器900用于实现图2、图4、图5、或图6所示的方法时,处理器910用于执行将人工智能模型的格式转换为目标格式的功能,以及对人工智能模型进行加密或解密功能。接口电路920用于执行上述发布或推送人工智能模型的功能。
如图10所示,边缘节点1000包括处理器1010和接口电路1020。处理器1010和接口电路1020之间相互耦合。可以理解的是,接口电路1020可以为收发器或输入输出接口。可选的,边缘节点1000还可以包括存储器1030,用于存储处理器1010执行的指令或存储处理器1010运行指令所需要的输入数据或存储处理器1010运行指令后产生的数据。
当边缘节点1000用于实现图6所示的方法时,处理器1010用于利用明文密钥解密加密后的人工智能模型,得到人工智能模型。接口电路1020用于接收加密后的人工智能模型和密文密钥、发送解密请求和接收明文密钥。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(CentralProcessing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于网络设备或终端设备中。当然,处理器和存储介质也可以作为分立组件存在于网络设备或终端设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
Claims (24)
1.一种人工智能模型发布方法,其特征在于,包括:
获取人工智能模型和格式转换指令,所述格式转换指令指示发布所述人工智能模型的目标格式;
根据所述格式转换指令将所述人工智能模型的格式转换为所述目标格式;
发布所述人工智能模型,所述人工智能模型的格式为所述目标格式。
2.根据权利要求1所述的方法,其特征在于,所述格式转换指令包括所述人工智能模型的名称、所述人工智能模型的原格式、所述目标格式和格式转换工具。
3.根据权利要求1或2所述的方法,其特征在于,在发布所述人工智能模型之前,所述方法还包括:
接收加密请求,所述加密请求用于指示对所述人工智能模型加密;
生成主密钥和明文密钥,并利用所述主密钥加密所述明文密钥,得到密文密钥;
利用所述明文密钥加密所述人工智能模型,得到加密后的所述人工智能模型;
所述发布所述人工智能模型,包括:
发布加密后的所述人工智能模型和所述密文密钥。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收解密请求,所述解密请求包括所述人工智能模型的标识和所述密文密钥;
根据所述人工智能模型的标识获取所述主密钥,并利用所述主密钥解密所述密文密钥,得到所述明文密钥;
反馈所述明文密钥。
5.根据权利要求3所述的方法,其特征在于,所述发布所述人工智能模型,包括:
发布所述人工智能模型和镜像,所述镜像为运行所述人工智能模型的环境文件;
或者,发布加密后的所述人工智能模型和镜像。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向至少一个边缘节点推送所述人工智能模型;
或者,向至少一个边缘节点推送加密后的所述人工智能模型和密文密钥。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
接收所述边缘节点的订阅请求,所述订阅请求用于指示获取所述人工智能模型。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收管理指令,所述管理指令指示对所述人工智能模型进行管理操作。
9.一种运行人工智能模型的方法,其特征在于,包括:
边缘节点接收加密后的人工智能模型和密文密钥,所述密文密钥是根据主密钥加密明文密钥得到的;
所述边缘节点发送解密请求,所述解密请求包括所述人工智能模型的标识和所述密文密钥;
所述边缘节点接收明文密钥;
所述边缘节点利用所述明文密钥解密加密后的人工智能模型,得到所述人工智能模型并运行所述人工智能模型。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述边缘节点发送订阅请求,所述订阅请求用于指示获取所述人工智能模型。
11.一种人工智能模型发布装置,其特征在于,包括:
训练单元,用于获取人工智能模型和格式转换指令,所述格式转换指令指示发布所述人工智能模型的目标格式;
所述训练单元,还用于根据所述格式转换指令将所述人工智能模型的格式转换为所述目标格式;
所述训练单元,还用于发布所述人工智能模型,所述人工智能模型的格式为所述目标格式。
12.根据权利要求11所述的装置,其特征在于,所述格式转换指令包括所述人工智能模型的名称、所述人工智能模型的原格式、所述目标格式和格式转换工具。
13.根据权利要求11或12所述的装置,其特征在于,所述装置还包括:
所述训练单元,还用于接收加密请求,所述加密请求用于指示对所述人工智能模型加密;
加解密单元,用于生成主密钥和明文密钥,并利用所述主密钥加密所述明文密钥,得到密文密钥;
所述训练单元,还用于利用所述明文密钥加密所述人工智能模型,得到加密后的所述人工智能模型;
所述训练单元,具体用于发布加密后的所述人工智能模型和所述密文密钥。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
所述加解密单元,还用于接收解密请求,所述解密请求包括所述人工智能模型的标识和所述密文密钥;
所述加解密单元,还用于根据所述人工智能模型的标识获取所述主密钥,并利用所述主密钥解密所述密文密钥,得到所述明文密钥;
所述加解密单元,还用于反馈所述明文密钥。
15.根据权利要求13所述的装置,其特征在于,所述训练单元,具体用于:
发布所述人工智能模型和镜像,所述镜像为运行所述人工智能模型的环境文件;
或者,发布加密后的所述人工智能模型和镜像。
16.根据权利要求11所述的装置,其特征在于,所述装置还包括模型管理单元:
所述模型管理单元,用于向至少一个边缘节点推送所述人工智能模型;
或者,向至少一个边缘节点推送加密后的所述人工智能模型和密文密钥。
17.根据权利要求16所述的装置,其特征在于,
所述模型管理单元,还用于接收所述边缘节点的订阅请求,所述订阅请求用于指示获取所述人工智能模型。
18.根据权利要求11所述的装置,其特征在于,
所述训练单元,还用于接收管理指令,所述管理指令指示对所述人工智能模型进行管理操作。
19.一种运行人工智能模型的装置,其特征在于,包括:
接收单元,用于接收加密后的人工智能模型和密文密钥,所述密文密钥是根据主密钥加密明文密钥得到的;
发送单元,用于发送解密请求,所述解密请求包括所述人工智能模型的标识和所述密文密钥;
所述接收单元,还用于接收明文密钥;
处理单元,用于利用所述明文密钥解密加密后的人工智能模型,得到所述人工智能模型并运行所述人工智能模型。
20.根据权利要求19所述的装置,其特征在于,所述装置还包括:
所述发送单元,还用于发送订阅请求,所述订阅请求用于指示获取所述人工智能模型。
21.一种服务器,其特征在于,包括:至少一个处理器和存储器,其中,所述存储器用于存储计算机程序,使得所述计算机程序被所述至少一个处理器执行时实现如权利要求1-8中任一项所述的人工智能模型发布方法。
22.一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
当所述计算机软件指令在人工智能模型发布装置或内置在人工智能模型发布装置的芯片中运行时,使得所述人工智能模型发布装置执行如权利要求1-8中任一项所述的人工智能模型发布方法。
23.一种边缘节点,其特征在于,包括:至少一个处理器和存储器,其中,所述存储器用于存储计算机程序,使得所述计算机程序被所述至少一个处理器执行时实现如权利要求9-10中任一项所述的运行人工智能模型的方法。
24.一种计算机可读存储介质,其特征在于,包括:计算机软件指令;
当所述计算机软件指令在运行人工智能模型的装置或内置在运行人工智能模型的装置的芯片中运行时,使得所述运行人工智能模型的装置执行如权利要求9-10中任一项所述的运行人工智能模型的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600144.6A CN113849179A (zh) | 2020-06-28 | 2020-06-28 | 一种人工智能模型发布方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010600144.6A CN113849179A (zh) | 2020-06-28 | 2020-06-28 | 一种人工智能模型发布方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113849179A true CN113849179A (zh) | 2021-12-28 |
Family
ID=78972717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010600144.6A Pending CN113849179A (zh) | 2020-06-28 | 2020-06-28 | 一种人工智能模型发布方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113849179A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780110A (zh) * | 2022-06-21 | 2022-07-22 | 山东极视角科技有限公司 | 一种算法链路的优化方法及优化系统 |
CN115344886A (zh) * | 2022-07-22 | 2022-11-15 | 西安深信科创信息技术有限公司 | 一种模型加密方法、模型解密方法及装置 |
WO2023128654A1 (ko) * | 2021-12-31 | 2023-07-06 | 주식회사 뉴로클 | 타겟 장치를 위한 학습 모델 최적화 방법 및 이를 위한 시스템 |
WO2023125594A1 (zh) * | 2021-12-28 | 2023-07-06 | 维沃移动通信有限公司 | Ai模型传输方法、装置、设备及存储介质 |
-
2020
- 2020-06-28 CN CN202010600144.6A patent/CN113849179A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023125594A1 (zh) * | 2021-12-28 | 2023-07-06 | 维沃移动通信有限公司 | Ai模型传输方法、装置、设备及存储介质 |
WO2023128654A1 (ko) * | 2021-12-31 | 2023-07-06 | 주식회사 뉴로클 | 타겟 장치를 위한 학습 모델 최적화 방법 및 이를 위한 시스템 |
CN114780110A (zh) * | 2022-06-21 | 2022-07-22 | 山东极视角科技有限公司 | 一种算法链路的优化方法及优化系统 |
CN114780110B (zh) * | 2022-06-21 | 2022-09-09 | 山东极视角科技有限公司 | 一种算法链路的优化方法及优化系统 |
CN115344886A (zh) * | 2022-07-22 | 2022-11-15 | 西安深信科创信息技术有限公司 | 一种模型加密方法、模型解密方法及装置 |
CN115344886B (zh) * | 2022-07-22 | 2023-11-24 | 安徽深信科创信息技术有限公司 | 一种模型加密方法、模型解密方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113849179A (zh) | 一种人工智能模型发布方法及装置 | |
US10089106B2 (en) | Communications network, computer architecture, computer-implemented method and computer program product for development and management of femtocell-based applications | |
US11163611B2 (en) | Apparatus and method for providing a virtual device | |
US9774510B2 (en) | Facilitating collection and display of information related to data usage by a plurality of mobile devices | |
US20170359315A1 (en) | Information processing apparatus and information processing method | |
US20090037430A1 (en) | Unwired enterprise platform | |
CN110598110B (zh) | 业务推送方法和装置 | |
KR20220088740A (ko) | 체크인 및 동기화 프로세스를 갖는 동의 관리 시스템 | |
CN104937582A (zh) | 数据同步 | |
CN104185856A (zh) | 信息处理设备、信息处理系统、信息处理方法及程序 | |
CN111340247A (zh) | 纵向联邦学习系统优化方法、设备及可读存储介质 | |
CN108600793B (zh) | 一种分级控制方法及装置 | |
CN109522462B (zh) | 一种基于区块链的云查询方法、装置、设备及存储介质 | |
WO2022155450A1 (en) | Crowdsourcing platform for on-demand media content creation and sharing | |
US20230418847A1 (en) | Methods and Systems for Querying Data Within a Geographical Boundary Using a Query Tool | |
CN112416893A (zh) | 数据共享方法、系统、装置、计算机设备和存储介质 | |
CN111008209A (zh) | 数据的对账方法、装置及系统、存储介质、电子装置 | |
US10958445B1 (en) | Attribution of network events pursuant to configuring mobile communication devices | |
CN112016280B (zh) | 一种文件编辑方法、装置及计算机可读介质 | |
TWM511072U (zh) | 雲端推播服務系統 | |
CN115567596A (zh) | 云服务资源部署方法、装置、设备及存储介质 | |
KR101603531B1 (ko) | 클라우드 컴퓨팅 기반 SaaS 형태의 동영상 서비스 시스템 및 그 방법 | |
CN113132369A (zh) | 一种Android手机密码自动填充方法及装置 | |
CN106250214B (zh) | 资源受限设备上的媒体分析和处理构架 | |
US20130054772A1 (en) | Method and apparatus for content management using network server |
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 |