CN113435605A - 一种基于网络数据池的ai动态注入的控制方法和装置 - Google Patents
一种基于网络数据池的ai动态注入的控制方法和装置 Download PDFInfo
- Publication number
- CN113435605A CN113435605A CN202110709583.5A CN202110709583A CN113435605A CN 113435605 A CN113435605 A CN 113435605A CN 202110709583 A CN202110709583 A CN 202110709583A CN 113435605 A CN113435605 A CN 113435605A
- Authority
- CN
- China
- Prior art keywords
- model
- network
- data
- training
- request
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computational Linguistics (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及网络人工智能技术领域,提供了一种基于网络数据池的AI动态注入的控制方法和装置。其中方法包括对网络AI模型的进行远程注入与上传,并按需动态触发对网络AI模型的训练和/或推理的请求;从所述请求的上下文中获取本次网络AI模型计算和数据收集的实传参数;数据池启动网络AI模型的训练和/或推理的计算过程;获取网络AI模型的训练状态和/或推理结果。本发明在运行期动态注入网络AI模型,让AI模型在近数据侧进行推理与训练的控制方法,可有效提升AI模型在线推理与训练的性能,同时保持网络应用、AI模型和网络数据池三者之间的松耦合和低入侵。
Description
【技术领域】
本发明涉及网络人工智能技术领域,特别是涉及一种基于网络数据池的AI动态注入的控制方法和装置。
【背景技术】
电信网络人工智能应用具有多样化,场景涵盖了网络智能运维的全生命周期,比如:对网络故障的智能分析定位、对网络性能的智能调优、对网络流量的智能预测等等。在一个电信网络智能管控系统中,这些上层的网络应用往往是通过访问管控系统平台层所提供的统一网络数据池来获取数据,以用于应用内部各类AI模型的训练和推理,如:网络拓扑数据、配置数据、业务数据、运行数据(告警、性能、状态、事件)、日志数据等,网络数据池负责对这些数据的统一采集和集中存储,并提供统一数据接口供上层各类应用调用。
然而,当网络大数据集约化和平台化后,应用层各AI模型如何基于统一的网络数据池进行高效在线训练和推理,是需要解决的关键问题之一。
一方面网络AI训练和推理需要数据量较大,频繁透过数据池RPC接口进行数据传递,有时甚至还需要穿透API网关和防火墙等,这无疑会较大地影响AI性能,尤其线上AI分析趋于近实时化而计算资源有限,AI性能问题就更突出。
另一方面网络AI模型与应用场景是强关联的,通常会和具体应用打包一起发布,而AI模型的运行时一般都有特殊的软件框架和运行环境,这需要对应用层逻辑与AI模型的推理与训练进行解耦,同时还需保障AI应用层与网络大数据平台层之间的彼此独立性,以便于各自持续地发展演进。
以上这些问题都是网络人工智能技术真正走向工程实用所需要面对和需解决的。
鉴于此,克服现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明要解决的技术问题是网络人工智能应用层的AI模型如何基于网络管控系统平台层的统一数据池,实现AI模型在线高速再推理与训练,提升数据获取和网络AI模型计算效率、有效提升网络应用的整体性能。同时,在提升应用AI模型性能目标的同时,不能破坏网络大数据平台与AI应用的松耦合性,以免给后续平台与应用的维护与发展演进带来不便。
本发明采用如下技术方案:
第一方面,本发明提供了一种基于网络数据池的AI动态注入的控制方法,网络应用按统一规约进行网络AI模型编码,并按统一规约压缩打包网络AI模型,控制方法包括:
对网络AI模型的进行远程注入与上传,并按需动态触发对网络AI模型的训练和/或推理的请求;
从所述请求的上下文中获取本次网络AI模型计算和数据收集的实传参数;数据池启动网络AI模型的训练和/或推理的计算过程;获取网络AI模型的训练状态和/或推理结果;
其中,在所述动态触发对网络AI模型的训练和/或推理中,为网络AI模型分配一个训练沙箱环境,以便确保各个网络AI模型之间的训练和/或推理的独立性。
优选的,所述为网络AI模型分配一个训练沙箱环境之前,所述方法还包括:
通过对网络AI模型的注入许可、模型代码有效性和安全性中的一项或者多项进行验证;
验证通过时为网络AI模型分配一个训练沙箱环境。
优选的,模型代码有效性验证包括:
验证模型对数据的依赖项是否有效,包括是否存在错误的或不允许访问的数据库表和字段,确保数据池平台的数据安全;
验证模型的运行依赖是否有效,包括数据池为网络AI模型所能提供的当前运行时是否能满足模型运行的要求。
优选的,在网络AI模型每次训练和/或推理计算之前,数据池控制引擎从模型沙箱中获取模型数据收集代码用于完成模型数据收集,其中,所述模型数据收集,具体包括:
数据池控制引擎从其模型沙箱中获取网络AI模型专用的数据账户,用所述数据账户与数据池内网络数据仓库建立数据库连接,并直接执行数据预收集主程序,对网络数据仓库进行数据检索、数据提取和数据预处理操作,获取网络AI模型计算所需的模型数据。
优选的,方法还包括:
以SQL-Client方式访问数据池内的网络数据仓库,完成模型数据的预收集及本地缓存,所缓存的数据供后续网络AI模型的训练和/或推理的使用。
优选的,网络AI模型计算统一被封装成计算任务,以任务队列的方式排队执行,则所述数据池启动网络AI模型的训练和/或推理的计算过程,具体包括:
在执行到任务队列中相应的网络AI模型计算任务时,从模型沙箱中调用相应的网络AI模型的训练和/或推理代码,从本地缓存中加载模型训练和/或推理计算所需的模型输入数据,执行网络AI模型的训练和/或推理代码;
按统一目录输出网络AI模型的计算结果、中间日志和错误信息中的一项或者多项。
优选的,还包括:
任务执行器在网络AI模型计算程序执行过程中,轮询监测网络AI模型计算过程中的结果输出、中间日志和错误信息,并更新计算任务的进展状态信息;
其中,状态信息统一以JSon格式发布到数据池的一个状态输出目录,以供后续应用层通过统一交互接口的请求状态查询指令来查询获取。
优选的,所述请求的上下文包括请求ID、请求发起时间、请求类型、请求参数和相关的网络AI模型名中的一项或者多项,则所述从所述请求的上下文中获取本次网络AI模型计算和数据收集的实传参数,具体包括:
根据所述网络AI模型名,查询并获取相应网络AI模型名和请求类型,确定本次训练和/或推理的请求中所包含的实际的网络AI模型计算和数据收集的实传参数;其中,请求类型包括推理请求和训练请求。
优选的,网络AI模型计算启动程序设置有程序启动参数,其中,程序启动参数按照按键值K/V格式提供;数据预收集主程序定义有一个或者多个形参,具体的:
数据池控制引擎根据本次训练和/或推理请求的请求类型读取对应的模型数据收集主程序,并将主程序中的形参置换为实传参数;其中,所述请求类型包括推理请求和训练请求;
所述实传参数的获取方式为:网络数据池在接收到应用层发出的网络AI模型训练和/或推理的请求后,通过模型Token识别出所述请求所操作的网络AI模型,并从请求上下文中,解析出本次请求所使用的实传参数。
第二方面,本发明还提供了一种基于网络数据池的AI动态注入的控制装置,用于实现第一方面所述的基于网络数据池的AI动态注入的控制方法,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行第一方面所述的基于网络数据池的AI动态注入的控制方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的基于网络数据池的AI动态注入的控制方法。
本发明提出了一种基于网络数据池,在运行期动态注入网络AI模型,让AI模型在近数据侧进行推理与训练的控制方法,可有效提升AI模型在线推理与训练的性能,同时保持网络应用、AI模型和网络数据池三者之间的松耦合和低入侵。
本发明所提出的方法具体还能满足:一方面具备良好的通用性,能够适用于上层众多各式不同场景的网络应用;另一方面在提升AI性能的同时,避免出现网络应用与模型和网络大数据平台层之间出现过耦合、过依赖问题,以有利于各自可持续独立发展演进。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于网络数据池的AI动态注入的控制方法的流程示意图;
图2是本发明实施例提供的一种基于网络数据池的AI动态注入的控制基本原理图;
图3是本发明实施例提供的一种网络应用与网络数据池交互图;
图4是本发明实施例提供的一种网络AI模型沙箱安全控制流程图;
图5是本发明实施例提供的一种网络AI模型数据收集流程图;
图6是本发明实施例提供的一种网络AI模型计算过程控制流程图;
图7是本发明实施例提供的一种基于网络数据池的AI动态注入的控制装置的结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1:
本发明实施例1提供了一种基于网络数据池的AI动态注入的控制方法,网络应用按统一规约(也被描述为交互规约)进行网络AI模型编码,并按统一规约压缩打包网络AI模型,如图1和图2所示,方法包括:
在步骤201中,对网络AI模型的进行远程注入与上传,并按需动态触发对网络AI模型的训练和/或推理的请求处理。
例如:以远程过程调用(Remote Procedure Call,简写为:RPC)的方式,实现网络AI模型的远程注入与上传,并按需动态触发对网络AI模型的推理和/或训练的请求。
其中,动态触发对网络AI模型的推理与训练中,为AI模型分配一个训练沙箱环境,以便确保各个网络AI模型之间的推理与训练的独立性,以及控制网络AI模型之间的推理与训练对数据池平台自身稳定性和性能的影响。
其中,模型沙箱为模型提供了逻辑隔离的存储空间、统一存储结构和统一的数据交换方式,并配有模型运行时所必需的最小数据与资源权限。
网络应用在上线部署前,将离线预训练所得到的网络AI模型及模型代码,按统一结构打包压缩,模型压缩包随应用安装包一同发布。在本发明实施例中,网络应用是一个的应用程序或应用系统,其实现了应用核心的业务逻辑功能。网络应用内部包含一个或多个网络AI模型,这些网络AI模型为应用的部分业务逻辑提供所需的智能分析能力。
在网络应用完成部署上线后,网络应用使用数据池提供的统一接口指令进行网络AI模型的注入申请(AIModel.Register)和模型上传(AIModel.Upload)。
在步骤202中,从所述请求的上下文中获取本次网络AI模型计算和数据收集的实传参数。
为提供不同应用场景的可扩展性和灵活适配能力,网络AI模型的推理程序、训练程序、以及与之相关的模型数据收集程序一般都设有一些变量参数,以便模型上线运行过程中进行动态调整(此时起作用的是模型数据),应用层在每次发送训练与推理请求时,会动态传入这些参数的实际值(即实传参数)。其中,参数主要是用于动态确定每次模型训练或推动的模型数据。
在步骤203中,数据池启动网络AI的模型推理和/或训练的计算过程。
在步骤204中,获取网络AI模型的训练状态和/或推理结果。
本发明实施例提出了一种基于网络数据池,在运行期动态注入网络AI模型,让AI模型在近数据侧进行推理与训练的控制方法,可有效提升AI模型在线推理与训练的性能,同时保持网络应用、AI模型和网络数据池三者之间的松耦合和低入侵。
如图3所示,为本发明实施例所提供的网络AI应用与网络数据池间统一的开发与交互规约示意图;网络AI应用要实现在网络数据池内进行模型的训练和推理,不可避免存在与网络数据池平台的多次交互,为了提升交互效率和技术方法的通用性,减少两者之间的过依赖,本发明通过对网络AI模型的训练与推理过程及交互关系进行了一定程度的抽象,并基于约定优于配置的思想,制定网络AI模型在开发与网络AI模型交互过程中须默认遵循的技术规约,达到简化交互复杂性、提升交互效率的目的。
基于本发明实施例提出的上述网络应用按统一规约进行网络AI模型编码,并按统一规约压缩打包网络AI模型,给予了一套行之有效的实例展示,具体的定义了网络应用与网络数据池之间的三类最基本交互操作规约:网络AI模型的注入与上传操作、网络AI模型在线训练与推理请求操作、AI训练与推理执行状态与结果输出查询操作。在实际应用过程中,可根据需要基于本专利的技术方法和框架进行扩展。
第一类、网络AI模型注入与上传操作中:
网络应用在上线部署前,将离线预训练所得到的网络AI模型及模型代码,按统一结构打包压缩,模型压缩包随应用安装包一同发布。在应用完成部署上线后,网络应用使用数据池提供的统一接口指令进行网络AI模型的注入申请(AIModel.Register)和模型上传(AIModel.Upload)。
其中,模型压缩包的基本结构如下:
1)model:模型文件夹,存放网络AI模型预训练所输出的基线模型相关文件,如:TensorFlow模型SavedModel格式的PB文件等。
2)code:代码文件夹,存放网络AI模型在线训练、在线推理、模型数据收集等相关的一些Python程序代码、SQL代码、以及其它的一些脚本代码等。
3)lib:库文件夹,存放模型训练与推理计算中如果用到的其它开源库文件。
4)bin:执行文件夹,存放模型在线训练、模型在线推理的启动程序文件,以及模型数据收集的入口主程序文件。
为简化后续对网络AI模型训练与推理的统一调度与控制,相关网络AI模型计算启动程序、数据预收集主程序内部须遵循以下统一的开发规约:
1)文件命名规约。对相关启动程序、主程序的统一命名。如:模型在线推理启动程序以DoInfer命名、模型在线训练启动程序以DoTrain命名、推理数据预收集主程序以PreInfer命名、训练数据预收集主程序以PreTrain命名。
2)程序传参规约。网络AI模型计算启动程序可以设置不同的程序启动参数,具体视模型而定,多个启动参数按键值K/V格式提供,如:DoTrain key1=value1 key2=value2等。数据预收集主程序也可以定义多个形参,以@xxx作为形参的占位标记。
3)程序环境变量规约:统一定义网络AI模型计算过程所将使用的环境变量,环境变量统一保存于专门文件中(如:bin\environment.property)。基本的环境变量包括以下几个:
DataSource:定义网络AI模型计算所输入的数据缓存名;
OutputDir:定义网络AI模型计算最终计算结果的输出目录;
LogDir:定义网络AI模型计算中间日志的输出目录;
ErrorDir:定义网络AI模型计算出错时的错误输出目录。
模型注入申请时需提交模型与应用的基本信息、以及模型运行相关依赖信息,具体包括以下几个部分:
应用基本信息(AppInfo):包括应用名(AppName)、应用唯一ID(AppID)、应用授权许可的Key值(AppKey)。其中,AppID和AppKey将用于数据池平台对网络AI模型注入的合法性进行安全验证,为网络管控系统预先为应用统一分配。
模型基本信息(ModelInfo):包括模型名(ModelName)、模型描述(ModeDescription)、模型版本(ModelVersion)等。
模型依赖信息(Dependency):包括运行期模型在线训练与推理时所依赖的AI框架与版本,模型数据集需读取的网络数据池库表名、字段名等。其中,数据依赖项将用于对网络数据池对模型的数据访问权限进行控制。
网络应用在模型注入成功后,会得到一个数据池为其创建的唯一模型通信令牌(ModelToken),以便于后续与网络数据池的一系列安全交互。
第二类、网络AI模型在线训练与推理请求操作中:
网络应用在模型上传成功后,需要基于现网现场数据对网络AI模型进行适配和调优,即网络AI模型的在线轻量再训练。在完成轻量再训练后,网络AI模型就可以上线推理应用了。这个过程是个反复迭代的过程,即应用层每过一段时间或基于某个策略,主动触发对网络AI模型的再训练操作,以保持模型的精度。应用层可以通过数据池提供的统一接口指令,分别发起网络AI模型的在线再训练或在线推理请求,请求成功后将获得一个唯一的请求ID标识(RequestID),以用于后续对请求状态和结果的查询。
在线再训练请求指令(AIModel.Train)所需传递参数包括:第一类网络AI模型注入与上传操作中获得的模型令牌、以及模型在线训练所需的模型数据参数和训练程序参数,如:本次训练数据的检索条件等。多个参数以键值对K/V方式提供,具体与模型相关,参数须与模型实际的训练启动程序、训练数据预收集程序所能支持的命令行参数保持一致,否则参数无效。
在线推理请求指令(AIModel.Inference)所需传递参数包括:第一类网络AI模型注入与上传操作中获得的模型令牌、以及模型在线推理所需的模型数据参数和推理程序参数。和在线训练参数类似,具体与模型相关,参数须与模型实际的推理启动程序、推理数据预收集程序所能支持的命令行参数保持一致,否则参数无效。
第三类、AI训练与推理执行状态与结果输出查询操作中:
由于网络AI模型的训练和推理过程一般需要较长时间,尤其是模型的在线训练所需时间更长,一般至少会到分钟级。因此,需要提供一种统一的机制,让应用层可以方便地随时了解网络AI模型训练与推理的执行状态与进展、并获取网络AI模型计算的最终输出结果、日志详情等。以上信息可以通过使用数据池提供的查询接口指令来统一获取。
请求状态查询指令(AIModel.Status)所需传递参数包括:在上述第一类的网络AI模型注入与上传操作中获得的模型令牌、第二类的网络AI模型在线训练与推理请求操作中获得的请求ID。查询结果以JSon格式返回,内容包括:
网络AI模型的推理与训练的请求的上下文信息。包括:请求ID、请求发起时间、请求类型(训练/推理)、请求参数、相关的网络AI模型名。
网络AI模型计算任务执行情况。包括:任务执行状态(未执行、执行中、执行成功、执行失败),任务执行的起止时间。
如果任务执行失败,则返回相关的错误信息,以方便后续对错误进行有针对性的处理或错误调试。错误信息一般包括:错误码、错误描述和错误原因等。
如果任务执行成功,则返回模型自定义的输出结果,如:推理请求的模型推理结果。
如果任务执行完成,则返回模型训练与推理计算过程的一些日志记录,如:训练迭代次数、计算时长、模型精度等。
结合本发明实施例,为了进一步体现模型沙箱引入的优势,优选的,所述为网络AI模型分配一个安全的训练沙箱环境之前,所述方法还包括:
通过对网络AI模型的注入许可、模型代码有效性和安全性中的一项或者多项进行验证。
网络数据池是一个底层基础平台,在为应用层的网络AI模型提供统一的训练与推理过程中,必须保证平台自身的安全性和可靠可用。一方面需要确保每个所注入的网络AI模型的合法合规性,另一方面还需要对每个网络AI模型运行期进行逻辑隔离,确保AI的训练与推理不对数据池平台稳定性和性能产生大的影响。
数据池对所申请注入的网络AI模型实施以下几个方面的安全控制,如图4所示:
在步骤301中,数据池控制引擎对所申请注入的每个网络AI模型进行注入许可验证。通过检查每个网络AI模型注入时所提供的应用ID(AppID)、应用注入许可Key值(AppKey)等,来判断该网络AI模型是否为合法授权,确保非授权的网络AI模型不被注入到数据池中。
在步骤302中,数据池控制引擎对所申请注入的每个网络AI模型依进行模型有效性验证。一是验证模型对数据的依赖项是否有效,即是否存在错误的或不允许访问的数据库表、字段等,以确保数据池平台的数据安全。二是验证模型的运行依赖是否有效,即数据池为网络AI模型所能提供的当前运行时是否能满足模型运行的要求。
在步骤303中,在对所申请注入的网络AI模型完成上述验证后,数据池控制引擎对每个注入申请成功的网络AI模型创建一个模型沙箱,各个模型沙箱拥有独立的模型存储空间和统一的模型目录结构。数据池控制引擎为模型沙箱创建一个网络数据仓库的安全访问账户(ModelDataUser),该账户对网络数据仓库具有检索所需数据的最小权限。同时,数据池控制引擎为应用层创建一个后续与数据池可安全交互的唯一通信令牌ModelToken。
在步骤304中,数据池控制引擎将应用所上传的网络AI模型包解压,保存于模型对应的独立存储空间中。对解压后的模型代码(训练推理代码(Python)、数据收集代码(SQL代码)、批指令)进行必要的语法安全审核,以防止代码中可能存在的安全风险。比如:代码中是否有违禁的指令和关键字、是否存在越权访问或越权操作等。
在步骤305中,数据池对每次应用AI请求所携带的模型Token进行有效性验证,一方面防止无效模型Token的非法访问,另一方面通过模型Token识别出与之关联的模型沙箱,进而得到与本次请求操作所对应的网络AI模型。
在所述请求的上下文包括请求ID、请求发起时间、请求类型、请求参数和相关的网络AI模型名中的一项或者多项时,在本发明实施例步骤202中涉及的,所述从所述请求的上下文中获取本次网络AI模型计算和数据收集的实传参数,还给予了一种具体实现方式,包括:
根据所述网络AI模型名,查询并获取相应网络AI模型名和请求类型,确定本次训练和/或推理的请求实际的网络AI模型计算和数据收集参数;其中,请求类型包括推理请求和训练请求。其中,没有做实传操作之前还没有生成模型数据,下一步就是要将解析出参数用于模型数据收集子过程,由它完成本次请求相关的模型数据的收集。
例如:以SQL-Client方式访问数据池内的网络数据仓库,完成模型数据的预收集及本地缓存,所缓存的数据供后续网络AI模型的推理与训练使用。
其中,与模型训练推理有关的参数有4种:模型推理计算的程序参数和数据参数、模型训练计算的程序参数和数据参数。这些参数各不相同,均以K/V方式包含在AI请求的上下文中,不同子过程使用各自所需的参数。
本专利方法定义了网络AI模型在训练与推理过程中的统一数据传递规约,具体做法是将一个网络AI模型的在线训练与推理过程分解为两个相对独立的子过程:数据预收集子过程和网络AI模型计算子过程。两个子过程基于本地共享缓存进行数据交换,数据预收集子过程负责从网络数据仓库中快速提取模型获取所需数据,并将模型数据保存在本地共享缓存中。网络AI模型计算子过程从本地共享缓存中读取模型数据样本,执行网络AI模型计算、输出计算结果。
模型数据收集子过程的执行步骤如图5所述,包括:
在步骤401中,网络数据池在接收到应用层发出的网络AI模型训练与推理申请指令后,通过模型Token识别出本次请求所操作的网络AI模型,并从请求上下文中,解析出本次AI请求所使用的实传参数。
在步骤402中,数据池控制引擎根据本次AI请求类型读取对应的模型数据收集主程序,并将主程序中的形参置换为从步骤401中获取的实传参数。
以在线训练时的模型数据为例:假如一个模型其在线训练需要过去N天某些对象M的流量数据作为模型数据,那么N和M就是这个模型数据的两个参数(即形参),而实际传入的“N:10天”、“M:所有网元的UNI端口”则为实传参数,即告诉数据池本次训练的模型数据为:收集过去10天、所有网元的UNI端口的流量数据。
在步骤403中,数据池控制引擎从其模型沙箱中获取模型专用的数据账户(ModelDataUser),用该账户与数据池内网络数据仓库建立数据库连接,并以SQL-Client方式直接执行数据预收集主程序,对网络数据仓库进行数据检索、数据提取和数据预处理操作,获取网络AI模型计算所需的模型数据。
其中,数据预处理的内容一般包括:数据衍生(基于原始数据通过数据合并、聚焦等衍生新数据)、数据计算(如:计算差值、均值、方差、对数等)、数据格式统一(如:日期、浮点数、枚举类型等)、数据归一化处理、无效数据去除或填充处理等。
在步骤404中,数据池控制引擎将在步骤403中所获得的模型数据集保存到本地缓存中,如:缓存至模型沙箱统一的数据缓存目录(DataCache)中,或缓存至数据池平台统一的缓存服务中(如:redis、ignite等)。
在步骤405中,模型数据收集完毕后,数据池控制引擎通知下一步的网络AI模型计算子过程。
在本发明实施例中,针对网络AI模型计算统一被封装成计算任务、以任务队列的方式排队执行,则所述数据池启动网络AI的模型推理与训练的计算过程,也给予了相应实例展示,具体包括:
从模型沙箱中调用相应的推理与训练代码,从本地缓存中加载模型推理与训练计算所需的模型输入数据,执行网络AI模型的推理与训练代码;
按统一目录输出模型的计算结果、中间日志和错误信息中的一项或者多项。
由于网络AI模型训练和推理的计算过程一般需要较长时间,尤其是模型的训练计算所需时间更长,所需的计算资源更多。因此,为保证数据池平台的可用性,需要对网络AI模型的训练与推理计算做统一的任务调度。
具体过程如图6所示,包括:
在步骤501中,数据池控制引擎收到的网络AI模型计算启动通知后,创建一个网络AI模型计算任务(ModelTask),并将任务投递到一个统一的任务队列中等候执行。一个网络AI模型计算任务包含以下基本信息:网络AI模型沙箱名、网络AI模型计算类型(推理、训练)、AI请求实传参数、在步骤4模型数据收集所生成的模型数据缓存路径名。
在步骤502中,数据池控制引擎内的任务执行器(一个或多个独立线程或进程)从模型计算任务队列中顺序读取任务,并按步骤503~步骤505所定义的步骤执行每一个任务。
在步骤503中,任务执行器模型根据任务所关联的模型沙箱,更新网络AI模型计算过程中的环境变量。环境变量分两类:1)网络AI模型计算所需的模型数据输入,即为任务定义的模型数据缓存路径名;2)网络AI模型计算过程中的输出目录,包括:计算结果输出目录(OutputDir)、日志输出目录(LogDir)、错误输出目录(ErrorDir)。
在步骤504中,任务执行器根据任务中所关联的模型沙箱和计算类型,找到并执行对应的模型训练或推理启动程序,并向启动程序传递本次请求的实传参数。
在步骤505中,模型训练或推理计算程序获取步骤503中定义的过程环境变量,读取本地模型数据缓存、迭代执行模型相关的训练与推理代码,并按指定的目录输出中间日志、计算结果、错误信息等,直到网络AI模型计算完毕。
在步骤506中,任务执行器在网络AI模型计算程序执行过程中,轮询监测网络AI模型计算过程中的结果输出、中间日志和错误信息,并更新计算任务的进展状态信息。状态信息统一以JSon格式发布到数据池的一个状态输出目录,以供后续应用层通过统一交互接口的请求状态查询指令(AIModel.Status)来查询获取。
本发明提供了一种让网络应用在运行期间向网络数据池平台中动态注入网络AI模型、在近数据侧进行网络AI模型的推理与训练的技术方法,直接利用数据池平台的数据资源和计算资源,来提升网络AI模型推理与训练的性能。同时,通过对网络AI模型推理与训练的过程抽象,设计网络AI模型与网络数据池间统一的交互规约、以及网络数据池内部对网络AI模型的统一过程控制方法,实现网络AI模型在网络数据池平台内高效安全的训练推理,同时保持网络应用与数据平台之间的松耦合。
实施例2:
如图7所示,是本发明实施例的基于网络数据池的AI动态注入的控制装置的架构示意图。本实施例的基于网络数据池的AI动态注入的控制装置包括一个或多个处理器21以及存储器22。其中,图7中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器22作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的基于网络数据池的AI动态注入的控制方法。处理器21通过运行存储在存储器22中的非易失性软件程序和指令,从而执行基于网络数据池的AI动态注入的控制方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的基于网络数据池的AI动态注入的控制方法,例如,执行以上描述的图1、图4、图5和图6所示的各个步骤。
本发明方法采用了一种基于在网络统一数据池、在近数据侧实现对上层网络智能应用网络AI模型的统一推理与训练问题,减少了AI训练和推理过程中的数据搬迁,有效提升了AI的整体性能。同时,本专利方法利用网络大数据平台自有的计算资源进行网络AI模型的训练和推理,有效利用了资源、并简化轻量化了上层网络智能应用的开发和部署。另一方面,本专利方法对网络AI模型的训练和推理过程做了抽象,有效解耦了网络应用层和网络大数据平台的依赖性,有利于应用、平台和模型的各自快速迭代和演进。
值得说明的是,上述装置和系统内的模块、单元之间的信息交互、执行过程等内容,由于与本发明的处理方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于网络数据池的AI动态注入的控制方法,其特征在于,网络应用按统一规约进行网络AI模型编码,并按统一规约压缩打包网络AI模型,控制方法包括:
对网络AI模型的进行远程注入与上传,并按需动态触发对网络AI模型的训练和/或推理的请求;
从所述请求的上下文中获取本次网络AI模型计算和数据收集的实传参数;数据池启动网络AI模型的训练和/或推理的计算过程;获取网络AI模型的训练状态和/或推理结果;
其中,在所述动态触发对网络AI模型的训练和/或推理中,为网络AI模型分配一个训练沙箱环境,以便确保各个网络AI模型之间的训练和/或推理的独立性。
2.根据权利要求1所述的基于网络数据池的AI动态注入的控制方法,其特征在于,所述为网络AI模型分配一个训练沙箱环境之前,所述方法还包括:
通过对网络AI模型的注入许可、模型代码有效性和安全性中的一项或者多项进行验证;
验证通过时为网络AI模型分配一个训练沙箱环境。
3.根据权利要求2所述的基于网络数据池的AI动态注入的控制方法,其特征在于,模型代码有效性验证包括:
验证模型对数据的依赖项是否有效,包括是否存在错误的或不允许访问的数据库表和字段,确保数据池平台的数据安全;
验证模型的运行依赖是否有效,包括数据池为网络AI模型所能提供的当前运行时是否能满足模型运行的要求。
4.根据权利要求1所述的基于网络数据池的AI动态注入的控制方法,其特征在于,在网络AI模型每次训练和/或推理计算之前,数据池控制引擎从模型沙箱中获取模型数据收集代码用于完成模型数据收集,其中,所述模型数据收集,具体包括:
数据池控制引擎从其模型沙箱中获取网络AI模型专用的数据账户,用所述数据账户与数据池内网络数据仓库建立数据库连接,并直接执行数据预收集主程序,对网络数据仓库进行数据检索、数据提取和数据预处理操作,获取网络AI模型计算所需的模型数据。
5.根据权利要求4所述的基于网络数据池的AI动态注入的控制方法,其特征在于,方法还包括:
以SQL-Client方式访问数据池内的网络数据仓库,完成模型数据的预收集及本地缓存,所缓存的数据供后续网络AI模型的训练和/或推理的使用。
6.根据权利要求1所述的基于网络数据池的AI动态注入的控制方法,其特征在于,网络AI模型计算统一被封装成计算任务,以任务队列的方式排队执行,则所述数据池启动网络AI模型的训练和/或推理的计算过程,具体包括:
在执行到任务队列中相应的网络AI模型计算任务时,从模型沙箱中调用相应的网络AI模型的训练和/或推理代码,从本地缓存中加载模型训练和/或推理计算所需的模型输入数据,执行网络AI模型的训练和/或推理代码;
按统一目录输出网络AI模型的计算结果、中间日志和错误信息中的一项或者多项。
7.根据权利要求6所述的基于网络数据池的AI动态注入的控制方法,其特征在于,还包括:
任务执行器在网络AI模型计算程序执行过程中,轮询监测网络AI模型计算过程中的结果输出、中间日志和错误信息,并更新计算任务的进展状态信息;
其中,状态信息统一以JSon格式发布到数据池的一个状态输出目录,以供后续应用层通过统一交互接口的请求状态查询指令来查询获取。
8.根据权利要求1所述的基于网络数据池的AI动态注入的控制方法,其特征在于,所述请求的上下文包括请求ID、请求发起时间、请求类型、请求参数和相关的网络AI模型名中的一项或者多项,则所述从所述请求的上下文中获取本次网络AI模型计算和数据收集的实传参数,具体包括:
根据所述网络AI模型名,查询并获取相应网络AI模型名和请求类型,确定本次训练和/或推理的请求中所包含的实际的网络AI模型计算和数据收集的实传参数;其中,请求类型包括推理请求和训练请求。
9.根据权利要求1所述的基于网络数据池的AI动态注入的控制方法,其特征在于,网络AI模型计算启动程序设置有程序启动参数,其中,程序启动参数按照按键值K/V格式提供;数据预收集主程序定义有一个或者多个形参,具体的:
数据池控制引擎根据本次训练和/或推理请求的请求类型读取对应的模型数据收集主程序,并将主程序中的形参置换为实传参数;其中,所述请求类型包括推理请求和训练请求;
所述实传参数的获取方式为:网络数据池在接收到应用层发出的网络AI模型训练和/或推理的请求后,通过模型Token识别出所述请求所操作的网络AI模型,并从请求上下文中,解析出本次请求所使用的实传参数。
10.一种基于网络数据池的AI动态注入的控制装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,用于执行权利要求1-9任一所述的基于网络数据池的AI动态注入的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110709583.5A CN113435605B (zh) | 2021-06-25 | 2021-06-25 | 一种基于网络数据池的ai动态注入的控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110709583.5A CN113435605B (zh) | 2021-06-25 | 2021-06-25 | 一种基于网络数据池的ai动态注入的控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113435605A true CN113435605A (zh) | 2021-09-24 |
CN113435605B CN113435605B (zh) | 2023-06-09 |
Family
ID=77754494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110709583.5A Active CN113435605B (zh) | 2021-06-25 | 2021-06-25 | 一种基于网络数据池的ai动态注入的控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113435605B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114417323A (zh) * | 2022-01-21 | 2022-04-29 | 北京飞书科技有限公司 | 数据引用方法、装置、设备及介质 |
WO2023179448A1 (zh) * | 2022-03-22 | 2023-09-28 | 华为技术有限公司 | 一种信息传输方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567549A (zh) * | 2011-11-18 | 2012-07-11 | 中国船舶重工集团公司第七二四研究所 | 基于令牌漏桶法的自适应数据记录/回放技术及其实现方法 |
US20180131639A1 (en) * | 2015-05-30 | 2018-05-10 | Hochschule Anhalt | Method for operating a memory buffer system implemented at a sender station for the fast data transport over a communication network, correspondingly adapted apparatus to perform the method, computer program product, and computer program |
CN109685160A (zh) * | 2019-01-18 | 2019-04-26 | 创新奇智(合肥)科技有限公司 | 一种在线模型自动训练及部署方法及系统 |
CN110490334A (zh) * | 2019-08-27 | 2019-11-22 | 上海丙晟科技有限公司 | 一种低延迟的机器学习即服务的生成方法 |
CN110658759A (zh) * | 2019-09-25 | 2020-01-07 | 上海众壹云计算科技有限公司 | 一种可动态部署ai模型的工业智能控制器 |
CN111222137A (zh) * | 2018-11-26 | 2020-06-02 | 华为技术有限公司 | 一种程序分类模型训练方法、程序分类方法及装置 |
US20200174828A1 (en) * | 2018-11-30 | 2020-06-04 | Graphcore Limited | Gateway Pull Model |
CN112131184A (zh) * | 2020-09-18 | 2020-12-25 | 四创科技有限公司 | 一种实现模型及其接口标准化输入输出的方法 |
CN112700004A (zh) * | 2020-12-25 | 2021-04-23 | 南方电网深圳数字电网研究院有限公司 | 基于容器技术的深度学习模型训练方法、设备及存储介质 |
-
2021
- 2021-06-25 CN CN202110709583.5A patent/CN113435605B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567549A (zh) * | 2011-11-18 | 2012-07-11 | 中国船舶重工集团公司第七二四研究所 | 基于令牌漏桶法的自适应数据记录/回放技术及其实现方法 |
US20180131639A1 (en) * | 2015-05-30 | 2018-05-10 | Hochschule Anhalt | Method for operating a memory buffer system implemented at a sender station for the fast data transport over a communication network, correspondingly adapted apparatus to perform the method, computer program product, and computer program |
CN111222137A (zh) * | 2018-11-26 | 2020-06-02 | 华为技术有限公司 | 一种程序分类模型训练方法、程序分类方法及装置 |
US20200174828A1 (en) * | 2018-11-30 | 2020-06-04 | Graphcore Limited | Gateway Pull Model |
CN109685160A (zh) * | 2019-01-18 | 2019-04-26 | 创新奇智(合肥)科技有限公司 | 一种在线模型自动训练及部署方法及系统 |
CN110490334A (zh) * | 2019-08-27 | 2019-11-22 | 上海丙晟科技有限公司 | 一种低延迟的机器学习即服务的生成方法 |
CN110658759A (zh) * | 2019-09-25 | 2020-01-07 | 上海众壹云计算科技有限公司 | 一种可动态部署ai模型的工业智能控制器 |
CN112131184A (zh) * | 2020-09-18 | 2020-12-25 | 四创科技有限公司 | 一种实现模型及其接口标准化输入输出的方法 |
CN112700004A (zh) * | 2020-12-25 | 2021-04-23 | 南方电网深圳数字电网研究院有限公司 | 基于容器技术的深度学习模型训练方法、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114417323A (zh) * | 2022-01-21 | 2022-04-29 | 北京飞书科技有限公司 | 数据引用方法、装置、设备及介质 |
WO2023179448A1 (zh) * | 2022-03-22 | 2023-09-28 | 华为技术有限公司 | 一种信息传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113435605B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106506587B (zh) | 一种基于分布式存储的Docker镜像下载方法 | |
US7614059B2 (en) | System and method for the discovery and usage of local resources by a mobile agent object | |
CN113435605A (zh) | 一种基于网络数据池的ai动态注入的控制方法和装置 | |
CN101202761B (zh) | 一种分布式资源调度系统及其方法 | |
CN109445949A (zh) | 一种数据采集系统和数据采集方法 | |
US8386608B1 (en) | Service scripting framework | |
US20210004696A1 (en) | System and method for automatic secure delivery of model | |
CN113568686B (zh) | Lua语言的异步处理方法、装置、计算机设备和存储介质 | |
CN111475795A (zh) | 一种面向多应用进行统一认证授权的方法及装置 | |
CN114039792B (zh) | 一种数据访问权限控制方法、装置、设备及可读存储介质 | |
CN110958217B (zh) | 远程控制服务器方法、装置、计算机设备及存储介质 | |
US10983764B2 (en) | Method of providing application-oriented software and computer system | |
CN116362336B (zh) | 一种模型推理交互方法、电子设备、可读存储介质 | |
CN113721856A (zh) | 一种数字化社区管理数据存储系统 | |
CN117421302A (zh) | 一种数据处理方法及相关设备 | |
KR102132450B1 (ko) | 기계 학습을 이용한 자바스크립트 해석 엔진 테스트 방법 및 장치 | |
CN112187747A (zh) | 一种远程容器登录方法、装置及电子设备 | |
CN114415954A (zh) | 一种Ceph对象存储元数据处理的优化方法及装置 | |
CN109831496B (zh) | 一种终端数据的调试方法 | |
CN117435829B (zh) | 一种目录预热方法及装置 | |
CN117938942B (zh) | 服务注册发现方法、装置、设备、介质及程序产品 | |
US9235382B2 (en) | Input filters and filter-driven input processing | |
CN114584621B (zh) | 一种数据发送的方法及装置 | |
CN114253532A (zh) | 模型开发方法、装置、引擎及存储介质 | |
CN111385249B (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 |