CN116680141B - 异常预测方法、装置、存储介质及电子设备 - Google Patents
异常预测方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN116680141B CN116680141B CN202310956690.7A CN202310956690A CN116680141B CN 116680141 B CN116680141 B CN 116680141B CN 202310956690 A CN202310956690 A CN 202310956690A CN 116680141 B CN116680141 B CN 116680141B
- Authority
- CN
- China
- Prior art keywords
- time interval
- calling
- preset
- preset time
- application programming
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000005856 abnormality Effects 0.000 title claims description 28
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000013528 artificial neural network Methods 0.000 claims abstract description 32
- 230000000306 recurrent effect Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000002159 abnormal effect Effects 0.000 claims abstract description 20
- 230000006870 function Effects 0.000 claims description 65
- 238000010586 diagram Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000013135 deep learning Methods 0.000 abstract description 20
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000000903 blocking effect Effects 0.000 abstract description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 34
- 238000013473 artificial intelligence Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- 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
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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
-
- 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 Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及计算机技术领域,提供了一种异常预测方法、装置、存储介质及电子设备,通过图注意力网络算法、递归神经网络算法和自注意力模型将每个预设时间间隔,对应用程序编程接口的调用顺序进行处理,预测得到预测时间间隔内,应用程序编程接口的调用顺序,通过将预测得到的调用顺序与真实的调用顺序进行比较,可以在两者的差异超过预设范围时,确定预测时间间隔的调用顺序存在异常。面对深度学习框架或人工智能模型对应用程序编程接口调用频次高的情况,将应用程序编程接口的调用情况按照预设时间间隔进行划分和处理,实现分块处理,提高处理效率,提高了深度学习框架或人工智能模型运行时异常定位的及时性、准确性和定位效率。
Description
技术领域
本公开涉及计算机领域,具体地,涉及一种异常预测方法、装置、存储介质及电子设备。
背景技术
随着科技进步,深度学习技术和人工智能技术在社会生活中得到了广泛应用。通过建立不同的深度学习框架和人工智能任务,可以处理不同的实际任务。为了了解这些深度学习框架和人工智能任务在运行时的运行情况,包括深度学习框架和人工智能任务对设备的图形处理器(Graphics Processing Unit,GPU)和中央处理器(Central ProcessingUnit ,CPU)的占用情况,可以通过分析深度学习框架和人工智能任务对不同的应用程序编程接口(Application Programming Interface,API)的调用情况,来监测深度学习框架和人工智能任务的运行性能,及时发现性能异常情况,从而可以帮助对计算资源进行最优化的分配和利用。
而随着深度学习框架和人工智能任务复杂程度的提升,深度学习框架和人工智能任务对应用程序编程接口的调用频次也越来越高,一些深度学习框架和人工智能任务在一定时间内,对应用程序编程接口的调用次数能够达到几十万次甚至上百万次,从这样高数量的调用次数中,很难准确定位到出现性能异常的上下文位置。
发明内容
本公开的目的是提供一种异常预测方法、装置、存储介质及电子设备,以对深度学习框架和人工智能任务运行时的异常进行预测。
为了实现上述目的,本公开实施例的第一方面提供了一种异常预测方法,该方法包括:
获得多个预设时间间隔各自对应的调用顺序信息,其中,一个所述调用顺序信息包括一个所述预设时间间隔内,被调用的应用程序编程接口的顺序;
将多个所述调用顺序信息分别表示为图结构信息,得到与每个所述预设时间间隔对应的图结构信息集合;
调用图注意力网络算法对每个预设时间间隔对应的所述图结构信息集合进行处理,提取得到每个所述图结构信息集合的嵌入表示特征信息;
调用递归神经网络算法和时间自注意力模型对所述嵌入表示特征信息进行处理,得到在预测时间间隔内,所述应用程序编程接口被调用的预测顺序,其中,所述预测时间间隔为所有所述预设时间间隔的下一个时间间隔;
当在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序,与所述预测顺序的差异超过预设范围时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
可选地,将所有所述调用顺序信息分别表示为图结构信息,得到与每个所述预设时间间隔对应的图结构信息集合的步骤包括:
建立与每个所述预设时间间隔对应的,以所述应用程序编程接口为节点,以应用程序编程接口被调用的先后顺序为有向边的图集合;
将每个所述节点的特征编码至预设维度的特征空间,得到所有所述预设时间间隔对应的特征集合,作为所述图结构信息集合,其中,所述特征集合包括所述节点在预设时间间隔的被调用次数、总调用时间以及平均调用时间中的至少一个参数。
可选地,调用递归神经网络算法和时间自注意力模型对所述嵌入表示特征信息进行处理,得到在预测时间间隔内,所述应用程序编程接口被调用的预测顺序的步骤包括:
将所述嵌入表示特征信息作为所述递归神经网络算法的输入数据,调用所述递归神经网络算法对所述嵌入表示特征信息进行建模和学习,得到每个所述预设时间间隔基于所述递归神经网络的隐藏层输出数据;
将所述隐藏层输出数据送入所述时间自注意力模型,计算得到每个所述预设时间间隔的注意力表示函数;
根据每个所述预设时间间隔的注意力表示函数,计算得到所述预测时间间隔对应的注意力表示函数,所述预测时间间隔的注意力表示函数表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序。
可选地,当在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序,与所述预测顺序的差异超过预设范围时,确定在所述预测时间间隔存在性能异常的步骤包括:
将在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序表示为特征函数;
调用预设损失函数,计算所述预测时间间隔对应的注意力表示函数与所述真实调用顺序对应的特征函数之间的损失;
当计算得到的所述预设损失函数的结果大于预设阈值时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
可选地,在确定在所述预测时间间隔存在性能异常的步骤之后,该方法还包括:
记录在所述预测时间间隔,所述应用程序编程接口的真实调用顺序。
可选地,所述预设损失函数为平方差损失函数。
本公开实施例的第二方面一种异常预测装置,该异常预测装置包括:
调用信息获得模块,被配置为获得多个预设时间间隔各自对应的调用顺序信息,其中,一个所述调用顺序信息包括一个所述预设时间间隔内,被调用的应用程序编程接口的顺序;
图结构信息转换模块,被配置为将多个所述调用顺序信息分别表示为图结构信息,得到与每个所述预设时间间隔对应的图结构信息集合;
图注意力网络处理模块,被配置为调用图注意力网络算法对每个预设时间间隔对应的所述图结构信息集合进行处理,提取得到每个所述图结构信息集合的嵌入表示特征信息;
预测模块,被配置为调用递归神经网络算法和时间自注意力模型对所述嵌入表示特征信息进行处理,得到在预测时间间隔内,所述应用程序编程接口被调用的预测顺序,其中,所述预测时间间隔为所有所述预设时间间隔的下一个时间间隔;
异常确定模块,被配置为当在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序,与所述预测顺序的差异超过预设范围时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
可选地,所述预测模块具体被配置为:
将所述嵌入表示特征信息作为所述递归神经网络算法的输入数据,调用所述递归神经网络算法对所述嵌入表示特征信息进行建模和学习,得到每个所述预设时间间隔基于所述递归神经网络的隐藏层输出数据;
将所述隐藏层输出数据送入所述时间自注意力模型,计算得到每个所述预设时间间隔的注意力表示函数;
根据每个所述预设时间间隔的注意力表示函数,计算得到所述预测时间间隔对应的注意力表示函数,所述预测时间间隔的注意力表示函数表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序。
本公开实施例的第三方面提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被第一处理器执行时实现第一方面的步骤。
本公开实施例的第四方面提供了一种电子设备,包括:
存储器,其上存储有计算机程序;
第二处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面的步骤。
基于上述技术方案,通过图注意力网络算法、递归神经网络算法和自注意力模型将每个预设时间间隔,对应用程序编程接口的调用顺序进行处理,预测得到预测时间间隔内,应用程序编程接口的调用顺序,通过将预测得到的调用顺序与真实的调用顺序进行比较,可以在两者的差异超过预设范围时,确定预测时间间隔的调用顺序存在异常。面对人工智能模型对应用程序编程接口调用频次高的情况,将应用程序编程接口的调用情况按照预设时间间隔进行划分和处理,实现分块处理,提高处理效率。同时,一旦应用程序编程接口真实的调用顺序与预测的调用顺序差异超过预设范围时,就立即定位异常发生的时间点和接口位置,无需等到整个模型出现更大规模的故障时,才发现异常,提高了人工智能模型运行时异常定位的及时性、准确性和定位效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开实施例提供的一种异常预测方法的流程示意图;
图2是本公开实施例提供的一种异常预测方法中步骤S102的子步骤流程示意图;
图3是本公开实施例提供的一种异常预测方法中步骤S104的子步骤流程示意图;
图4是本公开实施例提供的一种异常预测装置的框图;
图5是本公开实施例提供的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
在对深度学习框架进行训练或者推理人工智能任务时,可以使用性能监测工具对深度学习框架的训练情况和人工智能任务的推理任务的运行性能进行监测,以使GPU和CPU的资源可以得到最优化利用。例如,可以使用监测算子(Operator,OP)的性能工具和监测统一计算架构(Compute Unified Device Architecture,CUDA)API的性能工具。监测CUDAAPI的性能工具可以通过追踪CUDA API被调用的时间线来统计分析API被调用的信息,例如可以监测被调用的总时间、被调用次数、平均调用时间等特征,通过这些特征可以帮助研发人员定位性能问题。
如果人工智能模型过于复杂,API被调用的频次过高,很难从大量的调用中定位到出现问题的上下文。而如果人工智能模型只有二进制代码,更无法在代码中插入其他性能监测代码,也无法分块使用性能工具来进行问题定位。此外,不同的性能工具捕捉到的API被调用的粒度不同,定位到的问题代码的位置也不同,还需要通过不同性能工具在程序运行的时间线上的映射关系来综合定位异常代码。如此,使用性能工具进行异常定位的方式效率很低,定位位置也不够准确,面对人工智能模型中大量的API调用信息,无法及时的发现异常出现的位置。
有鉴于此,本公开实施例提供了一种异常预测方法,如图1所示,该方法包括步骤S101至步骤S105。
步骤S101,获得多个预设时间间隔各自对应的调用顺序信息,其中,一个所述调用顺序信息包括一个所述预设时间间隔内,被调用的应用程序编程接口的顺序。
API可以是沿时间的先后依次被调用的,深度学习框架或人工智能任务在运行时也可以是对不同的API按照时间的先后依次调用的。通过性能捕捉工具可以得到不同的API被调用的先后顺序,在本公开实施例中,将API被调用的先后顺序按照相同的预设时间间隔进行划分。在实际使用中,该预设时间间隔可以是1秒,一个调用顺序信息就是1秒内,被调用的所有的API的先后顺序信息。多个预设时间间隔在时间先后上可以是相邻的,例如,随着时间流逝,可以获得第1秒内的调用顺序信息,同时获得第2秒内的调用顺序信息,同时获得第3秒内的调用顺序信息,直至获得第t-1秒内的调用顺序信息。可以理解的是,预设时间间隔的长短可以根据实际需要确定,例如可以是1秒或其他长度的时长。每个预设时间间隔对应的调用顺序信息包括在该预设时间间隔内,被调用的API的先后顺序。例如,在预设时间间隔取1秒时,第1秒对应的调用顺序信息可以是,先调用了API A,然后调用了API B,再调用了API C。第2秒对应的调用顺序信息可以是,先调用了API B,然后调用了API A,然后调用了API D,再调用了API A。可以理解的是,每个预设时间间隔对应的调用顺序信息内被调用的API的数量和名称都可是不同的,是以人工智能模型或深度学习框架实际运行时对API调用的实际情况进行记录的。
本公开实施例中获得的调用顺序信息对应的多个预设时间间隔可以是相邻的多个预设时间间隔,获得的多个调用顺序信息在时间上就是前后相邻的,这样的数据可以获得更准确的预测结果。可以理解的是,多个预设时间间隔也可以是不相邻的。例如,当预设时间间隔是1秒时,可以获得第1秒对应的调用顺序信息,然后间隔0.1秒,获得1.1秒至2.1秒的调用顺序信息。本公开实施例对预设时间间隔的相邻关系并不限定。
步骤S102,将多个所述调用顺序信息分别表示为图结构信息,得到与每个所述预设时间间隔对应的图结构信息集合。
在获得了多个预设时间间隔对应的调用顺序信息后,可以将这些调用顺序信息分别抽象表示为图结构信息。详细的,如图2所示,包括以下子步骤S201和子步骤S202。
子步骤S201,建立与每个所述预设时间间隔对应的,以所述应用程序编程接口为节点,以应用程序编程接口被调用的先后顺序为有向边的图集合。
在使用图注意力网络对数据进行处理之前,需要将每个预设时间间隔对应的调用顺序信息抽象为图G(N,E),其中N表示图节点集,代表所有的API,E是边节点集,例如,在调用顺序信息中,如果API A被调用之后,再调用了API B,则API A和API B两个节点之间就构成了一条有向边。
子步骤S202,将每个所述节点的特征编码至预设维度的特征空间,得到所有所述预设时间间隔对应的特征集合,作为所述图结构信息集合,其中,所述特征集合包括所述节点在预设时间间隔的被调用次数、总调用时间以及平均调用时间中的至少一个参数。
将每个图节点V的特征编码到一个预设维度的特征空间,该预设维度可以用D来表示,特征集合包括该图节点V在t-1时刻的被调用次数,总调用时间,平均调用时间等,可以将特征集合示为{Vi 1,Vi 2,……Vi t-1∈RD}。
步骤S103,调用图注意力网络算法对每个预设时间间隔对应的所述图结构信息集合进行处理,提取得到每个所述图结构信息集合的嵌入表示特征信息。
通过图注意力网络(Graph Attention Networks,GAT)算法学习图的嵌入表示特征信息,将网络结构编码到非线性空间,通过提取图节点的特征,来学习图结构信息。嵌入表示特征信息是指对图结构信息进行数据转换后得到的具有固定大小的特征表示(通常为矢量形式)。
步骤S104,调用递归神经网络算法和时间自注意力模型对所述嵌入表示特征信息进行处理,得到在预测时间间隔内,所述应用程序编程接口被调用的预测顺序,其中,所述预测时间间隔为所有所述预设时间间隔的下一个时间间隔。
其中,预测时间间隔的长度可以与预设时间间隔的长度相同,例如,预设时间间隔的长度为1秒,预测时间间隔的长度也可以为1秒。可以理解的是,预测时间间隔是与所有预设时间间隔相邻的下一个时间间隔。例如,预设时间间隔取1秒,在以上处理调用顺序信息的过程中,如果处理了从第1秒开始,直至第t-2秒的调用顺序信息,那么预测时间间隔就为第t-1秒。
详细的,如图3所示,得到应用程序编程接口被调用的预测顺序的步骤包括以下子步骤S401至子步骤S403。
子步骤S401,将所述嵌入表示特征信息作为所述递归神经网络算法的输入数据,调用所述递归神经网络算法对所述嵌入表示特征信息进行建模和学习,得到每个所述预设时间间隔基于所述递归神经网络的隐藏层输出数据。
子步骤S402,将所述隐藏层输出数据送入所述时间自注意力模型,计算得到每个所述预设时间间隔的注意力表示函数。
子步骤S403,根据每个所述预设时间间隔的注意力表示函数,计算得到所述预测时间间隔对应的注意力表示函数,所述预测时间间隔的注意力表示函数表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序。
递归神经网络(Recursive Neural Network,RNN)算法能够在连续的时间序列中建模顺序信息和学习进化模式,对预测时间间隔的API调用顺序进行预测可以包括两部分,RNN和时间自注意力模型。可以将不同预设时间间隔RNN的输出表示为{Si 1,Si 2,……Si t-1∈RD},其中,i表示节点个数,D是图嵌入表示特征信息的预设维度,RD表示D维的实数空间,将不同预设时间间隔RNN的输出送入时间注意力模型,获得{Zi 1,Zi 2,……Zi t-1∈RD},其中,Z为预设时间间隔对应的注意力表示。该注意力模型可以采用自注意力机制,可以将注意力模型中的查询矩阵、键矩阵和值矩阵分别设置为Q=SWq,K=SWk,V=SWv,其中,Q、K、S分别表示查询矩阵、键矩阵和值矩阵,Wq、Wk、Wv为可学习权重矩阵,将不同时刻RNN的输出S映射到不同的特征空间,从而得到每一预设时间间隔S的注意力表示函数Z。公式表示如下:
其中,D为预设维度,M为偏向矩阵,softMax为多分类激活函数。通过所述预测时间间隔的注意力表示函数来表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序。例如,在预设时间间隔和预测时间间隔都取1秒时,通过将第1秒至第t-1秒的调用顺序信息作为图注意力网络算法的输入,最后通过自注意力模型得到t-1时刻的注意力表示函数,最后预测时间间隔的注意力表示函数是Zt-1,可以通过Zt-1来表征预测时间间隔t-1的API调用顺序。
步骤S105,当在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序,与所述预测顺序的差异超过预设范围时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
详细的,确定预测时间间隔的API调用顺序存在异常的步骤可以包括以下子步骤S501至子步骤S503。
子步骤S501,将在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序表示为特征函数。
预测时间间隔内,API被调用的真实顺序可以通过性能工具监测得到,可以将这一真实调用顺序表示为特征函数,以Vt表示。
子步骤S502,调用预设损失函数,计算所述预测时间间隔对应的注意力表示函数与所述真实调用顺序对应的特征函数之间的损失。
本公开实施例中的预设损失函数可以采用平方差损失函数,将注意力表示函数计算得到的Zt-1与基于真实调用顺序计算得到的特征函数Vt代入平方差损失函数,计算得到结果。其中,预设损失函数可以采用如下公式计算:
子步骤S503,当计算得到的所述预设损失函数的结果大于预设阈值时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
当计算得到的所述预设损失函数的结果大于预设阈值时,表明在预测时间间隔内,所述应用程序编程接口被调用的预测顺序与实际运行过程中的真实调用顺序的偏差较大,从而可以确定在该预测时间间隔内,深度学习框架或人工智能任务对API的调用出现了异常。
通过上述异常预测方法,通过图注意力网络算法、递归神经网络算法和自注意力模型将每个预设时间间隔,对应用程序编程接口的调用顺序进行处理,预测得到预测时间间隔内,应用程序编程接口的调用顺序,通过将预测得到的调用顺序与真实的调用顺序进行比较,可以在两者的差异超过预设范围时,确定预测时间间隔的调用顺序存在异常。面对人工智能模型对应用程序编程接口调用频次高的情况,将应用程序编程接口的调用情况按照预设时间间隔进行划分和处理,实现分块处理,提高处理效率。同时,一旦应用程序编程接口真实的调用顺序与预测的调用顺序差异超过预设范围时,就立即定位异常发生的时间点和接口位置,无需等到整个模型出现更大规模的故障时,才发现异常,提高了人工智能模型运行时异常定位的及时性、准确性和定位效率。
即使深度学习框架和人工智能任务采用二进制代码运行,也可以通过本公开实施例中的异常预测方法确定预测时刻的API调用顺序是否出现异常,减轻了代码分析的工作量,提高了分析深度学习框架和人工智能任务运行时性能异常的效率。
可以理解的是,本公开实施例中的异常预测算法可以针对深度学习框架或人工智能任务运行时的异常预测,深度学习框架或人工智能任务可以是图像处理任务、文字处理任务或其他形式的处理任务。
在一个实施例中,在确定在所述预测时间间隔存在性能异常的步骤之后,该方法还可以包括:
步骤S106,记录在所述预测时间间隔,所述应用程序编程接口的真实调用顺序。
在确定预测时间间隔的调用顺序存在异常时,可以将这样的异常的真实调用顺序进行记录,方便对出现异常的原因进行分析,从而对深度学习框架或者人工智能模型进行改进。还可以基于工作经验分析真实调用顺序是否真实的存在异常,由于本公开实施例中确定异常是通过比较真实调用顺序与预测得到的预测顺序进行比对计算,如果异常预测方法中存在问题,那么可能预测得到的预测顺序也存在与真实调用顺序偏离过大的情况,而实际上预测时间间隔的真实调用顺序是正常的。此时,就可以根据记录下的真实调用顺序以及预测顺序对异常预测方法中的图注意力网络、递归神经网络中的某些参数进行调整,以提高异常预测方法的预测准确度,避免出现预测结果存在错误的情况。
如图4所示,本公开实施例还提供了一种异常预测装置400,该异常预测装置400包括:调用信息获得模块401、图结构信息转换模块402、图注意力网络处理模块403、预测模块404以及异常确定模块405。其中:
调用信息获得模块401,被配置为获得多个预设时间间隔各自对应的调用顺序信息,其中,一个所述调用顺序信息包括一个所述预设时间间隔内,被调用的应用程序编程接口的顺序;
图结构信息转换模块402,被配置为将多个所述调用顺序信息分别表示为图结构信息,得到与每个所述预设时间间隔对应的图结构信息集合;
图注意力网络处理模块403,被配置为调用图注意力网络算法对每个预设时间间隔对应的所述图结构信息集合进行处理,提取得到每个所述图结构信息集合的嵌入表示特征信息;
预测模块404,被配置为调用递归神经网络算法和时间自注意力模型对所述嵌入表示特征信息进行处理,得到在预测时间间隔内,所述应用程序编程接口被调用的预测顺序,其中,所述预测时间间隔为所有所述预设时间间隔的下一个时间间隔;
异常确定模块405,被配置为当在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序,与所述预测顺序的差异超过预设范围时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
在一个实施例中,所述图结构信息转换模块402具体被配置为建立与每个所述预设时间间隔对应的,以所述应用程序编程接口为节点,以应用程序编程接口被调用的先后顺序为有向边的图集合;
将每个所述节点的特征编码至预设维度的特征空间,得到所有所述预设时间间隔对应的特征集合,作为所述图结构信息集合,其中,所述特征集合包括所述节点在预设时间间隔的被调用次数、总调用时间以及平均调用时间中的至少一个参数。
在一个实施例中,图注意力网络处理模块403具体被配置为将所述嵌入表示特征信息作为所述递归神经网络算法的输入数据,调用所述递归神经网络算法对所述嵌入表示特征信息进行建模和学习,得到每个所述预设时间间隔基于所述递归神经网络的隐藏层输出数据;
将所述隐藏层输出数据送入所述时间自注意力模型,计算得到每个所述预设时间间隔的注意力表示函数;
根据每个所述预设时间间隔的注意力表示函数,计算得到所述预测时间间隔对应的注意力表示函数,所述预测时间间隔的注意力表示函数表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序。
在一个实施例中,所述预测模块404具体被配置为:
将所述嵌入表示特征信息作为所述递归神经网络算法的输入数据,调用所述递归神经网络算法对所述嵌入表示特征信息进行建模和学习,得到每个所述预设时间间隔基于所述递归神经网络的隐藏层输出数据;
将所述隐藏层输出数据送入所述时间自注意力模型,计算得到每个所述预设时间间隔的注意力表示函数;
根据每个所述预设时间间隔的注意力表示函数,计算得到所述预测时间间隔对应的注意力表示函数,所述预测时间间隔的注意力表示函数表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序。
在一个实施例中,异常预测装置还可以包括记录模块,被配置为记录在所述预测时间间隔,所述应用程序编程接口的真实调用顺序。
本公开实施例还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被第一处理器执行时上述异常预测方法的步骤。
如图5所示,本公开实施例还提供了一种电子设备500,该电子设备500可以包括:第二处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。
其中,第二处理器501用于控制该电子设备500的整体操作,以完成上述的异常预测方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为第二处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的异常预测方法。
在另一实施例中,电子设备500还可以被提供为一服务器。电子设备500包括第三处理器,其数量可以为一个或多个,以及存储器502,用于存储可由第三处理器执行的计算机程序。存储器502中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,第三处理器可以被配置为执行该计算机程序,以执行上述的异常预测方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (6)
1.一种异常预测方法,其特征在于,该方法包括:
获得多个预设时间间隔各自对应的调用顺序信息,其中,一个所述调用顺序信息包括一个所述预设时间间隔内,被调用的应用程序编程接口的顺序;
建立与每个所述预设时间间隔对应的,以所述应用程序编程接口为节点,以应用程序编程接口被调用的先后顺序为有向边的图集合;
将每个所述节点的特征编码至预设维度的特征空间,得到所有所述预设时间间隔对应的特征集合,作为图结构信息集合,其中,所述特征集合包括所述节点在预设时间间隔的被调用次数、总调用时间以及平均调用时间中的至少一个参数;
调用图注意力网络算法对每个预设时间间隔对应的所述图结构信息集合进行处理,提取得到每个所述图结构信息集合的嵌入表示特征信息;
将所述嵌入表示特征信息作为递归神经网络算法的输入数据,调用所述递归神经网络算法对所述嵌入表示特征信息进行建模和学习,得到每个所述预设时间间隔基于所述递归神经网络的隐藏层输出数据;
将所述隐藏层输出数据送入时间自注意力模型,计算得到每个所述预设时间间隔的注意力表示函数;
根据每个所述预设时间间隔的注意力表示函数,计算得到预测时间间隔对应的注意力表示函数,所述预测时间间隔的注意力表示函数表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序,其中,所述预测时间间隔为所有所述预设时间间隔的下一个时间间隔;
将在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序表示为特征函数;
调用预设损失函数,计算所述预测时间间隔对应的注意力表示函数与所述真实调用顺序对应的特征函数之间的损失;
当计算得到的所述预设损失函数的结果大于预设阈值时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
2.根据权利要求1所述的异常预测方法,其特征在于,在确定在所述预测时间间隔存在性能异常的步骤之后,该方法还包括:
记录在所述预测时间间隔,所述应用程序编程接口的真实调用顺序。
3.根据权利要求1和2任意一项所述的异常预测方法,其特征在于,所述预设损失函数为平方差损失函数。
4.一种异常预测装置,其特征在于,该异常预测装置包括:
调用信息获得模块,被配置为获得多个预设时间间隔各自对应的调用顺序信息,其中,一个所述调用顺序信息包括一个所述预设时间间隔内,被调用的应用程序编程接口的顺序;
图结构信息转换模块,被配置为建立与每个所述预设时间间隔对应的,以所述应用程序编程接口为节点,以应用程序编程接口被调用的先后顺序为有向边的图集合;将每个所述节点的特征编码至预设维度的特征空间,得到所有所述预设时间间隔对应的特征集合,作为图结构信息集合,其中,所述特征集合包括所述节点在预设时间间隔的被调用次数、总调用时间以及平均调用时间中的至少一个参数;
图注意力网络处理模块,被配置为调用图注意力网络算法对每个预设时间间隔对应的所述图结构信息集合进行处理,提取得到每个所述图结构信息集合的嵌入表示特征信息;
预测模块,被配置为将所述嵌入表示特征信息作为递归神经网络算法的输入数据,调用所述递归神经网络算法对所述嵌入表示特征信息进行建模和学习,得到每个所述预设时间间隔基于所述递归神经网络的隐藏层输出数据;将所述隐藏层输出数据送入时间自注意力模型,计算得到每个所述预设时间间隔的注意力表示函数;根据每个所述预设时间间隔的注意力表示函数,计算得到预测时间间隔对应的注意力表示函数,所述预测时间间隔的注意力表示函数表征在所述预测时间间隔内,所述应用程序编程接口被调用的预测顺序,其中,所述预测时间间隔为所有所述预设时间间隔的下一个时间间隔;
异常确定模块,被配置为将在所述预测时间间隔内,所述应用程序编程接口的真实调用顺序表示为特征函数;调用预设损失函数,计算所述预测时间间隔对应的注意力表示函数与所述真实调用顺序对应的特征函数之间的损失;当计算得到的所述预设损失函数的结果大于预设阈值时,确定在所述预测时间间隔内,所述应用程序编程接口的调用顺序存在异常。
5.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被第一处理器执行时实现权利要求1至3中任一项所述方法的步骤。
6.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
第二处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1至3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310956690.7A CN116680141B (zh) | 2023-07-31 | 2023-07-31 | 异常预测方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310956690.7A CN116680141B (zh) | 2023-07-31 | 2023-07-31 | 异常预测方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116680141A CN116680141A (zh) | 2023-09-01 |
CN116680141B true CN116680141B (zh) | 2023-12-01 |
Family
ID=87791334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310956690.7A Active CN116680141B (zh) | 2023-07-31 | 2023-07-31 | 异常预测方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680141B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966714A (zh) * | 2021-02-02 | 2021-06-15 | 湖南大学 | 一种边缘时序数据异常检测和网络可编程控制方法 |
CN113961922A (zh) * | 2021-10-27 | 2022-01-21 | 浙江网安信创电子技术有限公司 | 一种基于深度学习的恶意软件行为检测与分类系统 |
CN115018021A (zh) * | 2022-08-08 | 2022-09-06 | 广东电网有限责任公司肇庆供电局 | 基于图结构与异常注意力机制的机房异常检测方法及装置 |
CN115269357A (zh) * | 2022-09-23 | 2022-11-01 | 华南理工大学 | 一种基于调用链的微服务异常检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11301563B2 (en) * | 2019-03-13 | 2022-04-12 | International Business Machines Corporation | Recurrent neural network based anomaly detection |
-
2023
- 2023-07-31 CN CN202310956690.7A patent/CN116680141B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966714A (zh) * | 2021-02-02 | 2021-06-15 | 湖南大学 | 一种边缘时序数据异常检测和网络可编程控制方法 |
CN113961922A (zh) * | 2021-10-27 | 2022-01-21 | 浙江网安信创电子技术有限公司 | 一种基于深度学习的恶意软件行为检测与分类系统 |
CN115018021A (zh) * | 2022-08-08 | 2022-09-06 | 广东电网有限责任公司肇庆供电局 | 基于图结构与异常注意力机制的机房异常检测方法及装置 |
CN115269357A (zh) * | 2022-09-23 | 2022-11-01 | 华南理工大学 | 一种基于调用链的微服务异常检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116680141A (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9491186B2 (en) | Method and apparatus for providing hierarchical pattern recognition of communication network data | |
US10540612B2 (en) | Technique for validating a prognostic-surveillance mechanism in an enterprise computer system | |
CN111431819A (zh) | 一种基于序列化的协议流特征的网络流量分类方法和装置 | |
US11695643B1 (en) | Statistical control rules for detecting anomalies in time series data | |
CN108415810B (zh) | 一种硬盘状态监控方法和装置 | |
CN114662618B (zh) | 一种基于联邦学习的故障诊断方法、装置及相关设备 | |
CN111104299A (zh) | 一种服务器性能预测方法、装置及电子设备和存储介质 | |
KR102359090B1 (ko) | 실시간 기업정보시스템 이상행위 탐지 서비스를 제공하는 방법과 시스템 | |
WO2022115419A1 (en) | Method of detecting an anomaly in a system | |
CN111311014B (zh) | 业务数据处理方法、装置、计算机设备和存储介质 | |
CN111209564A (zh) | 一种云平台安全状态预测方法、装置、设备及存储介质 | |
CN115905450A (zh) | 一种基于无人机监控的水质异常溯源方法及系统 | |
US20220413481A1 (en) | Geometric aging data reduction for machine learning applications | |
CN116680141B (zh) | 异常预测方法、装置、存储介质及电子设备 | |
CN116915720A (zh) | 物联网设备流量识别方法、系统、电子设备及存储介质 | |
CN109343952B (zh) | 贝叶斯网络确定方法、装置、存储介质和电子设备 | |
KR102613084B1 (ko) | 침입을 탐지하는 전자 장치 및 그 방법 | |
CN113849333B (zh) | 一种基于WN-Spline基线域算法的数据中心自驱排障方法及系统 | |
CN114385398A (zh) | 一种请求响应状态确定方法、装置、设备和存储介质 | |
CN111709366A (zh) | 用于生成分类信息的方法、装置、电子设备和介质 | |
CN117891566B (zh) | 智能软件的可靠性评估方法、装置、设备、介质和产品 | |
CN113347021B (zh) | 一种模型生成方法、撞库检测方法、装置、电子设备及计算机可读存储介质 | |
KR102598126B1 (ko) | 클러스터 환경 내 중복된 보안 위협 데이터 관리 방법 및 이를 위한 장치 | |
US20240214414A1 (en) | Incremental causal graph learning for attack forensics in computer systems | |
WO2024051364A1 (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 |