CN116955385A - Ai实时预测方法及装置 - Google Patents
Ai实时预测方法及装置 Download PDFInfo
- Publication number
- CN116955385A CN116955385A CN202210347798.1A CN202210347798A CN116955385A CN 116955385 A CN116955385 A CN 116955385A CN 202210347798 A CN202210347798 A CN 202210347798A CN 116955385 A CN116955385 A CN 116955385A
- Authority
- CN
- China
- Prior art keywords
- real
- time
- model
- data
- external
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000003860 storage Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 13
- 238000011161 development Methods 0.000 abstract description 16
- 230000007613 environmental effect Effects 0.000 abstract description 3
- 238000007781 pre-processing Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 208000025174 PANDAS Diseases 0.000 description 2
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 2
- 240000004718 Panda Species 0.000 description 2
- 235000016496 Panda oleosa Nutrition 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2452—Query translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/018—Certifying business or products
- G06Q30/0185—Product, service or business identity fraud
-
- 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Entrepreneurship & Innovation (AREA)
- Accounting & Taxation (AREA)
- Evolutionary Computation (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种AI实时预测方法及装置,所述方法包括:基于与AI关联的SQL语句,获取物理计划;基于所述物理计划和实时AI元数据,获取配置好的AI引擎;利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。本发明通过基于SQL语句,无缝集成AI框架,支持使用不同建模环境训练的AI模型,避免环境差异导致AI模型无法执行,无需使用Java、Python等编程语言进行代码开发,即可实现数据流的预处理和AI模型实时预测,提高了实时AI预测方案的易用性。
Description
技术领域
本发明涉及IT应用技术领域,尤其涉及一种AI实时预测方法及装置。
背景技术
原本的防骗手段主要以宣传教育为主,属于被动式的防骗。现在逐渐开始应用人工智能(Artificial Intelligence,AI)技术,通过对陌生来电的通话语音和短信内容进行自然语言处理,建立AI异常检测模型,实时检测异常可疑的行为来进行防骗。
从发展趋势来看,实时与AI在电信行业结合应用的场景越来越多,各个运营商、技术方案提供商也在不断的实践中形成了不同类型的技术解决方案。依据开源实时计算平台与AI框架的关系的不同,现在常见技术解决方案包括:使用自身平台的AI模型、集成第三方AI模型和使用第三方AI预测服务。
上述实时计算与AI结合应用的技术解决方案,在一定程度上解决了实时AI预测的问题,但是使用编程方式的实时计算与AI的结合应用,当业务需求发生变更的时候,一般需要进行代码修改,然后经过单元测试、集成测试、编译、打包、提交到准生产环境,再到生产环境的计算引擎的一系列过程,存在易用性不足的问题。
发明内容
本发明提供一种AI实时预测方法及装置,用以解决现有技术中实时AI预测方案存在易用性不足的缺陷。
本发明提供一种人工智能AI实时预测方法,包括:
基于与AI关联的SQL语句,获取物理计划;
基于所述物理计划和实时AI元数据,获取配置好的AI引擎;
利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
可选地,所述基于与AI关联的SQL语句,获取物理计划,包括:
对所述与AI关联的SQL语句进行解析优化,获取逻辑计划;
对所述逻辑计划进行转换,获取所述物理计划。
可选地,所述基于所述物理计划和实时AI元数据,获取配置好的AI引擎,包括:
根据所述物理计划从所述实时AI元数据中获取外部AI模型运行环境包信息;
根据所述外部AI模型运行环境包信息从AI模型运行环境包存储库中获取外部AI模型运行环境包;
根据所述外部AI模型运行环境包对所述AI引擎的运行环境进行配置。
可选地,所述基于所述物理计划和实时AI元数据,获取配置好的AI引擎,还包括:
根据所述物理计划从所述实时AI元数据中获取外部AI模型信息;
根据所述外部AI模型信息从外部AI模型文件存储库中获取外部 AI模型文件;
根据所述外部AI模型文件对所述AI引擎进行模型初始化。
可选地,所述获取预测结果之后,还包括:
将所述预测结果与所述待预测数据进行关联,获取新的待预测数据。
可选地,还包括:
基于所述实时AI元数据对SQL语法进行扩展,获取AI实时预测语法;所述AI实时预测语法包括调用外部AI模型语法结构、删除外部AI模型语法结构和模型预测语法结构。
可选地,所述实时AI元数据包括流元数据和外部AI模型元数据。
本发明还提供一种AI实时预测装置,包括:
第一获取模块,用于基于与AI关联的SQL语句,获取物理计划;
第二获取模块,用于基于所述物理计划和实时AI元数据,获取配置好的AI引擎;
第三获取模块,用于利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述中的任一项所述AI实时预测方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述中的任一项所述 AI实时预测方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述中的任一项所述AI实时预测方法。
本发明提供的AI实时预测方法及装置,通过基于SQL语句,无缝集成AI框架,支持使用不同建模环境训练的AI模型,避免环境差异导致AI模型无法执行,无需使用Java、Python等编程语言进行代码开发,即可实现数据流的预处理和AI模型实时预测,提高了实时 AI预测方案的易用性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的AI实时预测方法的流程示意图;
图2是本发明提供的AI实时预测方法的整体框架示意图;
图3是本发明提供的AI引擎管理的流程示意图;
图4是本发明提供的AI模型实时预测的流程示意图;
图5是本发明提供的逻辑节点结构及执行示意图;
图6是本发明提供的AI实时预测装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于更加清晰地理解本发明提供的AI实时预测方法,首先对一些相关的技术知识进行如下介绍。
1、使用自身平台的AI模型
在生产环境中,部署实时计算集群,即自带了AI框架。Spark 是开源的批流一体的大数据计算引擎,其在批处理领域占据主导地位。以Spark Streaming(批处理的流式计算框架)为例,Spark的框架中自带的Spark机器学习库(Spark Machine LearningLibraries,Spark MLLib),Spark MLlib已经集成了大量机器学习的算法,在SparkStreaming中可以无缝的使用Spark MLLib训练的模型。
此类技术方案在生产环境中较少使用,虽然实时应用可以与自身平台AI模型无缝结合,但是其自带的AI框架一般很少成为主流的 AI框架(例如Spark MLlib),AI建模工程师一般会选择TensorFlow (TensorFlow是谷歌开源的深度学习框架)之类的深度学习框架,而且需要使用编写代码的方式,来实现AI实时预测。
2、集成第三方AI模型
在实时计算应用中,集成已经训练好的AI模型(实时计算引擎只负责使用,不负责训练)。以短信异常模型AI模型为例,使用Java、 Scala或者Python编写实时计算应用,实时的接收短信内容,并使用 AI模型计算短信内容的风险程度,判定为异常短信,则将判定结果交给业务系统。
此类解决方案中,由实时计算开发团队来负责实时计算应用开发,在应用中整合和使用AI模型,而建模团队只负责提供AI模型即可。优点是预测性能比较高,但是存在如下缺点:
1)实时计算与AI模型紧密耦合在一起,无法单独扩展;
2)、使用编码开发的方式实现,易用性不足,可维护性差,迁移复制难度高;
3)、AI模型需要修改代码或者重新启动应用,开发周期长,需要重新编译、打包和部署。
3、使用第三方AI预测服务
在实时计算应用中,使用AI团队提供的AI预测服务。以短信异常AI模型为例,将AI模型部署为服务,提供远程服务接口。使用 Java、Scala等编程语言编写流计算应用,远程调用AI预测服务接口进行实时预测。
此类解决方案中,实时计算和AI是两个相互独立的团队,预测服务由AI团队来部署和运维,实时计算团队负责实时计算应用开发。优点是实时计算和AI服务相互独立,可以独立扩展,但是面对电信行业的实时数据的规模,存在如下问题:
1)AI推理服务往往成为性能瓶颈;
2)使用编码开发的方式实现,易用性不足,可维护性差,迁移复制难度高。
综合而言,以上实时计算与AI结合应用的技术解决方案,在一定程度上解决了实时AI预测的问题,但是使用编程方式的实时计算与AI的结合应用,仍存在易用性和可维护性问题,使用新的AI模型通常需要修改应用,开发周期长。
图1是本发明提供的AI实时预测方法的流程示意图,如图1所示,本发明提供一种AI实时预测方法,该方法包括:
步骤101,基于与AI关联的SQL语句,获取物理计划。
具体地,图2是本发明提供的AI实时预测方法的整体框架示意图,如图2所示,从总体上来说分为AI实时预测引擎和执行引擎两部分,AI实时预测引擎包含流SQL解析优化引擎、实时AI元数据、实时计算转换模块、AI实时预测模块和AI实时预测引擎管理模块。流SQL解析优化引擎是结构化查询语言(Structured Query Language, SQL)解析引擎和流计算引擎的集合。
AI实时计算SQL接口采用JDBC(Java Database Connectivity, Java数据库连接)/ODBC(Open Database Connectivity,开放数据库互连)标准实现交互接口,实时SQL应用可以使用JDBC/ODBC驱动向 AI实时预测引擎提交、停止、删除计算任务。
JDBC是一种用于执行SQL语句的Java API(Application ProgrammingInterface,应用程序编程接口),可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC API 是SUN公司提出的访问数据库的接口标准,是访问数据库的通用API。
ODBC是微软公司开放服务结构(Windows Open Services Architecture,WOSA)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL语句来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
虽然大部分实时计算引擎都提供了标准JDBC的支持,但是一般不支持ODBC,更不支持基于SQL的AI实时预测的访问方式。本发明采用标准JDBC/ODBC接口,且支持基于SQL的AI实时预测的访问方式,可以方便的与第三方应用进行集成,开放系统的能力。
执行引擎是任务执行的计算平台,执行引擎可以使用实时计算引擎,例如可扩展Flink等,Flink是开源的批流一体的大数据计算引擎,其在流计算领域占据主导地位,执行引擎还可以使用机器学习引擎,例如TF、SK-learn等。
实时SQL应用与AI实时预测引擎之间通过与AI关联的SQL语句进行交互,AI实时预测引擎中的AI实时计算SQL接口对与AI关联的SQL语句进行接收,流SQL解析优化引擎和实时计算转换模块对与AI关联的SQL语句进行处理,获取与AI关联的SQL语句对应的物理计划。
可选地,基于与AI关联的SQL语句,获取物理计划,包括:
对与AI关联的SQL语句进行解析优化,获取逻辑计划;
对逻辑计划进行转换,获取物理计划。
具体地,流SQL解析优化引擎对与AI关联的SQL语句进行解析和校验,生成与AI关联的SQL节点,将合法的与AI关联的SQL 节点转换为与AI关联的SQL逻辑节点,利用SQL优化器优化对与 AI关联的SQL逻辑节点进行优化,获取与AI关联的SQL语句对应的逻辑计划。
经优化之后,将逻辑计划交给实时计算转换模块,实时计算转换模块负责适配底层的执行引擎,实时计算转换模块将与AI关联的 SQL语句对应的逻辑计划转换为与AI关联的SQL语句对应的物理计划,物理计划是可执行的代码。
通过对与AI关联的SQL语句进行解析优化和转换,从而获取了物理计划,为后续利用物理计划配置AI引擎奠定基础。
可选地,还包括:
基于实时AI元数据对SQL语法进行扩展,获取AI实时预测语法;AI实时预测语法包括调用外部AI模型语法结构、删除外部AI 模型语法结构和模型预测语法结构。
具体地,基于SQL语法进行AI实时预测之前,需要对SQL语法进行扩展。对SQL语法的扩展需要实时AI元数据,基于实时AI 元数据中的属性信息实现对SQL语法进行扩展。
可选地,实时AI元数据包括流元数据和外部AI模型元数据。
具体地,流元数据是数据流的元数据,是描述数据流的信息。
数据流与表在概念上相似,数据流可以看作是一张持续插入数据的表,没有删除和更新行为。
借鉴传统元数据的结构,结合数据流的特点,设计了数据流的元信息结构,包含数据流的数据结构、连接信息等。实时数据流中经常会使用JSON之类的半结构化、非结构化数据,所以在表字段元数据中支持描述复杂数据结构。表1为流元数据的属性表,由表1可知,流元数据中包含了流表名称、流表结构和流标属性。
表1流元数据的属性表
属性 | 描述 |
流表名称 | 数据流的名称 |
流表结构 | 类似于传统的表结构,包含字段名称、字段类型等 |
流表属性 | 包含流表的连接信息,例如Kafka Topic |
外部AI模型元数据用来描述外部AI模型的信息,外部AI模型元数据的存储和访问能力,用来保存模型的元信息。表2是外部AI 模型元数据的属性表,由表2可知,外部AI模型元数据中包含了模型的类型、模型开发语言、模型路径、模型的输入字段类型、预测结果的字段名称、预测结果的字段类型以及模型运行环境包。
表2外部AI模型元数据的属性表
使用SQL操作实时数据,需要在SQL语法层面上扩展流SQL 的语法,基于实时AI元数据获取数据流语法,数据流语法包括创建数据流的语法结构、更新数据流的语法结构和删除数据流语法结构。
创建数据流的语法结构的示例如下所示:
CREATE STREAM[IF NOT EXISTS]流表名称(流表字段…)
PROPERTIES(流表属性列表);
更新数据流的语法结构的示例如下所示:
ALTER STREAM流表名称SET PROPERTIES(流表属性列表);
删除数据流语法结构的示例如下所示:
DROP STREAM IF EXISTS流表名称;
使用SQL操作实时AI预测,需要在SQL语法层面上扩展SQL 的语法,基于实时AI元数据获取AI实时预测语法;AI实时预测语法包括调用外部AI模型语法结构、删除外部AI模型语法结构和模型预测语法结构。
调用外部AI模型语法结构的示例如下所示:
CREATE external MODEL model-name AS LOAD_EXTERNAL_MODEL(model-base-url,
language,
algorithm,
modules,
model-init-function-full-name,
predict-function-full-name,
feature-columns,
runtime-url);
其中,model-base-url:是模型文件夹的url,可以是http/ftp/hdfs 等,里面至少包括子目录:model模型文件夹,modules模块文件夹; language:支持python;algorithm:算法,可以加上实现前缀以区分,比如tf_decision_tree;modules:需要import的module,逗号分隔; model-init-function-full-name:模型初始化函数完整名称; predict-function-full-name:是带module前缀的完整预测函数名称,如果是支持pandas批量调用的,需要加上后缀batch;feature-columns:特征值列,可选,默认值为features(doublearray),否则需要填写多个逗号分隔的列名,预测数据必须具备这些列;runtime-url:运行时环境包url地址,系统根据此url获取对应的运行时环境包,为AI模型创建好其对应的运行时环境。
删除外部AI模型语法结构的示例如下所示:
delete external model模型名称;
模型预测语法结构的示例如下所示:
select*from实时预测函数(外部AI模型名称,待预测数据流);
SQL语言是电信行业数据分析和处理的常用语言,使用SQL语言,可以极大的降低代码行数,修改和调试只需要简单的调整SQL 语句即可,无需繁琐的编译、打包和部署的过程。由于SQL语言有标准,所以作业迁移更容易、理解也更容易。
基于SQL进行扩展,实现数据流上使用AI模型进行实时推理预测,无需Java和Python等编码开发。基本SQL的运算逻辑编写了大量的测试用例,使用者只需要关心业务逻辑的正确性,需求变化只需要简单的调整SQL语句,即可修改任务逻辑,整个过程轻量级。
设计了模型的创建语法,可以将不同的AI框架训练的模型导入到实时计算平台中,在AI元数据中记录模型信息,然后就可以在SQL 中方便的使用AI模型进行实时预测,避免实时计算应用使用新模型时,所必须要做的代码修改、测试、编译打包和提交繁琐过程。
步骤102,基于物理计划和实时AI元数据,获取配置好的AI引擎。
具体地,在获取物理计划之后,AI实时预测引擎管理模块基于物理计划和实时AI元数据为AI引擎准备好运行环境,AI实时预测模块基于物理计划和实时AI元数据为AI引擎进行初始化,从而获取配置好的AI引擎。
可选地,基于所述物理计划和实时AI元数据,获取配置好的AI 引擎,包括:
根据物理计划从实时AI元数据中获取外部AI模型运行环境包信息;
根据外部AI模型运行环境包信息从AI模型运行环境包存储库中获取外部AI模型运行环境包;
根据外部AI模型运行环境包对AI引擎的运行环境进行配置。
具体地,在实际的应用中,AI建模训练使用的运行环境与系统提供的运行环境的版本、模块存在差异导致外部模型无法在系统提供的运行环境中运行。
例如,二者使用不同的AI框架,可以选择TensorFlow、Pytorch、 Sk-Learning等。
例如,二者使用同一个框架的不同版本,例如TensorFlow有多个不同版本,版本之间并不是完全兼容。
例如,二者使用不同版本第三方的模块,模块有numpy、scipy、 pandas等,模型训练使用numpy的较新版本,系统提供了numpy的旧版本,两者的API可能存在差异。
图3是本发明提供的AI引擎管理的流程示意图,如图3所示,总体上分为4个步骤:
步骤301,AI实时预测引擎管理模块中的AI引擎管理器根据物理计划从AI元数据中读取外部AI模型元数据,外部AI模型元数据中包含外部AI模型运行环境包信息,例如,外部AI模型运行环境包的存储位置等信息。
步骤302,AI引擎管理器根据读取的外部AI模型运行环境包信息从AI模型运行环境包存储库中获取外部AI模型运行环境包。
形成AI模型运行环境包存储库的前提条件是用户打包上传AI 模型运行环境,根据用户打包上传的AI模型运行环境形成AI模型运行环境包存储库。
如果该外部AI模型运行环境包已经被其他算子或任务进程加载过,则复用即可,否则获取原始的外部AI模型运行环境包。
步骤303,AI引擎管理器使用获取的外部AI模型运行环境包对AI引擎的运行环境进行配置。
AI引擎有2种启动方式:1)如果是同类型开发语言,则AI引擎可以与当前的算子位于同一进程内;2)另外启动独立的AI引擎进程,使用独立进程便于作业之间的相互隔离,AI引擎的创建、销毁不会影响其他作业的算子。
步骤304,AI引擎管理器中集成了不同AI引擎的启动、初始化、销毁和清理的逻辑,当AI引擎作业停止时,AI引擎管理器对该AI 引擎进行中止销毁,释放资源。
通过物理计划和实时AI元数据,结合AI模型运行环境包存储库,获取外部AI模型运行环境包,根据外部AI模型运行环境包对AI引擎的运行环境进行配置,进一步有利于实现配置好的AI引擎。
可选地,所述基于所述物理计划和实时AI元数据,获取配置好的AI引擎,还包括:
根据物理计划从所述实时AI元数据中获取外部AI模型信息;
根据外部AI模型信息从外部AI模型文件存储库中获取外部AI 模型文件;
根据外部AI模型文件对AI引擎进行模型初始化。
图4是本发明提供的AI模型实时预测的流程示意图,如图4所示,总体上分为6个步骤:
步骤401,AI实时预测模块中的AI实时预测框架根据物理计划从AI元数据中读取外部AI模型元数据,外部AI模型元数据中包含外部AI模型信息,例如,外部AI模型的存储路径和开发语言等信息。
步骤402,AI实时预测框架将外部AI模型的相关信息提交给AI 引擎,通知AI引擎进行模型的初始化。
步骤403,AI引擎根据外部AI模型的存储路径从外部AI模型文件存储库中获取外部AI模型文件,加载外部AI模型文件,根据外部 AI模型文件进行模型的初始化,并为AI模型启动远程过程调用协议(Remote Procedure Call Protocol,RPC)预测接口。
在AI引擎的运行环境配置好的基础上,通过物理计划和实时AI 元数据,结合外部AI模型文件存储库,获取外部AI模型文件,根据外部AI模型文件对AI引擎的模型进行初始化,从而实现了配置好的 AI引擎。
步骤103,利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
具体地,步骤404,AI实时预测框架自适应实时调用RPC预测接口,向AI引擎传递一组待预测数据。
调用方式分为同步和异步两种:
1)同步则阻塞线程等待返回预测结果,然后处理数据流中的下一条数据;
2)异步在调用之后,不必等待返回预测结果,继续处理数据流中的下一条数据。
步骤405,AI引擎将预测结果返回AI实时预测框架。
步骤406,AI实时预测任务退出时,关闭AI引擎。
流计算系统中有反压机制,下游算子的计算压力过大导致数据积压,会通过反压机制,告知上游减少数据发送量或者停止。
待预测数据的数据量是根据数据积压情况动态调整的,在数据积压导致反压的情况下,对每次调用预测RPC请求中的待预测数据的数据量进行减少;在无数据积压的情况下,对每次调用预测RPC请求中的待预测数据的数据量进行增加,实现动态的调整AI预测的待预测数据的数据量,可以帮助平衡计算延迟和计算压力。
可选地,所述获取预测结果之后,还包括:
将预测结果与待预测数据进行关联,获取新的待预测数据。
具体地,预测结果返回之后,将预测结果与待预测数据(当前数据流)进行关联,其效果类似于关联运算,关联之后,获取新的待预测数据,新的待预测数据中包含了原始待预测数据和其对应的AI预测结果,将新的待预测数据推送给下游进行预测。
图5是本发明提供的逻辑节点结构及执行示意图,如图5所示,图中右侧是基于SQL的AI数据预测执行逻辑示例,(1,2)为一条实时输入事件,使用1进行预测,预测结果为(1,101),然后将预测结果附加到原始输入事件中生成新的输出数据事件(1,2,101),可以看出基于SQL的AI预测执行是一种类似于Join的行为。
如图5所示,图中左侧为基于SQL的AI逻辑节点结构示意图,基于SQL的AI数据关联逻辑节点本质上是预测逻辑和数据关联的行为,基于SQL的AI数据关联逻辑节点类似于SQLJoin逻辑节点,其有两个输入:上游其他标准SQL XX的逻辑计划节点(过滤、投影等标准SQL的逻辑计划节点)和基于SQL的AI实时预测执行逻辑节点。SQL XX的逻辑计划节点将实时输入数据流输入基于SQL的 AI数据关联逻辑节点,基于SQL的AI实时预测执行逻辑节点将实时预测返回结果数据流输入基于SQL的AI数据关联逻辑节点,基于 SQL的AI数据关联逻辑节点输出实时输出数据流。
在实时计算任务执行时,会将任务的计算步骤并行化,每一个并行的计算步骤叫做计算步骤实例,分配到不同的物理节点上执行。每一个计算步骤实例在其所在物理节点初始化一个独占的AI引擎进程,当需要预测的时候,直接与本地AI引擎进程交互,本地的RPC操作系统会进行优化,减少数据序列化、反序列化带来的CPU开销和网络开销,降低预测延迟,同时节省计算资源。
在实时计算任务执行中,实时数据流比较均匀的分配给每个计算步骤实例,在计算压力比较大的情况下,可以通过增加计算步骤实例的数量,来降低每个计算步骤实例的计算压力,从而在实时AI预测中轻松应对海量实时数据流。
本发明提供的AI实时预测方法,通过基于SQL语句,无缝集成 AI框架,支持使用不同建模环境训练的AI模型,避免环境差异导致 AI模型无法执行,无需使用Java、Python等编程语言进行代码开发,即可实现数据流的预处理和AI模型实时预测,提高了实时AI预测方案的易用性。
下面对本发明提供的AI实时预测装置进行描述,下文描述的AI 实时预测装置与上文描述的AI实时预测方法可相互对应参照。
图6是本发明提供的AI实时预测装置的结构示意图,如图6所示,本发明还提供一种AI实时预测装置,包括:第一获取模块601、第二获取模块602和第三获取模块603,其中:
第一获取模块601用于基于与AI关联的SQL语句,获取物理计划;
第二获取模块602用于基于所述物理计划和实时AI元数据,获取配置好的AI引擎;
第三获取模块603用于利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
具体来说,本申请实施例提供的AI实时预测装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
图7是本发明提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行AI实时预测方法,该方法包括:基于与AI关联的SQL语句,获取物理计划;基于所述物理计划和实时AI元数据,获取配置好的AI引擎;利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的AI实时预测方法,该方法包括:基于与AI关联的SQL语句,获取物理计划;基于所述物理计划和实时AI元数据,获取配置好的AI引擎;利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的AI实时预测方法,该方法包括:基于与AI关联的SQL 语句,获取物理计划;基于所述物理计划和实时AI元数据,获取配置好的AI引擎;利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本申请实施例中术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种AI实时预测方法,其特征在于,包括:
基于与AI关联的SQL语句,获取物理计划;
基于所述物理计划和实时AI元数据,获取配置好的AI引擎;
利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
2.根据权利要求1所述的AI实时预测方法,其特征在于,所述基于与AI关联的SQL语句,获取物理计划,包括:
对所述与AI关联的SQL语句进行解析优化,获取逻辑计划;
对所述逻辑计划进行转换,获取所述物理计划。
3.根据权利要求1所述的AI实时预测方法,其特征在于,所述基于所述物理计划和实时AI元数据,获取配置好的AI引擎,包括:
根据所述物理计划从所述实时AI元数据中获取外部AI模型运行环境包信息;
根据所述外部AI模型运行环境包信息从AI模型运行环境包存储库中获取外部AI模型运行环境包;
根据所述外部AI模型运行环境包对所述AI引擎的运行环境进行配置。
4.根据权利要求3所述的AI实时预测方法,其特征在于,所述基于所述物理计划和实时AI元数据,获取配置好的AI引擎,还包括:
根据所述物理计划从所述实时AI元数据中获取外部AI模型信息;
根据所述外部AI模型信息从外部AI模型文件存储库中获取外部AI模型文件;
根据所述外部AI模型文件对所述AI引擎进行模型初始化。
5.根据权利要求1所述的AI实时预测方法,其特征在于,所述获取预测结果之后,还包括:
将所述预测结果与所述待预测数据进行关联,获取新的待预测数据。
6.根据权利要求1所述的AI实时预测方法,其特征在于,还包括:
基于所述实时AI元数据对SQL语法进行扩展,获取AI实时预测语法;所述AI实时预测语法包括调用外部AI模型语法结构、删除外部AI模型语法结构和模型预测语法结构。
7.根据权利要求1所述的AI实时预测方法,其特征在于,所述实时AI元数据包括流元数据和外部AI模型元数据。
8.一种AI实时预测装置,其特征在于,包括:
第一获取模块,用于基于与AI关联的SQL语句,获取物理计划;
第二获取模块,用于基于所述物理计划和实时AI元数据,获取配置好的AI引擎;
第三获取模块,用于利用所述配置好的AI引擎对待预测数据进行预测,获取预测结果;所述待预测数据的数据量是根据数据积压情况动态调整的。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中的任一项所述AI实时预测方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中的任一项所述AI实时预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210347798.1A CN116955385A (zh) | 2022-04-01 | 2022-04-01 | Ai实时预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210347798.1A CN116955385A (zh) | 2022-04-01 | 2022-04-01 | Ai实时预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116955385A true CN116955385A (zh) | 2023-10-27 |
Family
ID=88458852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210347798.1A Pending CN116955385A (zh) | 2022-04-01 | 2022-04-01 | Ai实时预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116955385A (zh) |
-
2022
- 2022-04-01 CN CN202210347798.1A patent/CN116955385A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2019210601B2 (en) | Automatic generation of microservices based on technical description of legacy code | |
US10162610B2 (en) | Method and apparatus for migration of application source code | |
Tang et al. | Holistic configuration management at facebook | |
Brown et al. | The Architecture of Open Source Applications: Elegance, Evolution, and a Few Fearless Hacks | |
US10929417B2 (en) | Transforming and loading data utilizing in-memory processing | |
Isard et al. | Distributed data-parallel computing using a high-level programming language | |
US20100175049A1 (en) | Scope: a structured computations optimized for parallel execution script language | |
US9952835B2 (en) | Generation of hybrid enterprise mobile applications in cloud environment | |
US10719506B2 (en) | Natural language query generation | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
CN109408493A (zh) | 一种数据源的迁移方法及系统 | |
CN110196888A (zh) | 基于Hadoop的数据更新方法、装置、系统及介质 | |
US20150347101A1 (en) | R-language integration with a declarative machine learning language | |
US11379499B2 (en) | Method and apparatus for executing distributed computing task | |
US11232105B2 (en) | Unified metrics computation platform | |
US9740735B2 (en) | Programming language extensions in structured queries | |
US9207956B2 (en) | Class loading device for a java runtime environment, cluster system and method of executing a function | |
US11573790B2 (en) | Generation of knowledge graphs based on repositories of code | |
De Alwis et al. | Remodularization analysis for microservice discovery using syntactic and semantic clustering | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
CN105653334B (zh) | 一种基于saas模式的mis系统快速开发框架 | |
CN116955385A (zh) | Ai实时预测方法及装置 | |
Rivera-Landos et al. | The challenge of reproducible ml: an empirical study on the impact of bugs | |
Tarasiev et al. | Developing Prototype of CASE-Tool to Create Automation Systems Based on Web Applications Using Code Generation | |
Beloki et al. | A scalable architecture for data-intensive natural language processing |
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 |