CN116541179A - 一种计算资源预测方法和系统 - Google Patents
一种计算资源预测方法和系统 Download PDFInfo
- Publication number
- CN116541179A CN116541179A CN202310823535.8A CN202310823535A CN116541179A CN 116541179 A CN116541179 A CN 116541179A CN 202310823535 A CN202310823535 A CN 202310823535A CN 116541179 A CN116541179 A CN 116541179A
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- task
- graph
- network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 188
- 238000004364 calculation method Methods 0.000 claims abstract description 21
- 238000010801 machine learning Methods 0.000 claims abstract description 10
- 239000013598 vector Substances 0.000 claims description 76
- 238000012549 training Methods 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 10
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims 3
- 230000008569 process Effects 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 14
- 238000005457 optimization Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000013468 resource allocation Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供一种计算资源预测方法和系统,涉及计算机技术领域,主要包括:获取数据处理任务的特征数据;所述特征数据反映处理算法逻辑以及待处理数据量;通过机器学习模型处理所述特征数据,得到数据处理任务的计算资源量;所述计算资源量包括处理器用量和/或内存用量;所述计算资源量用于提交给处理设备,以便基于此向所述数据处理任务分配计算资源。
Description
技术领域
本说明书涉及计算机技术领域,特别涉及一种计算资源预测方法和系统。
背景技术
计算资源一般包括计算设备中的存储资源和算力资源,存储资源具体可以是内存(中央处理器中的MEM、图形处理器中的显存),算力资源可以是处理器(如中央处理器、图形处理器)等。数据处理任务用于基于预设的处理算法逻辑对待处理数据进行处理,得到处理结果。数据处理任务由计算设备执行,对于计算设备执行的数据处理任务而言,其均占有一定的计算资源。向数据处理任务配置合理的计算资源,有利于提高处理效率,降低资源浪费。
本说明书一些实施例旨在提供一种计算资源预测方法和系统,预估待执行的数据处理任务需要的计算资源,进而优化计算设备内的资源配置。
发明内容
本说明书一个或多个实施例提供一种计算资源预测方法,由一个以上处理器执行,其包括:获取数据处理任务的特征数据;所述特征数据反映处理算法逻辑以及待处理数据量;通过机器学习模型处理所述特征数据,得到数据处理任务的计算资源量;所述计算资源量包括处理器用量和/或内存用量;所述计算资源量用于提交给处理设备,以便基于此向所述数据处理任务分配计算资源。
本说明书一个或多个实施例提供一种计算资源预测系统,包括:特征获取模块,用于获取数据处理任务的特征数据;所述特征数据反映处理算法逻辑以及待处理数据量;特征处理模块,用于通过机器学习模型处理所述特征数据,得到数据处理任务的计算资源量;所述计算资源量包括处理器用量和/或内存用量;所述计算资源量用于提交给处理设备,以便基于此向所述数据处理任务分配计算资源。
本说明书一个或多个实施例提供一种计算资源预测装置,包括处理器及存储介质,所述存储介质上存储有计算机指令,所述处理器用于执行所述计算机指令中的至少一部分,以实现前述的计算资源预测方法。
本说明书一个或多个实施例提供一种计算资源预测模型的训练方法,包括:获取数据处理任务样本的特征数据以及标签;所述特征数据反映处理算法逻辑以及待处理数据量,所述标签反映数据处理任务样本的实际计算资源用量;计算资源量包括处理器用量和/或内存用量;通过模型处理所述特征数据,得到预测的计算资源量;调整所述模型的模型参数,以减小预测的计算资源用量与对应的实际计算资源用量的差异。
本说明书一个或多个实施例提供一种计算资源预测模型系统,用于处理数据处理任务的特征数据,得到数据处理任务的计算资源用量;所述特征数据包括数据处理代码、计算图以及预计任务流量;所述计算图包括图节点和边,图节点对应算子,边对应算子间的数据流向;所述系统包括:基础特征输入层,用于至少基于预计任务流量确定基础特征;第一网络,用于处理所述数据处理代码,得到代码编码向量;第二网络,用于处理所述计算图,得到图嵌入向量;第三网络,用于处理所述基础特征、所述代码编码向量以及所述图嵌入向量,得到所述计算资源量。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的应用场景示意图;
图2是根据本说明书一些实施例所示的计算资源预测方法的示例性流程图;
图3是根据本说明书一些实施例所示的计算图;
图4是根据本说明书一些实施例所示的用于预测计算资源的模型的结构示意图;
图5是根据本说明书一些实施例所示的第一网络的示意图;
图6是根据本说明书一些实施例所示的模型训练的示例性流程图;
图7是根据本说明书一些实施例所示的计算资源预测系统的示意框图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
数据处理任务用于基于预设的处理算法逻辑对待处理数据进行处理,得到处理结果。数据处理任务包括处理算法逻辑和待处理数据两方面的内容。处理算法逻辑具体可以表现为计算机代码,代码被处理设备执行后能够实现所述处理算法逻辑。所述代码可以是基于C语言、汇编语言、Python语言、SQL语言等编写得到。在一些实施例中,待处理数据可以是编写在所述代码中的。在又一些实施例中,待处理数据可以是独立于代码的,代码执行时需要通过网络事实获取待处理数据、或者到指定的存储区域或数据文件中读取待处理数据,完成数据处理。
计算资源一般包括计算设备中的存储资源和算力资源。存储资源具体可以是内存(中央处理器中的MEM、图形处理器中的显存),算力资源可以是处理器(如中央处理器、图形处理器)等。对于运行于计算设备中的数据处理任务,其会暂用一定量的计算资源,具体可以包括内存占用量或者处理器占用量,又或者是同时占用两者的量。内存占用量可以由所占用的字节数描述,也可以使用占用比例描述。处理器占用量可以由所占用的处理器核数来描述,也可以是处理器的占用比例。
大数据处理场景中,常用到数据处理引擎。数据处理引擎包括处理数据操作的组件,组件可以是封装好的且具备一定通用性的程序代码,其可以完成特定的计算功能。组件可以被数据处理任务对应的代码调用,以提高代码编写的效率。示例性的组件可以包括卷积组件,用于对数据进行卷积操作、编码组件,用于对数据进行编码、或者组件可以是实现数据批处理map组件、join组件或者filter组件等。数据处理任务可以提交给数据处理引擎,数据处理引擎可以对数据处理任务进行预处理,如编译,之后,数据处理引擎可以向处理设备申请计算资源,以执行预处理后的数据处理任务。
在一些实施例中,处理设备可以通过资源优化引擎接收资源请求,并进行计算资源优化分配。资源优化引擎可以是实现计算资源量预估和分配等功能的软件系统。如图1所示,处理设备中可以部署有资源优化引擎和数据处理引擎。在一些实施例中,数据处理引擎可以向资源优化引擎申请计算资源,资源优化引擎确定出预设量的计算资源,并分配给数据处理引擎。在一些实施例中,资源优化引擎(如图1中的资源优化引擎110)可以同时与多个数据处理引擎(如图1中的数据处理引擎121、数据处理引擎122等)交互,完成资源分配。作为示例,在计算集群中,具有多台计算设备,每台计算设备上可以部署一套以上数据处理引擎,资源优化引擎可以位于作为中心服务器的计算设备上,接收各数据处理引擎的申请,并分配相应的计算资源。
向数据处理任务配置合理的计算资源,有利于提高处理效率,降低资源浪费。因此,如何进行计算资源配置是业内一直比较关注的问题。在一些实施例中,计算资源配置方案不会直接对数据处理任务进行计算资源预估,而是在数据处理任务实际执行时,直接通过任务 运行指标对其所需的计算资源进行动态调整。具体的,这种方式具有如下的启发式规则:当任务出现延迟或任务执行导致内存溢出(OOM)时,则增加计算资源配置量;当任务对计算资源利用率过低时,则缩小计算资源配置量。这样方式存在如下缺点:1. 在任务异常发生后才生效,可能导致一段时间内任务执行中断;2. 为了保证任务执行过程顺利,过量配置计算资源,进而导致资源浪费;3. 需要多次进行计算资源配置量的调整,效率低。为此,本说明书一些实施例提供了一种计算资源预测方法,旨在针对具体的数据处理任务预测其所需的计算资源量,进而处理设备或资源优化引擎可以基于此向数据处理任务分配相应的计算资源,实现资源配置的优化、提高配置效率。
应当理解为,本说明书一些实施例提供的计算资源预测方法或系统可以集成在所述资源优化引擎中,也可以独立部署于相应的处理设备中。
图2是根据本说明书一些实施例所示的计算资源预测方法的示例性流程图。在一些实施例中,流程200可以由处理设备执行,处理设备可以是多处理器设备或单处理器设备,相应的,流程200可以具体由一个以上处理器执行。在一些实施例中,流程200可以由部署于处理设备上的计算资源预测系统700实现。流程200具体可以包括:
步骤210,获取数据处理任务的特征数据。在一些实施例中,步骤210可由特征获取模块710实现。
如前所述,数据处理任务主要包括处理算法逻辑和待处理数据两方面的内容。因此,在一些实施例中,所述特征数据需要反映处理算法逻辑以及待处理数据量。在一些实施例中,特征数据可以进一步包括数据处理代码,以体现处理算法逻辑。
在一些实施例中,数据处理任务对应有计算图。计算图是由数据处理算子(可简称为算子)组成的有向无环图(DAG,Directed Acyclic Graph)。图由图节点和边构成,所谓有向,是指图中的边是具有方向的,无环,是指图中不会形成闭合的回路。图3是根据本说明书一些实施例所示的计算图,计算图中包括节点310、节点320、节点330以及节点340,节点之间具有边,且边是带有箭头指向的有向边,图中不会形成闭环。对于选定的图节点而言,箭头方向远离自身的边可以称为出边,箭头方向趋近自身的边可以称为入边。在计算图中,图节点对应的是算子,边则反映数据在算子间的流向。数据处理算子与前述的组件类似,其可以看成是具有特定数据处理功能的计算机指令或其集合。在一些实施例中,算子可以不依赖于数据处理引擎而存在,也可以集成在数据处理引擎中,此时算子与组件的概念可以互换。计算图以一种更加直观、简洁的方式呈现了处理算法逻辑,因此,可以在特征数据中引入计算图,以描述数据处理任务的处理算法逻辑。作为示例,数据处理任务由SQL语言编写,图3中的节点310和节点320可以分别对应数据获取算子,如指令SELECT * from<表名>,其中,*是设定的筛选条件,如字段名。具体的,节点310和节点320分别对应从不同数据源获取不同字段的值的数据获取算子。节点330可以对应join算子,用于将节点310和节点320获取的字段的值按照相同的ID进行对齐,组成一张新的表。该表具有3列,分别对应ID列、字段1和字段2。节点340可以对应求和算子,用于将同一ID对应的两个字段的值进行求和运算,得到新表的和字段,即第4列。
在一些实施例中,特征数据可以包括待处理数据的总量,以表征待处理数据量。或者,特征数据可以包括任务流量。数据的流量具体可以描述为单位时间内待处理的请求数量或数据字节数。任务流量则是指该任务需要在单位时间内处理的请求数量或数据字节数。在一些实施例中,任务流量可以是预计的。例如,可以根据相同或类似任务的历史任务流量预估得到。作为示例,某平台的查询服务在过去一天内处理的查询任务流量峰值为10万req/sec,因此,特征数据中的待处理数据量可以描述为10万req/sec。
在一些实施例中,特征数据还可以包括任务元数据,任务元数据反映与数据处理任务有关的一些基础信息,如包括任务的来源,具体可以是提交数据处理任务的处理设备或计算集群的标识,任务元数据还可以包括任务去向,具体可以是执行该任务的处理设备或计算集群标识,任务元数据还可以包括任务所属的业务领域,示例性的,如推广部门、售后部门、生产部门等。
步骤220,通过机器学习模型处理特征数据,得到数据处理任务的计算资源量。在一些实施例中,步骤220可由特征处理模块720实现。
所述计算资源量包括处理器用量和/或内存用量,所述计算资源量用于提交给处理设备,以便基于此向所述数据处理任务分配计算资源。
在一些实施例中,机器学习模型可以包括神经网络,将所述特征数据输入机器学习模型,得到的输出即为计算资源量。关于计算资源量可以在说明书的前述内容中找到,在此不再赘述。
在一些实施例中,可以对不同的特征数据分别进行处理后,再输入到神经网络中。具体的,可以基于预计任务流量确定基础特征。例如,对预计任务流量进行编码,得到对应的基础特征向量。又或者,可以直接将预计任务流量作为所述基础特征。在一些实施例中,可以联合预计任务流量和任务元数据确定基础特征。示例性的,可以分别对预计任务流量、任务元数据进行独热编码得到两个向量,然后将两者拼接,得到基础特征向量。
在一些实施例中,可以通过第一网络处理数据处理代码,得到代码编码向量。在一些实施例中,第一网络可以依次处理代码中的字符,得到各字符的编码向量,最后将各字符的编码向量拼接,得到所述代码编码向量。在一些实施例,第一网络可以包括Transformer。
在又一些实施例中,第一网络可以包括BERT模型或BERT-tiny模型。图5是根据本说明书一些实施例所示的第一网络的示意图。如图5所示,可以将数据处理代码中的字符转化为对应的字符token,如编码得到字符token(如图示的输入token 510),然后输入到第一网络中,将第一网络输出(如图中的输出向量 520)的CLS位置对应的向量作为所述代码编码向量。在一些实施例中,可以对数据处理代码进行分词,每个分词可以包括一个以上字符,示例性的,可以将“CREATE TABLE”看作一个分词。再对各分词进行编码,得到分词token,再将分词token输入到第一网络中,将第一网络输出的CLS位置对应的向量作为所述代码编码向量。在又一些可选的实施例中,还可以为字符/分词设置句子token,位于同一句子中的字符/分词具有相同的句子token,位于不同句子的字符/分词具有不同的句子token。各字符/分词的字符/分词token及句子token对应相加或拼接后,输入到第一网络中。
第一网络可以经过预调优得到。具体的,可以获取样本代码,将样本代码中的部分字符遮罩掉,如将图5中的“INSERT”使用[mask]替代,将经过遮罩处理的样本代码按照上述处理得到输入token后,输入到第一网络中,基于第一网络在[mask]字符对应位置的向量得到预测字符,优化第一网络的模型参数,使得预测字符与被遮罩掉的字符(如“INSERT”)一致。
作为第一网络的BERT模型或BERT-tiny模型已经过大量语料预训练,在此基础上,使用样本代码进行调优,可以提高第一网络的处理精度。
在一些实施例中,可以通过第二网络处理计算图,得到图嵌入向量。具体的,通过第二网络可以获取各图节点的聚合向量,再对各图节点的聚合向量进行运算(如叠加或拼接等),得到计算图的图嵌入向量。图节点的聚合向量融入了图节点自身及其周围邻居节点的信息以及节点的关系结构,因此更能准确的描述图节点。
以下,对获取图节点的聚合向量的过程进行详细说明。
在一些实施例中,所述第二网络可以包括图卷积网络。将各图节点的初始节点向量(可随机生成或基于预设的编码方式对节点特征编码得到)组成节点特征矩阵,基于节点间的关系生成邻接矩阵,利用图卷积网络对节点特征矩阵以及邻接矩阵进行迭代处理,得到各图节点最终的节点向量。由于图卷积网络在迭代更新图节点的节点向量同时,会引入节点间的关系(即邻接矩阵),因此,其输出图节点的节点向量实际已经聚合了其周围邻居节点的信息,可以看作是图节点的聚合向量。
在又一些实施例中,第二网络可以包括结构简单的前馈神经网络或称为前馈子网络,对于计算图中的任一图节点,可以利用前馈子网络依次处理该图节点的邻接节点的节点向量,得到邻接节点的映射向量。其中,邻接节点可以是图节点的下游一跳图节点,下游一跳是指该图节点的出边指向的图节点,如图3中,节点330是节点310的下游一跳图节点,节点340是节点330的下游一跳图节点。在一些实施例中,前馈子网络可以包括一层以上的神经元,最后一层神经元的个数可以与节点向量的维数一致,这样图节点的映射向量与原始的节点向量是对齐的。之后,再对该图节点的各邻接节点的映射向量进行聚合运算,得到聚合邻接向量。这里的聚合运算可以包括叠加,或者叠加后再次映射。最后,将聚合邻接向量与该图节点的节点向量再次聚合,得到该图节点的聚合向量。进一步可以参照公式(1):
(1);
公式(1)中,为图节点i的聚合向量,f()为前馈子网络,g()为另一映射网络,其结构可以与f()相同。
通过第三网络处理前述得到的基础特征、代码编码向量以及图嵌入向量,得到计算资源量。第三网络可以包括神经网络。具体的,可以将基础特征、代码编码向量和图嵌入向量进行叠加,再经过第三网络层次处理,得到计算资源量的预测结果。
在预测计算资源量时,除了引入源代码外,还通过图嵌入技术对计算图进行处理,引入了处理算法逻辑的核心信息,有助于进一步提高模型的预测精度。
图4是根据本说明书一些实施例所示的用于预测计算资源的模型的结构示意图。计算资源预测模型系统400,用于处理数据处理任务的特征数据,得到数据处理任务的计算资源用量;所述特征数据包括数据处理代码、计算图以及预计任务流量;计算资源预测模型系统400包括:基础特征输入层,具体可以是线性网络或其他前馈神经网络,用于基于预计任务流量或基于预计任务流量和任务元数据确定基础特征;第一网络,用于处理所述数据处理代码,得到代码编码向量;第二网络,用于处理所述计算图,得到图嵌入向量;第三网络,用于处理所述基础特征、所述代码编码向量以及所述图嵌入向量,得到所述计算资源量。
在一些实施例中,第一网络包括Transformer,其通过预测样本代码中被遮罩的部分内容的训练任务进行模型参数调优得到。
关于模型系统的结构及工作原理详细说明可在步骤220中找到,在此不再赘述。模型系统中的各部分可以利用各种方式来实现。例如,在一些实施例中,可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。所述模型系统包含模型参数,模型参数通过模型训练得到。本说明书一些实施例还提供了一种计算资源预测模型的训练方法。
图6是根据本说明书一些实施例所示的模型训练的示例性流程图。在一些实施例中,图6所示的流程600可以由处理设备执行,其包括:
步骤610,获取数据处理任务样本的特征数据以及标签。
数据处理任务样本,与图2所述的数据处理任务类似,为了区别,将模型训练用到的数据处理任务称之为样本。数据处理任务样本可以基于历史已经执行完成的数据处理任务得到。由于数据处理任务样本已经真实执行过了,因此可以获取其实际的任务流量作为特征数据的一部分,而无需估算。关于数据处理任务样本的特征数据可以进一步参见图2的详细说明。标签反映的是数据处理任务样本在被处理设备执行时,实际用到的计算资源量。具体的,可以在任务样本执行过程中,调用处理设备的系统接口或者查询运行日志,得到该任务实际的内存占用量和处理器占用量。在一些实施例中,处理器可以是多核的,可以基于处理器的核数与处理器的利用率(通过系统接口请求得到或查询运行日志得到)的乘积得到,得到该任务占用的折算核数,并将其作为任务的实际处理器占用量。
步骤620,通过模型处理特征数据,得到预测的计算资源量。
步骤620类似于步骤220,在此不再赘述。
步骤630,调整模型的模型参数,以减小预测的计算资源用量与对应的实际计算资源用量的差异。
在一些实施例中,可以基于预测的计算资源量与标签反映的实际计算资源用量构建损失函数,损失函数与两者的差异正相关。将损失函数值进行反向传播,得到损失函数值相对各模型参数的梯度值,基于梯度值更新对应的模型参数,便完成模型的一次更新。如此,可以利用训练样本对模型参数进行多次迭代更新,得到训练好的计算资源预测模型。如图4所示,计算资源预测模型可以包括多个子网络或部分,如基础特征输入层、第一网络、第二网络以及第三网络,可以对每个子网络的模型参数同时更新,也可以固定部分子网络的参数,仅调整另一部分的网络参数。
在一些实施例中,模型中的第一网络为预训练模型,其已经过大量语料训练,为了使第一网络在计算资源预测上表现出更优的性能,可以对其进行预调优,关于预调优的过程可以参见步骤220,在此不再赘述。此时,在对模型进行训练时,可以固定第一网络的模型参数,仅对第二网络和第三网络的模型参数进行更新。当然,也可以对第一网络再次进行调整,使其更加适应预测任务。
图7是根据本说明书一些实施例所示的计算资源预测系统的示意框图。如图7所示,计算资源预测系统700包括特征获取模块710以及特征处理模块720。
所述特征获取模块710用于获取数据处理任务的特征数据;所述特征数据反映处理算法逻辑以及待处理数据量。
所述特征处理模块720用于通过机器学习模型处理所述特征数据,得到数据处理任务的计算资源量;所述计算资源量包括处理器用量和/或内存用量。
关于图7中各模块的更多内容可以参见图2的相关说明,在此不再赘述。应当理解,图7所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。或者对某些模块进行拆分,得到更多的模块或者该模块下的多个单元。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)本说明书实施例在预期任务流量下能够给出合理准确的计算资源消耗预估,可以有效降低任务执行过程中发生异常的概率,并提高资源利用率;(2)本说明书实施例输出的计算资源量可以提供给资源优化引擎,结合资源优化引擎的优化策略对数据处理任务进行计算资源配置,可以进一步提高资源优化配置的效率;(3)在预测计算资源量时引入了计算图,提高了模型预测精度;(4)对第二网络进行预调优,使其更适应于数据处理代码的编码,提高了模型预测精度。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (17)
1.一种计算资源预测方法,由一个以上处理器执行,其包括:
获取数据处理任务的特征数据;所述特征数据反映处理算法逻辑以及待处理数据量;
通过机器学习模型处理所述特征数据,得到数据处理任务的计算资源量;所述计算资源量包括处理器用量和/或内存用量;
所述计算资源量用于提交给处理设备,以便基于此向所述数据处理任务分配计算资源。
2.如权利要求1所述的方法,所述特征数据包括数据处理代码、计算图以及预计任务流量;所述计算图包括图节点和边,图节点对应算子,边对应算子间的数据流向。
3.如权利要求2所述的方法,通过机器学习模型处理所述特征数据,得到数据处理任务的计算资源量,包括:
至少基于预计任务流量确定基础特征;
通过第一网络处理所述数据处理代码,得到代码编码向量;
通过第二网络处理所述计算图,得到图嵌入向量;
通过第三网络处理所述基础特征、所述代码编码向量以及所述图嵌入向量,得到数据处理任务的计算资源量。
4.如权利要求3所述的方法,所述特征数据还包括任务元数据,所述任务元数据反映以下信息中的一种以上:任务来源、任务去向以及数据处理任务所属的业务领域;
所述至少基于预计任务流量确定基础特征,包括:
基于所述预计任务流量以及所述任务元数据确定所述基础特征。
5.如权利要求3所述的方法,所述第一网络包括Transformer,其通过预测样本代码中被遮罩的部分内容的训练任务进行模型参数调优得到。
6.如权利要求3所述的方法,所述第二网络用于:
对计算图中的图节点:基于该图节点的节点向量及其邻接节点的节点向量进行聚合,得到该图节点的聚合向量;
对计算图中各图节点的聚合向量进行运算,得到所述计算图的图嵌入向量。
7.如权利要求6所述的方法,图节点的邻接节点包括其下游一跳图节点;所述基于该图节点的节点向量及其邻接节点的节点向量进行聚合,得到该图节点的聚合向量,包括:
通过前馈子网络分别处理所述邻接节点的节点向量,得到邻接节点的映射向量;
聚合各邻接节点的映射向量,得到聚合邻接向量;
聚合该图节点的节点向量和所述聚合邻接向量,得到该图节点的聚合向量。
8.如权利要求3所述的方法,所述第三网络包括神经网络。
9.一种计算资源预测系统,包括:
特征获取模块,用于获取数据处理任务的特征数据;所述特征数据反映处理算法逻辑以及待处理数据量;
特征处理模块,用于通过机器学习模型处理所述特征数据,得到数据处理任务的计算资源量;所述计算资源量包括处理器用量和/或内存用量;
所述计算资源量用于提交给处理设备,以便基于此向所述数据处理任务分配计算资源。
10.一种计算资源预测装置,包括处理器及存储介质,所述存储介质上存储有计算机指令,所述处理器用于执行所述计算机指令中的至少一部分,以实现如权利要求1~8任一项所述的方法。
11.一种计算资源预测模型的训练方法,包括:
获取数据处理任务样本的特征数据以及标签;所述特征数据反映处理算法逻辑以及待处理数据量,所述标签反映数据处理任务样本的实际计算资源量;计算资源量包括处理器用量和/或内存用量;
通过模型处理所述特征数据,得到预测的计算资源量;
调整所述模型的模型参数,以减小预测的计算资源量与对应标签所反映的实际计算资源量的差异。
12.如权利要求11所述的方法,所述特征数据包括数据处理代码、计算图以及预计任务流量;所述计算图包括图节点和边,图节点对应算子,边对应算子间的数据流向。
13.如权利要求12所述的方法,通过模型处理所述特征数据,得到预测的计算资源量,包括:
至少基于预计任务流量确定基础特征;
通过第一网络处理所述数据处理代码,得到代码编码向量;
通过第二网络处理所述计算图,得到图嵌入向量;
通过第三网络处理所述基础特征、所述代码编码向量以及所述图嵌入向量,得到预测的计算资源量。
14.如权利要求13所述的方法,所述第一网络包括Transformer,其通过预测样本代码中被遮罩的部分内容的训练任务进行模型参数预先调优;
调整所述模型的模型参数,以减小预测的计算资源量与对应的实际计算资源量的差异,包括:
至少调整所述第二网络和所述第三网络的模型参数,以减小预测的计算资源量与对应的实际计算资源量的差异。
15.一种计算资源预测模型系统,用于处理数据处理任务的特征数据,得到数据处理任务的计算资源量;
所述特征数据反映处理算法逻辑以及待处理数据量;
所述计算资源量包括处理器用量和/或内存用量。
16.如权利要求15所述的模型系统,所述特征数据包括数据处理代码、计算图以及预计任务流量;所述计算图包括图节点和边,图节点对应算子,边对应算子间的数据流向;
所述模型系统进一步包括:
基础特征输入层,用于至少基于预计任务流量确定基础特征;
第一网络,用于处理所述数据处理代码,得到代码编码向量;
第二网络,用于处理所述计算图,得到图嵌入向量;
第三网络,用于处理所述基础特征、所述代码编码向量以及所述图嵌入向量,得到所述计算资源量。
17.如权利要求16所述的模型系统,所述第一网络包括Transformer,其通过预测样本代码中被遮罩的部分内容的训练任务进行模型参数调优得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310823535.8A CN116541179B (zh) | 2023-07-05 | 2023-07-05 | 一种计算资源预测方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310823535.8A CN116541179B (zh) | 2023-07-05 | 2023-07-05 | 一种计算资源预测方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116541179A true CN116541179A (zh) | 2023-08-04 |
CN116541179B CN116541179B (zh) | 2023-12-05 |
Family
ID=87447529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310823535.8A Active CN116541179B (zh) | 2023-07-05 | 2023-07-05 | 一种计算资源预测方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541179B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199952A (zh) * | 2020-12-04 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种分词方法、多模式分词模型和系统 |
CN113095474A (zh) * | 2020-01-09 | 2021-07-09 | 微软技术许可有限责任公司 | 深度学习模型的资源使用情况预测 |
CN113886614A (zh) * | 2021-10-26 | 2022-01-04 | 上海商汤科技开发有限公司 | 数据处理方法、装置、计算机设备及介质 |
WO2022035276A1 (en) * | 2020-08-13 | 2022-02-17 | Samsung Electronics Co., Ltd. | Transfer learning of network traffic prediction model among cellular base stations |
CN114153640A (zh) * | 2021-11-26 | 2022-03-08 | 哈尔滨工程大学 | 一种基于深度强化学习的系统容错策略方法 |
CN114443303A (zh) * | 2022-01-26 | 2022-05-06 | 深圳壹账通科技服务有限公司 | 资源分配方法、装置、设备及介质 |
CN115756821A (zh) * | 2022-10-17 | 2023-03-07 | 北京达佳互联信息技术有限公司 | 在线任务处理模型训练、任务处理方法及装置 |
CN115794398A (zh) * | 2022-11-30 | 2023-03-14 | 杭州数梦工场科技有限公司 | 资源分配方法、装置、电子设备及存储介质 |
CN116089051A (zh) * | 2021-10-31 | 2023-05-09 | 华为技术有限公司 | 一种任务分配方法、装置及系统 |
-
2023
- 2023-07-05 CN CN202310823535.8A patent/CN116541179B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113095474A (zh) * | 2020-01-09 | 2021-07-09 | 微软技术许可有限责任公司 | 深度学习模型的资源使用情况预测 |
WO2022035276A1 (en) * | 2020-08-13 | 2022-02-17 | Samsung Electronics Co., Ltd. | Transfer learning of network traffic prediction model among cellular base stations |
CN112199952A (zh) * | 2020-12-04 | 2021-01-08 | 支付宝(杭州)信息技术有限公司 | 一种分词方法、多模式分词模型和系统 |
CN113886614A (zh) * | 2021-10-26 | 2022-01-04 | 上海商汤科技开发有限公司 | 数据处理方法、装置、计算机设备及介质 |
CN116089051A (zh) * | 2021-10-31 | 2023-05-09 | 华为技术有限公司 | 一种任务分配方法、装置及系统 |
CN114153640A (zh) * | 2021-11-26 | 2022-03-08 | 哈尔滨工程大学 | 一种基于深度强化学习的系统容错策略方法 |
CN114443303A (zh) * | 2022-01-26 | 2022-05-06 | 深圳壹账通科技服务有限公司 | 资源分配方法、装置、设备及介质 |
CN115756821A (zh) * | 2022-10-17 | 2023-03-07 | 北京达佳互联信息技术有限公司 | 在线任务处理模型训练、任务处理方法及装置 |
CN115794398A (zh) * | 2022-11-30 | 2023-03-14 | 杭州数梦工场科技有限公司 | 资源分配方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
星环科技人工智能平台团队: "《机器学习实战:基于Sophon平台的机器学习理论与实践》", 机械工业出版社, pages: 151 - 101 * |
李莉;吴润泽;包正睿;庞思睿;: "可重构分层感知网络流量预测算法", 计算机技术与发展, no. 05 * |
Also Published As
Publication number | Publication date |
---|---|
CN116541179B (zh) | 2023-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shen et al. | Deepapp: a deep reinforcement learning framework for mobile application usage prediction | |
CN106796522B (zh) | 用于更新源代码文件的系统和方法 | |
US10409828B2 (en) | Methods and apparatus for incremental frequent subgraph mining on dynamic graphs | |
CN107368259A (zh) | 一种向区块链系统中写入业务数据的方法和装置 | |
US8719417B1 (en) | Resource allocation in distributed systems | |
CN112835627B (zh) | 用于单指令多线程或单指令多数据类型处理器的近似最近邻域搜索 | |
CN114580653A (zh) | 机器学习计算优化方法和编译器 | |
EP3686749A1 (en) | Method and device for acquiring data model in knowledge graph, and medium | |
JP2018515844A (ja) | データ処理方法及びシステム | |
CN109886311B (zh) | 增量聚类方法、装置、电子设备和计算机可读介质 | |
US10565285B2 (en) | Processor and memory transparent convolutional lowering and auto zero padding for deep neural network implementations | |
CN114997472A (zh) | 一种模型训练的方法、业务风控的方法及装置 | |
CN109032766A (zh) | 一种事务处理方法、装置及电子设备 | |
CN108920183A (zh) | 一种业务决策方法、装置及设备 | |
CN116932174B (zh) | Eda仿真任务动态资源调度方法、装置、终端及介质 | |
Predari et al. | An mpi-based algorithm for mapping complex networks onto hierarchical architectures | |
CN116541179B (zh) | 一种计算资源预测方法和系统 | |
CN117033718A (zh) | 基于光线追踪的近似近邻搜索方法、系统、介质及设备 | |
Kim et al. | Optimal Model Partitioning with Low-Overhead Profiling on the PIM-based Platform for Deep Learning Inference | |
CN116304704A (zh) | 一种模型训练方法、装置、存储介质及电子设备 | |
CN115758141A (zh) | 一种模型训练和业务风控的方法及装置 | |
CN116308738A (zh) | 一种模型训练的方法、业务风控的方法及装置 | |
US8589560B1 (en) | Assembling detailed user replica placement views in distributed computing environment | |
CN114398178A (zh) | 一种任务执行方法、装置及电子设备 | |
Li et al. | An application-oblivious memory scheduling system for DNN accelerators |
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 |