CN111898698A - 对象的处理方法及装置、存储介质和电子设备 - Google Patents
对象的处理方法及装置、存储介质和电子设备 Download PDFInfo
- Publication number
- CN111898698A CN111898698A CN202010797865.0A CN202010797865A CN111898698A CN 111898698 A CN111898698 A CN 111898698A CN 202010797865 A CN202010797865 A CN 202010797865A CN 111898698 A CN111898698 A CN 111898698A
- Authority
- CN
- China
- Prior art keywords
- batch
- target
- results
- result
- target objects
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- 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/045—Combinations of 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
-
- 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
- G06N5/046—Forward inferencing; Production systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种对象的处理方法及装置、存储介质和电子设备。其中,该方法包括:对目标对象集合中的目标对象进行分批操作,得到多种分批结果;在多种分批结果中确定消耗资源最小的目标分批结果;将目标分批结果包括的多批目标对象,按批输入至目标神经网络模型进行处理。本发明解决了由于现有技术中批调度是基于尺度相同的输入数据,对于不同尺度的输入数据打包成一个批,存在开销大的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种对象的处理方法及装置、存储介质和电子设备。
背景技术
以神经网络为核心的深度学习技术于生产场景需要高效的服务软件框架支持。将多个请求打包成一个批(batch)进行推理计算可以更加充分发挥处理器的计算能力。批处理优化是服务端的一种优化技巧,将一段时间间隔内到达服务器的消息打包成一个batch,统一输入神经网络进行正向计算,这样可以通过提升计算效率来提升服务的吞吐率。目前深度学习的服务框架都是针对处理尺寸相同的输入请求而设计的。也就是说每个输入请求都是尺寸相等数据。批调度器的算法也很简单,它将一段时间内的所有请求数据合并在一起做成batch即可。
随着深度学习在不同领域的应用,例如,自然语言处理应用(Natural LanguageProcessing,简称NLP)、图像处理、音频视频领域中的广泛应用,神经网络的快速处理迎来了巨大挑战,输入神经网络的输入数据的尺寸是不断变化的,比如,输入是不同长度的句子,不同像素大小的图像、不同大小的音频视频文件等,称之为变输入尺寸深度学习服务过程。这使之前为输入尺寸不变的服务设计的批调度器算法无法适用。以不同字符长度的文本信息作为输入为例,如果将多个不同字符长度的文本打包成一个batch,那么对此batch内字符长度较小的文本,需要补零成最长文本的尺寸。而补零部分由于要参与无效的计算,这样会引入许多额外计算。
针对相关技术中,由于现有技术中批调度是基于尺度相同的输入数据,对于不同尺度的输入数据打包成一个批,存在开销大的问题,目前尚未存在有效的解决方案。
发明内容
本发明实施例提供了一种对象的处理方法及装置、存储介质和电子设备,以至少解决由于现有技术中批调度是基于尺度相同的输入数据,对于不同尺度的输入数据打包成一个批,存在开销大的技术问题。
根据本发明实施例的一个方面,提供了一种对象的处理方法,包括:对目标对象集合中的目标对象进行分批操作,得到多种分批结果;在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行处理所消耗的资源之和;将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行处理。
根据本发明实施例的另一方面,还提供了一种对象的处理装置,包括:分批操作模块,用于对目标对象集合中的目标对象进行分批操作,得到多种分批结果;确定模块,用于在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行目标对象处理所消耗的资源之和;输入模块,用于将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行目标对象处理。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述基于分批媒体信息的媒体信息处理方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的基于分批媒体信息的媒体信息处理方法。
在本发明实施例中,采用对目标对象集合中的目标对象进行分批操作,得到多种分批结果的方式,通过在多种分批结果中确定消耗资源最小的目标分批结果,将目标分批结果包括的多批目标对象,按批输入至目标神经网络模型进行处理。达到了在多种分批结果中选取出资源消耗最小的分批结果作为目标神经网络的输入,使得目标神经网络在对目标对象处理所消耗的资源最小的目的,从而实现了节省消耗资源的技术效果,进而解决了由于现有技术中批调度是基于尺度相同的输入数据,对于不同尺度的输入数据打包成一个批,存在开销大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的对象的处理方法的应用环境的示意图;
图2是根据本发明实施例的对象的处理方法的流程图;
图3是根据本发明实施例的一种可选的整体流程图;
图4是根据本发明实施例的一种可选的目标对象的处理流程示意图;
图5是根据本发明实施例的一种可选的文本信息处理示意图;
图6是根据本发明实施例的一种可选的图像像素示意图;
图7是根据本发明实施例的一种可选的图像信息处理示意图;
图8是根据本发明实施例的一种可选的目标对象资源消耗流程示意图;
图9是根据本发明实施例的一种可选的不同批大小处理请求的性能示意图;
图10是根据本发明实施例的一种可选的对象的处理装置的结构示意图;
图11是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种对象的处理方法,可选地,作为一种可选的实施方式,上述对象的处理方法可以但不限于应用于如图1所示的环境中。
可选地,在本实施例中,上述终端设备104可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。上述客户端可以是游戏客户端、视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器102可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述对象的处理方法包括:
步骤S202,对目标对象集合中的目标对象进行分批操作,得到多种分批结果;
步骤S204,在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行处理所消耗的资源之和;
步骤S206,将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行处理。
作为一个可选的实施方式,图3是根据本发明实施例的一种可选的整体流程图,目标对象集合中包括对象1、对象2…对象N等,N的值可以根据实际情况而定,例如,在目标对象集合中包括1000个目标对象的情况下,N的值为1000;在目标对象集合中包括2000个目标对象的情况下,N的值为2000。将目标对象集合中所包括的多个目标对象进行分批得到多种分批结果,例如,第一种分批结果、第二种分批结果…第M种分批结果,M小于N。每种分批结果中包括多批目标对象。例如,第一种分批结果中包括第一批目标对象、第二批目标对象…第G批目标对象,G为自然数。其中,每批目标对象中可以包括一个目标对象,也可以包括多个目标对象,例如,第一批目标对象中可以只包括对象1,也可以包括对象1和对象2,也可以包括对象1、对象2、对象3。在本实施例中,每种分批结果在神经网络模型中所消耗的资源是不同的。通过在多种分批结果中确定出资源消耗最小的目标分批结果作为目标神经网络模型的数据输入方式,可以达到节约资源的效果。
作为一个可选的实施方式,目标对象集合中包括的目标对象可以是媒体信息,媒体信息可以是文本、图像、音频、视频等。其中,文本、图像、视频和音频信息可以从终端上安装的应用程序中获取,应用程序可以是即时通讯客户端、游戏客户端、教育客户端、视频客户端、音乐客户端等。图4是根据本发明实施例的一种可选的目标对象的处理流程示意图。在本实施例中可以在同一个客户端中获取文本、图像、视频和音频信息,将收集到的文本集、图像集、视频集和音频集分别执行分批操作,得到对应的分批结果,并得到对应的资源消耗最小的分批结果,最小的分批结果中包括的多批目标对象输入到神经网络模型,得到神经网络模型输出的对应的处理结果。
作为一个可选的实施方式,图5是根据本发明实施例的一种可选的文本信息处理示意图。可以通过如图5所示的客户端中获取文本,获取文本的客户端可以是即时通讯客户端。不同文本中所包括的字符长度不同,例如,图5中“重庆火锅,味道非常赞”和“今天天气真好”两条文本中所包括的字符长度不同。通过神经网络模型对不同字符长度的文本进行处理时,所消耗的资源是不同的。客户端中获取到的文本可以使用标识进行表示,标识可以是序号。如图5中分别用1、2、3、4、5表示获取到的文本。标识也可以是文本的长度,例如,“重庆火锅,味道非常赞”的字符长度是10,可以用10表示“重庆火锅,味道非常赞”。在本实施例中,获取到的文本可以有多种分批方式,例如,图5中所示的(1)(2,3)(4,5)、(1,2,3)(4,5)、(1,2)(3)(4,5)、(1,2)(3,4)(5)等。图6中所示出的分批结果仅为了举例进行说明,还可以包括其他分批结果。若分批结果(1,2,3)(4,5)这种分批方式消耗的资源最小,则标号为1、2、3对应的文本作为一个批次,4、5对应的文本作为另一个批次,按照此种分批方式,依次将1、2、3对应的文本,和4、5对应的文本输入到神经网络模型,得到申请网络模型对文本的处理结果。
作为一个可选的实施方式,对于图像而言,不同大小的图像中所包括的像素或像素块的数量不同。图6是根据本发明实施例的一种可选的图像像素示意图,图6中所示的是两种不同像素大小的图像,其中,每个小格表示一个像素或一个像素块。由于图像1和图像2的像素大小不同,目标神经网络模型在对这两个图像进行处理时,所消耗的资源不同。对于视频而言,视频中所包括的图像帧数,图像像素的大小等因素会影响视频文件的大小。对于音频而言,音频中包括的音频数据的大小,音频格式等音素会影响音频文件的大小。不同大小的音频或视频文件,目标神经网络模型在进行处理时,所消耗的资源是不同的。在本实施例中,可以通过如图7所示的客户端中获取图像,获取图像的客户端可以是即时通讯客户端,也可以是游戏客户端,还可以是视频客户端、教育客户端等包含有图像的客户端。不同图像中所包括的像素不同。图7是根据本发明实施例的一种可选的图像信息处理示意图。以图7中的画面为游戏客户端呈现的游戏场景为例,由于不同游戏画面的像素是不同的,将获取到的图像进行分批处理,得到多种不同的分批结果,将资源消耗最小的分批结果作为神经网络模型的输入,得到处理结果。
可选地,所述对目标对象集合中的目标对象进行分批操作,得到多种分批结果,包括:获取所述目标对象集合中的第N个目标对象分别与第N-i个分批结果组成的分批结果,共得到N-2个分批结果,其中,所述目标对象集合包括N个目标对象,所述第N-i个分批结果为第N-i个目标对象子集中消耗资源最小的分批结果,所述第N-i个目标对象子集包括所述目标对象集合中的前N-i个目标对象,i大于等于1,小于等于N-2,所述多种分批结果包括所述N-2个分批结果。
作为一个可选的实施方式,以目标对象为文本为例进行说明。假设目标对象集合中的所包括的文本的字符长度分别为17,18,52,63,77。为了清楚的说明本实施例,在下面说明中,以字符长度17,18,52,63,77分别表示对应长度的请求。在本实施例中,按照字符长度大小对文本进行排序,排序后的文本为17,18,52,63,77。第N个文本是字符长度为77对应的文本。本实施例中由于N=5,i从1到N-2=3,则N-2个分批结果包括以下三个分批结果:
(1)当i=1时,第N个文本单独打包成一个批,剩余的前N-i=4个文本为17,18,52,63存在多种分批方式,以资源消耗最小的分批方式作为第四个分批结果(第N-i个分批结果)。假设第N-1个目标对象子集17,18,52,63中消耗资源最小的分批方式为{17,18}{52}{63},其中{}表示一个批,那么将{17,18}{52}{63}{77}作为N-2个分批结果中的一种分批结果。
(2)当i=2时,77和63构成一个批{63,77},剩余的前N-i=3个文本为17,18,52存在多种分批方式,以资源消耗最小的分批方式作为第三个分批结果,假设17,18,52资源消耗最小的分批结果为{17,18}{52},那么{17,18}{52}{63,77}作为N-2个分批结果中的一种分批结果。
(3)当i=3时,77、52、63合并为一个批{52,63,77},剩余的前N-i=2个文本为17,18存在多种分批方式,以资源最小的分批方式作为第二个分批结果,假设17,18资源消耗最小的分批结果为{17,18},那么{17,18}{52,63,77}作为N-2个分批结果中的一种分批结果。
在本实施例中,以目标对象集合包括17,18,52,63,77五种字符长度的文本信息为例进行说明,该实施例仅为了说明本申请,具体目标对象集合中包括的文本数量,以及文本中所包括的字符数可以根据实际情况而定,例如,目标对象集合可以包括11,13,23,25,33,46,78,98,100…不同字符长度的文本。通过本实施例可以确定出目标对象集合的多种分批方式,每种分批方式包括资源消耗最小的分批结果,通过多种分批方式的比较,可以确定出目标对象集合中资源消耗最小的分批方式,通过此方式对媒体信息进行处理,可以达到节省资源的技术效果。
可选地,所述对目标对象集合中的目标对象进行分批操作,得到多种分批结果,包括:获取第一分批结果,其中,所述第一分批结果中包括第一批目标对象和第二批目标对象,所述第一批目标对象包括所述目标对象集合中的第1个目标对象,所述第二批目标对象包括所述目标对象集合中的后N-1个目标对象;获取第二分批结果,其中,所述第二分批结果中的一批目标对象包括所述目标对象集合;其中,所述多种分批结果还包括所述第一分批结果以及所述第二分批结果。
作为一个可选的实施方式,以上述字符长度分别为17,18,52,63,77的文本为例进行说明,77还可以和18,52,63合并为一个批{18,53,63,77},17单独作为一个批{17},以此得到第一分批结果{17}{18,53,63,77}。77还可以和17,18,52,63并为一个批{17,18,53,63,77}作为第二分批结果。在本实施例中,通过确定出与第N个媒体信息的多种分批方式,在多种分批方式中确定出资源消耗最小的分批方式,按照分批结果将媒体信息分批输入神经网络模型,可以达到减小资源消耗的效果。
可选地,所述方法还包括:在所述目标对象集合中的目标对象按照所述目标对象的对象元素数量的从小到大进行排序的情况下的情况下,获取所述第N-i个分批结果,其中,所述第N-i个分批结果包括N-i个第N-i个目标对象,所述第N-i个目标对象为所述目标对象集合中的第N-i个目标对象
作为一个可选的实施方式,在目标对象为文本的情况下,对象元素可以是字符,对象元素数量可以是文本中所包括的字符的数量,可以用文本的字符长度表示。在目标对象为图像的情况下,对象元素可以是像素,对象元素数量可以是像素数量,可以用图像的像素值表示。在目标对象为视频的情况下,对象元素可以是视频中所包括的一帧图像,对象元素数量可以是视频中所包括的图像的数量。在目标对象为音频的情况下,对象元素可以是音频中所包括的一帧音符,对象元素数量可以是音频中所包括的音符的数量。在本实施例中,可以先将目标对象集合中的目标对象按照对象元素数量进行排序,例如,目标对象集合为图像集合,图像集合中包括的图像的像素值分别是125、256、512、405、318,可以按照像素值的到小对图像进行排序,排序后的图像的分别是125、256、318、405、512对应的图像。在本实施例中的图像的像素值仅为了说明本申请,具体图像的像素值根据实际情况而定。在本实施例中,通过先排序在确定各种分批结果的方式,可以提升分批的效率,达到提高效率的技术效果。
可选地,所述在所述多种分批结果中确定消耗资源最小的目标分批结果之前,所述方法还包括:在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源,其中,所述资源消耗表中记录不同对象元素数量的目标对象所消耗的资源。
作为一个可选的实施方式,可以预先通过神经网络模型的实际运行确定不同目标对象所消耗的资源。图8是根据本发明实施例的一种可选的目标对象资源消耗流程示意图。将每个目标对象(对象1、对象2…对象N)分别连续M此输入至目标神经网络模型,得到目标神经网络模型在对目标对象进行处理时所消耗的资源。以上述17,18,52,63,77五种不同字符长度的媒体信息为例,假设通过上述这几种不同字符长度的文本运行神经网络模型得到的每种分批方式所消耗的资源如下资源消耗表1所示,其中,字符长度表示文本中所包括的字符数量,批大小表示输入神经网络模型的次数,以字符长度为17,批大小为2为例进行说明,表示将17个字符长度的文本连续两次输入至目标神经网络模型,神经网络模型对每次输入的文本进行处理时消耗的资源是16.15。
表1
作为一个可选的实施方式,资源消耗表cached_cost是一个索引表,它由两个键进行索引,分别是字符长度和批的大小,值是对应目标对象的处理开销。这个开销是可以是真实的时间延迟,也可以是一个归一化的信息。例如,cached_cost[10][2]表示目标对象的对象元素数量是10,批大小是2的分批结果的开销。cached_cost的值可以是预先通过运行神经网络收集到的,并定期持久化存储于硬盘或者数据库中。比如对于一个分批结果所包括的多批目标对象,服务端如果之前处理过相同批的目标对象,则cached_cost通过索引返回之前记录的延迟。以表1中所示的字符长度为17的文本为例,假设批大小为2,则通过索引[17][2]检索资源消耗表,可以得到cached_cost[17][2]为16.15。在本实施例中,通过以目标对象中所包括的对象元素数量和批大小为索引,通过查询资源消耗表可以得到每种分批结果所消耗的资源。以对象元素数量和批大小进行检索的方式,可以提高资源消耗值的查询效率。
可选地,所述方法还包括:获取每种对象元素数量的目标对象连续M次输入到所述目标神经网络模型进行处理所消耗的资源,其中,M为自然数;在所述资源消耗表中记录所述不同对象元素数量的目标对象连续M次输入到所述目标神经网络模型进行处理时,所述目标神经网络模型每次对目标对象进行处理所消耗的资源。
作为一个可选的实施方式,如表1所示,资源消耗表中记录了每种文本不同次数输入神经外网络模型时所消耗的资源。例如,字符长度为17的文本一次输入到神经网络模型,所消耗的资源为17。例如,17连续两次输入神经网络模型,神经网路模型每次对一个17字符长度的文本进行处理所消耗的资源是16.15。字符长度为18的文本连续三次输入神经网络模型,神经网路模型每次对一个18字符长度的文本进行处理所消耗的资源是16.2。
可选地,所述在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源,包括:对所述多种分批结果中的第j种分批结果执行以下操作,得到所述第j种分批结果所消耗的资源,其中,j为自然数:获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量;将所述第j种分批结果所消耗的资源确定为所述Sj个消耗的资源总量之和。
作为一个可选的实施方式,每中分批结果中包括多批目标对象。以上述字符长度分别为17,18,52,63,77的文本进行举例说明。例如,分批结果{17,18}{52}{63}{77}中,包括{17,18}、{52}、{63}、{77},四批媒体信息,其中,{17,18}可以是S1批文本信息,{52}可以是S2批文本信息,{63}可以是S3批文本信息,{77}可以是S4批文本信息。可以通过查询资源消耗表得到每批文本信息所消耗的资源,例如,对于{52}可以通过以字符长度[52]为索引和批大小[1]为索引,通过查询资源消耗表可以得到{52}这批文本所消耗的资源是52。
可选地,所述获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,包括:在所述Sj批目标对象中的第一批目标对象包括t种不同对象元素数量的目标对象的情况下,确定对象元素数量最多的第一目标对象连续t次输入到所述目标神经网络模型进行处理时,消耗的总资源为所述第一批目标对象所消耗的资源,其中,t为自然数。
作为一个可选的实施方式,以上述分批结果{17,18}{52,63,77}为例进行说明。在本实施例中,{17,18}包括两个不同字符长度17、18的文本,{17,18}该批文本以字符长度为18连续两次输入神经网络模型消耗的资源为{17,18}该批文本消耗的资源,通过查询资源消耗表可得到{17,18}消耗的资源是17.09*2=34.18。而{52,63,77}所消耗的资源是以77连续三次输入到神经网络模型对文本进行处理时消耗的总资源,通过查表可得到{52,63,77}消耗的资源是69.3*3=207.9。
可选地,所述获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量,包括:在所述资源消耗表中未记录所述Sj批目标对象中的第二批目标对象消耗的资源的情况下,确定所述资源消耗表中所记录的与第二批目标对象相邻的第三批目标对象和第四批目标对象所消耗的资源;在所述三批目标对象和第四批目标对象所消耗的资源之间进行线性差值,得到所述第二批目标对象消耗的资源。
作为一个可选的实施方式,以上述表1所示的资源消耗表为例进行说明,在表1中记录了17,18,52,63,77不同字符长度文本消耗的资源。若第二批文本为{65},在表1中并未记录65所消耗的资源。在表中可以查询到与65最接近的字符长度为63和77,{63}消耗的资源是63,77消耗的资源是77。通过在63和77中线性差值可得到{65}消耗的资源是65。
作为一个可选的实施方式,若第二批文本为{60,68},则确定以连续两次将68输入到神经网络模型消耗的资源为{60,68}消耗的资源。而表1中并未记载连续两次输入68个字符的文本神经网络模型所消耗的资源。在表中与68相邻的字符长度为63和77。63连续两次输入神经网络模型时,神经网络模型在处理时所消耗的资源是59.85,77连续两次输入神经网络模型时,神经网络模型在处理时所消耗的资源是73.15。通过线性插值可得到连续两次输入68字符的文本时,神经网络模型在处理时所消耗的资源,进而可以得到第二批文本{60,68}消耗的资源。
可选地,所述方法包括:所述对目标对象集合中的目标对象进行分批操作,得到多种分批结果,包括:对目标媒体信息集合中的目标媒体信息进行分批操作,得到多种分批结果;所述在所述多种分批结果中确定消耗资源最小的目标分批结果,包括:在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标媒体信息,按批输入到目标神经网络模型进行处理所消耗的资源之和;所述将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行处理,包括:将所述目标分批结果包括的多批目标媒体信息,按批输入至所述目标神经网络模型进行处理。
可选地,所述对目标媒体信息集合中的媒体信息进行分批操作,得到多种分批结果,包括:获取所述目标媒体信息集合中的第N个媒体信息分别与第N-i个分批结果组成的分批结果,共得到N-2个分批结果,其中,所述目标媒体信息集合包括N个媒体信息,所述第N-i个分批结果为第N-i个媒体信息子集中消耗资源最小的分批结果,所述第N-i个媒体信息子集包括所述目标媒体信息集合中的前N-i个媒体信息,i大于等于1,小于等于N-2,所述多种分批结果包括所述N-2个分批结果。
可选地,所述对目标媒体信息集合中的媒体信息进行分批操作,得到多种分批结果,包括:获取第一分批结果,其中,所述第一分批结果中包括第一批媒体信息和第二批媒体信息,所述第一批媒体信息包括所述目标媒体信息集合中的第1个媒体信息,所述第二批媒体信息包括所述目标媒体信息集合中的后N-1个媒体信息;获取第二分批结果,其中,所述第二分批结果中的一批媒体信息包括所述目标媒体信息集合;其中,所述多种分批结果还包括所述第一分批结果以及所述第二分批结果。
可选地,所述方法还包括:在所述目标媒体信息集合中的媒体信息按照媒体信息的字符长度从小到大进行排序的情况下,获取所述第N-i个分批结果,其中,所述第N-i个分批结果包括N-i个第N-i个媒体信息,所述第N-i个媒体信息为所述目标媒体信息集合中的第N-i个媒体信息。
可选地,所述在所述多种分批结果中确定消耗资源最小的目标分批结果之前,所述方法还包括:在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源,其中,所述资源消耗表中记录不同字符长度的媒体信息所消耗的资源。
可选地,所述方法还包括:获取所述不同字符长度中的每个字符长度的媒体信息连续M次输入到所述目标神经网络模型进行媒体信息处理所消耗的资源,其中,M为自然数;在所述资源消耗表中记录所述不同字符长度中的每个字符长度的媒体信息连续M次输入到所述目标神经网络模型进行媒体信息处理时,所述目标神经网络模型每次对媒体信息进行处理所消耗的资源。
可选地,所述在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源,包括:对所述多种分批结果中的第j种分批结果执行以下操作,得到所述第j种分批结果所消耗的资源,其中,j为自然数:获取所述第j种分批结果包括的Sj批媒体信息在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量;将所述第j种分批结果所消耗的资源确定为所述Sj个消耗的资源总量之和。
可选地,所述获取所述第j种分批结果包括的Sj批媒体信息在所述资源消耗表中所记录的消耗的资源,包括:在所述Sj批媒体信息中的第一批媒体信息包括t个不同字符长度的媒体信息的情况下,确定字符长度最长的第一媒体信息连续t次输入到所述目标神经网络模型进行媒体信息处理时,消耗的总资源为所述第一批媒体信息所消耗的资源,其中,t为自然数。
可选地,所述获取所述第j种分批结果包括的Sj批媒体信息在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量,包括:在所述资源消耗表中未记录所述Sj批媒体信息中的第二批媒体信息消耗的资源的情况下,确定所述资源消耗表中所记录的与第二批媒体信息相邻的第三批媒体信息和第四批媒体信息所消耗的资源;在所述三批媒体信息和第四批媒体信息所消耗的资源之间进行线性差值,得到所述第二批媒体信息消耗的资源。
可选地,所述对目标媒体信息集合中的目标媒体信息进行分批操作,得到多种分批结果,包括以下至少之一:对目标文本信息集合中目标文本信息进行分批操作,得到多种文本分批结果;对目标图像信息集合中的目标图像信息进行分批操作,得到多种图像分批结果;对目标音频信息集合中的目标音频信息进行分批操作,得到多种音频分批结果;对目标视频信息集合中的目标视频信息进行分批操作,得到多种视频分批结果。
作为一个可选的实施方式,批处理可以带来深度学习推理效率的增益。图9是根据本发明实施例的一种可选的不同批大小处理请求的性能示意图。图中横轴表示输入请求序列的长度,它是输入变化的维度,纵轴是相对使用批大小batch_size=1进行计算的归一化的性能。在本实施例中,使用中央处理器CPU进行标准BERT模型的推理计算,图中可以看出批batch尺寸从1增大到8,会带来不同程度的性能提升。一般来说,batch尺寸越大提升越明显。但是,打包成batch过程需要首先把所有请求的尺寸补零成输入序列的最大值,这也会引入一些额外开销。
服务端可以利用批处理技术来提升服务的效率。例如服务端收到5个BERT推理文本请求,输入的序列长度分别是17,18,52,63,77。如果分别进行5次进行推理,每次batch尺寸都是1,在处理器上的实验表明,完成5次推理的总耗时为0.415秒,吞吐量为12.05QPS(Quries Per Second)。另一种方式是,将长度为{64,77}的请求子序列打包成一个batch,长度64的请求需要补零成77,这个batch内此时有两个长度为77的请求。同理可以把长度为{17,18}打包成一个batch。52单独一个batch。这样三个batch进行计算,总的推理耗时为0.363秒,吞吐量为13.77QPS(Quries Per Second)。相比原来5次推理,性能提升14.3%。请求数越大,吞吐量提升越明显。
本实施例中输入可以是一个请求序列request_list,输出是一个可以获得最高服务吞吐量的批调度方案。输入变化维度只有一个,这里假设输入是句子,变化的维度是句子长度。值得注意的是,输入也可以是其他格式,比如,对于图像处理任务,输入可以是一张图片的所有像素信息,变化的维度可以是图片大小。请求也可以是抽象的特征,比如对于以BERT为神经网络结构的NLP任务,一个请求可以是大小为(sequence_length,hidden_size)浮点数张量,变化维度可以是sequence_length。
输入request_list是一个请求序列。cached_cost是一个索引表,它由两个键进行索引,分别是序列长度和batch的大小,值是对应请求的处理开销。这个开销是不一定是真实的时间延迟,可以是一个归一化的信息。cached_cost[10][2]表示序列长度10,batch尺寸是2时每个请求的归一化计算开销。cached_cost的值是通过计算框架运行时收集的,并定期持久化存储于硬盘或者数据库中。比如对于一个batch请求,服务端如果之前处理过相同batch大小下过同等输入尺寸的请求,则cached_cost通过索引返回之前记录的延迟。如果cached_cost对应位置没有相应的值,则可以通过相邻位置插值预估出来,等到本次服务结束,再将真实开销更新到cached_cost对应位置。一般服务启动初期可以通过使用大量随机请求来预热来初始化cached_cost。
对request_list按照序列长度维度非递增顺序排序,索引下标从1开始。然后新建一个名为states的数组,它用来缓存中间结果信息,具体来说它的下标i位置,用来记录处理request_list[1:i]的最小开销。states[0]=0为了方便处理边界情况,states[1]就是处理第一个请求request_list[1]的开销。从第二个请求开始遍历request_list的每一个请求,每次遍历过程计算服务子序列request_list[1:i]的最小开销state[i],和调度方式。计算最小开销采用动态规划算法,其状态转移方程为:
如果找到了可以获得最小开销的下标j,这意味着request_list[j:i]这个子序列会被打包成一个batch处理。start_idx_list记录这个batch的起始下标。当获得了request_list处理的最小开销之后,使用start_idx_list记录的信息进行回溯,来打包对应起始终止位置构成的子序列为一个batch。
下面以目标对象为文本请求举例说明:以输入是五个长度分别是17,18,52,63,77的文本,索引表cached_cost为表1为例进行说明。算法开始时,states[0]=0,states[1]=17,start_idx_list[1]=1。
i=2时,对于请求18,存在以下两种分批结果:1)18可以单独构成一个batch,此种分批结果是{17}{18},通过查表可以得到此种分批结果消耗的资源是17+18=35。2)18可以和17合并为一个batch{17,18},通过查表可知此种方式消耗的资源是17.09*2=34.18。对比1)和2)两种分批结果可知34.188更小。此时确定17、18消耗资源最小的分批结果是{17,18}。此时states[2]=34.18,start_idx_list[2]=1。
i=3时,对于请求52,1)它可以单独构成一个batch{52},由于处理子序列{17,18}的最小开销已知,为states[2]=34.18,总开销为34.18+52=86.18。2)可以和18合并成一个batch{18,52},此时已知子序列{17}最小开销为states[1]=17,batch{18,52}的开销为49.4*2,总的开销为49.4*2+17=115.8。3)可以和17,18合并为一个batch{17,18,52},总的开销为46.80*3=140.40。所以states[3]=min(86.18,115.8,140.39)=86.18。确定17、18、52消耗资源最小的分批结果是{17,18}{52}。此时start_idx_list[3]=3。
i=4时,对于请求63,1)可以自己构成一个batch{63},由于17、18、52的最小开销已知,为{17,18}{52}对应的开销states[3]=86.18。此时总开销为86.18+63=149.18。2)可以和52合并成一个batch{52,63},此时已知17、18最小开销为{17,18}对应的states[2]=34.18,总的开销为59.85*2+34.18=153.88。3)可以和18,52合并为一个batch{18,52,63},由于已知{17}最小开销为states[1]=17,此时总的开销为56.7*3+17=187.10。4)可以和17,18,52合并为{17,18,53,63},此时总开销为53.55*4=214.2。所以states[4]=min(149.18,153.88,187.10,214.2)=149.18。对应的分批结果为{17,18}{52}{63}。start_idx_list[4]=4。
i=5时,对于请求77,1)可以自己构成一个batch,由于17、18、52、63子序列的最小开销已知,为{17,18}{52}{63}对应的资源states[4]=149.18。开销为149.18+77=226.18。2)可以和63合并成一个batch,{63,77},此时已知请求序列17、18、52最小开销为{17,18}{52}对应的资源开销states[3]=86.18,总的开销为73.15*2+86.18=232.48。3)可以和52,63合并为一个batch{52,63,77},由于已知17,18最小开销为{17,18}对应的资源开销states[2]=34.18,此时总的开销为69.3*3+34.18=242.08。4)可以和18,52,63合并为{18,53,63,77},此时总开销为65.45*4+17=278.8。5)可以和17,18,52,63合并为一个batch{17,18,53,63,77},此时总开销为61.6*5=308.0。所以states[5]=min(226.18,232.48,242.08,278.8,308.0)=226.18。对应的分批结果为{17,18}{52}{63}{77}。start_idx_list[5]=5。最后最优的批调度方案是{16,17}{52}{63}{77}构成的目标分批结果。按照{16,17}{52}{63}{77}构成的目标分批结果按批输入到神经网络模型进行媒体信息处理,使得消耗的资源最小,能够达到减小资源消耗,节约资源的技术效果。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述对象的处理方法的对象的处理装置。如图10所示,该装置包括:分批操作模块1002,用于对目标对象集合中的目标对象进行分批操作,得到多种分批结果;确定模块1004,用于在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行目标对象处理所消耗的资源之和;输入模块1006,用于将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行目标对象处理。
可选地,所述分批操作模块包括:获取单元,用于获取所述目标对象集合中的第N个目标对象分别与第N-i个分批结果组成的分批结果,共得到N-2个分批结果,其中,所述目标对象集合包括N个目标对象,所述第N-i个分批结果为第N-i个目标对象子集中消耗资源最小的分批结果,所述第N-i个目标对象子集包括所述目标对象集合中的前N-i个目标对象,i大于等于1,小于等于N-2,所述多种分批结果包括所述N-2个分批结果。
可选地,所述对目标对象集合中的目标对象进行分批操作,得到多种分批结果,包括:获取第一分批结果,其中,所述第一分批结果中包括第一批目标对象和第二批目标对象,所述第一批目标对象包括所述目标对象集合中的第1个目标对象,所述第二批目标对象包括所述目标对象集合中的后N-1个目标对象;获取第二分批结果,其中,所述第二分批结果中的一批目标对象包括所述目标对象集合;其中,所述多种分批结果还包括所述第一分批结果以及所述第二分批结果。
可选地,上述装置还用于在所述目标对象集合中的目标对象按照所述目标对象的对象元素数量的从小到大进行排序的情况下的情况下,获取所述第N-i个分批结果,其中,所述第N-i个分批结果包括N-i个第N-i个目标对象,所述第N-i个目标对象为所述目标对象集合中的第N-i个目标对象。
可选地,上述装置还用于在所述在所述多种分批结果中确定消耗资源最小的目标分批结果之前,在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源,其中,所述资源消耗表中记录不同对象元素数量的目标对象所消耗的资源。
可选地,上述装置还用于获取每种对象元素数量的目标对象连续M次输入到所述目标神经网络模型进行处理所消耗的资源,其中,M为自然数;在所述资源消耗表中记录所述不同对象元素数量的目标对象连续M次输入到所述目标神经网络模型进行处理时,所述目标神经网络模型每次对目标对象进行处理所消耗的资源。
可选地,上述装置还用于通过如下方式实现所述在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源:对所述多种分批结果中的第j种分批结果执行以下操作,得到所述第j种分批结果所消耗的资源,其中,j为自然数:获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量;将所述第j种分批结果所消耗的资源确定为所述Sj个消耗的资源总量之和。
可选地,上述装置还用于通过如下方式实现所述获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源:在所述Sj批目标对象中的第一批目标对象包括t种不同对象元素数量的目标对象的情况下,确定对象元素数量最多的第一目标对象连续t次输入到所述目标神经网络模型进行处理时,消耗的总资源为所述第一批目标对象所消耗的资源,其中,t为自然数。
可选地,上述装置还用于通过如下方式实现所述获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量:在所述资源消耗表中未记录所述Sj批目标对象中的第二批目标对象消耗的资源的情况下,确定所述资源消耗表中所记录的与第二批目标对象相邻的第三批目标对象和第四批目标对象所消耗的资源;在所述三批目标对象和第四批目标对象所消耗的资源之间进行线性差值,得到所述第二批目标对象消耗的资源。
可选地,上述装置还用于对目标媒体信息集合中的目标媒体信息进行分批操作,得到多种分批结果;在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标媒体信息,按批输入到目标神经网络模型进行处理所消耗的资源之和;将所述目标分批结果包括的多批目标媒体信息,按批输入至所述目标神经网络模型进行处理。
可选地,上述装置还用于对目标文本信息集合中目标文本信息进行分批操作,得到多种文本分批结果;对目标图像信息集合中的目标图像信息进行分批操作,得到多种图像分批结果;对目标音频信息集合中的目标音频信息进行分批操作,得到多种音频分批结果;对目标视频信息集合中的目标视频信息进行分批操作,得到多种视频分批结果。
根据本发明实施例的又一个方面,还提供了一种用于实施上述基于分批媒体信息的媒体信息处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图11所示,该电子设备包括存储器1102和处理器1104,该存储器1102中存储有计算机程序,该处理器1104被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,对目标对象集合中的目标对象进行分批操作,得到多种分批结果;
S2,在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行处理所消耗的资源之和;
S3,将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行处理。
可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图11中所示更多或者更少的组件(如网络接口等),或者具有与图11所示不同的配置。
其中,存储器1102可用于存储软件程序以及模块,如本发明实施例中的对象的处理方法和装置对应的程序指令/模块,处理器1104通过运行存储在存储器1102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的对象的处理方法。存储器1102可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1102可进一步包括相对于处理器1104远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1102具体可以但不限于用于资源消耗表等信息。作为一种示例,如图11所示,上述存储器1102中可以但不限于包括上述基于分批媒体信息的媒体信息处理装置中的分批操作模块1002、确定模块1004、输入模块1006。此外,还可以包括但不限于上述基于分批媒体信息的媒体信息处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1106为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:连接总线1108,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述基于分批媒体信息的媒体信息处理方法各种可选实现方式中提供的方法。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,对目标对象集合中的目标对象进行分批操作,得到多种分批结果;
S2,在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行处理所消耗的资源之和;
S3,将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行处理。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种对象的处理方法,其特征在于,包括:
对目标对象集合中的目标对象进行分批操作,得到多种分批结果;
在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行处理所消耗的资源之和;
将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行处理。
2.根据权利要求1所述的方法,其特征在于,所述对目标对象集合中的目标对象进行分批操作,得到多种分批结果,包括:
获取所述目标对象集合中的第N个目标对象分别与第N-i个分批结果组成的分批结果,共得到N-2个分批结果,其中,所述目标对象集合包括N个目标对象,所述第N-i个分批结果为第N-i个目标对象子集中消耗资源最小的分批结果,所述第N-i个目标对象子集包括所述目标对象集合中的前N-i个目标对象,i大于等于1,小于等于N-2,所述多种分批结果包括所述N-2个分批结果。
3.根据权利要求2所述的方法,其特征在于,所述对目标对象集合中的目标对象进行分批操作,得到多种分批结果,包括:
获取第一分批结果,其中,所述第一分批结果中包括第一批目标对象和第二批目标对象,所述第一批目标对象包括所述目标对象集合中的第1个目标对象,所述第二批目标对象包括所述目标对象集合中的后N-1个目标对象;
获取第二分批结果,其中,所述第二分批结果中的一批目标对象包括所述目标对象集合;
其中,所述多种分批结果还包括所述第一分批结果以及所述第二分批结果。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述目标对象集合中的目标对象按照所述目标对象的对象元素数量的从小到大进行排序的情况下的情况下,获取所述第N-i个分批结果,其中,所述第N-i个分批结果包括N-i个第N-i个目标对象,所述第N-i个目标对象为所述目标对象集合中的第N-i个目标对象。
5.根据权利要求1所述的方法,其特征在于,所述在所述多种分批结果中确定消耗资源最小的目标分批结果之前,所述方法还包括:
在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源,其中,所述资源消耗表中记录不同对象元素数量的目标对象所消耗的资源。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取每种对象元素数量的目标对象连续M次输入到所述目标神经网络模型进行处理所消耗的资源,其中,M为自然数;
在所述资源消耗表中记录所述不同对象元素数量的目标对象连续M次输入到所述目标神经网络模型进行处理时,所述目标神经网络模型每次对目标对象进行处理所消耗的资源。
7.根据权利要求5所述的方法,其特征在于,所述在预先建立的资源消耗表中获取所述多种分批结果中的每种分批结果所消耗的资源,包括:
对所述多种分批结果中的第j种分批结果执行以下操作,得到所述第j种分批结果所消耗的资源,其中,j为自然数:
获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量;
将所述第j种分批结果所消耗的资源确定为所述Sj个消耗的资源总量之和。
8.根据权利要求7所述的方法,其特征在于,所述获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,包括:
在所述Sj批目标对象中的第一批目标对象包括t种不同对象元素数量的目标对象的情况下,确定对象元素数量最多的第一目标对象连续t次输入到所述目标神经网络模型进行处理时,消耗的总资源为所述第一批目标对象所消耗的资源,其中,t为自然数。
9.根据权利要求7所述的方法,其特征在于,所述获取所述第j种分批结果包括的Sj批目标对象在所述资源消耗表中所记录的消耗的资源,共得到Sj个消耗的资源总量,包括:
在所述资源消耗表中未记录所述Sj批目标对象中的第二批目标对象消耗的资源的情况下,确定所述资源消耗表中所记录的与第二批目标对象相邻的第三批目标对象和第四批目标对象所消耗的资源;
在所述三批目标对象和第四批目标对象所消耗的资源之间进行线性差值,得到所述第二批目标对象消耗的资源。
10.根据权利要求1所述的方法,其特征在于,
所述对目标对象集合中的目标对象进行分批操作,得到多种分批结果,包括:对目标媒体信息集合中的目标媒体信息进行分批操作,得到多种分批结果;
所述在所述多种分批结果中确定消耗资源最小的目标分批结果,包括:在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标媒体信息,按批输入到目标神经网络模型进行处理所消耗的资源之和;
所述将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行处理,包括:将所述目标分批结果包括的多批目标媒体信息,按批输入至所述目标神经网络模型进行处理。
11.根据权利要求10所述的方法,其特征在于,所述对目标媒体信息集合中的目标媒体信息进行分批操作,得到多种分批结果,包括以下至少之一:
对目标文本信息集合中目标文本信息进行分批操作,得到多种文本分批结果;
对目标图像信息集合中的目标图像信息进行分批操作,得到多种图像分批结果;
对目标音频信息集合中的目标音频信息进行分批操作,得到多种音频分批结果;
对目标视频信息集合中的目标视频信息进行分批操作,得到多种视频分批结果。
12.一种对象的处理装置,其特征在于,包括:
分批操作模块,用于对目标对象集合中的目标对象进行分批操作,得到多种分批结果;
确定模块,用于在所述多种分批结果中确定消耗资源最小的目标分批结果,其中,所述多种分批结果中的每种分批结果所消耗的资源包括:将所述每种分批结果中包括的多批目标对象,按批输入到目标神经网络模型进行目标对象处理所消耗的资源之和;
输入模块,用于将所述目标分批结果包括的多批目标对象,按批输入至所述目标神经网络模型进行目标对象处理。
13.根据权利要求12所述的装置,其特征在于,所述分批操作模块包括:
获取单元,用于获取所述目标对象集合中的第N个目标对象分别与第N-i个分批结果组成的分批结果,共得到N-2个分批结果,其中,所述目标对象集合包括N个目标对象,所述第N-i个分批结果为第N-i个目标对象子集中消耗资源最小的分批结果,所述第N-i个目标对象子集包括所述目标对象集合中的前N-i个目标对象,i大于等于1,小于等于N-2,所述多种分批结果包括所述N-2个分批结果。
14.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至11任一项中所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至11任一项中所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010797865.0A CN111898698B (zh) | 2020-08-10 | 2020-08-10 | 对象的处理方法及装置、存储介质和电子设备 |
PCT/CN2021/104963 WO2022033241A1 (zh) | 2020-08-10 | 2021-07-07 | 对象的处理方法及装置、存储介质和电子设备 |
US17/949,375 US20230030265A1 (en) | 2020-08-10 | 2022-09-21 | Object processing method and apparatus, storage medium, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010797865.0A CN111898698B (zh) | 2020-08-10 | 2020-08-10 | 对象的处理方法及装置、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898698A true CN111898698A (zh) | 2020-11-06 |
CN111898698B CN111898698B (zh) | 2021-07-27 |
Family
ID=73246800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010797865.0A Active CN111898698B (zh) | 2020-08-10 | 2020-08-10 | 对象的处理方法及装置、存储介质和电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230030265A1 (zh) |
CN (1) | CN111898698B (zh) |
WO (1) | WO2022033241A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022033241A1 (zh) * | 2020-08-10 | 2022-02-17 | 腾讯科技(深圳)有限公司 | 对象的处理方法及装置、存储介质和电子设备 |
CN116245180A (zh) * | 2021-12-03 | 2023-06-09 | 友好人工智能公司 | 用于基于转换器的生成任务的推理系统的动态分批 |
CN116245181A (zh) * | 2021-12-03 | 2023-06-09 | 友好人工智能公司 | 用于基于转换器的生成任务的推理系统的选择性分批 |
WO2024061162A1 (zh) * | 2022-09-22 | 2024-03-28 | 北京有竹居网络技术有限公司 | 数据处理方法、数据处理装置和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503791A (zh) * | 2015-09-04 | 2017-03-15 | 百度(美国)有限责任公司 | 用于有效神经网络部署的系统和方法 |
US20170357892A1 (en) * | 2016-06-08 | 2017-12-14 | Adobe Systems Incorporated | Convolutional Neural Network Joint Training |
CN110263916A (zh) * | 2019-05-31 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
CN110334801A (zh) * | 2019-05-09 | 2019-10-15 | 苏州浪潮智能科技有限公司 | 一种卷积神经网络的硬件加速方法、装置、设备及系统 |
CN110795228A (zh) * | 2018-08-03 | 2020-02-14 | 伊姆西Ip控股有限责任公司 | 使用加速器混合集的分布式深度学习的自适应批量数据集划分 |
US20200125926A1 (en) * | 2018-10-23 | 2020-04-23 | International Business Machines Corporation | Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments |
CN111275175A (zh) * | 2020-02-20 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 神经网络训练方法、装置、图像分类方法、设备和介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10083395B2 (en) * | 2015-05-21 | 2018-09-25 | Google Llc | Batch processing in a neural network processor |
US11902369B2 (en) * | 2018-02-09 | 2024-02-13 | Preferred Networks, Inc. | Autoencoder, data processing system, data processing method and non-transitory computer readable medium |
CN110689121A (zh) * | 2019-09-24 | 2020-01-14 | 上海寒武纪信息科技有限公司 | 一种用多核处理器实现神经网络模型拆分方法及相关产品 |
CN110780985A (zh) * | 2019-09-25 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种有限时间的并行任务调度方法与装置 |
CN110929623A (zh) * | 2019-11-15 | 2020-03-27 | 北京达佳互联信息技术有限公司 | 多媒体文件的识别方法、装置、服务器和存储介质 |
CN111898698B (zh) * | 2020-08-10 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 对象的处理方法及装置、存储介质和电子设备 |
-
2020
- 2020-08-10 CN CN202010797865.0A patent/CN111898698B/zh active Active
-
2021
- 2021-07-07 WO PCT/CN2021/104963 patent/WO2022033241A1/zh active Application Filing
-
2022
- 2022-09-21 US US17/949,375 patent/US20230030265A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503791A (zh) * | 2015-09-04 | 2017-03-15 | 百度(美国)有限责任公司 | 用于有效神经网络部署的系统和方法 |
US20170357892A1 (en) * | 2016-06-08 | 2017-12-14 | Adobe Systems Incorporated | Convolutional Neural Network Joint Training |
CN110795228A (zh) * | 2018-08-03 | 2020-02-14 | 伊姆西Ip控股有限责任公司 | 使用加速器混合集的分布式深度学习的自适应批量数据集划分 |
US20200125926A1 (en) * | 2018-10-23 | 2020-04-23 | International Business Machines Corporation | Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments |
CN110334801A (zh) * | 2019-05-09 | 2019-10-15 | 苏州浪潮智能科技有限公司 | 一种卷积神经网络的硬件加速方法、装置、设备及系统 |
CN110263916A (zh) * | 2019-05-31 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 数据处理方法和装置、存储介质及电子装置 |
CN111275175A (zh) * | 2020-02-20 | 2020-06-12 | 腾讯科技(深圳)有限公司 | 神经网络训练方法、装置、图像分类方法、设备和介质 |
Non-Patent Citations (1)
Title |
---|
杨强大,等: "基于改进PSO的发酵过程同步串联混合建模", 《自动化学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022033241A1 (zh) * | 2020-08-10 | 2022-02-17 | 腾讯科技(深圳)有限公司 | 对象的处理方法及装置、存储介质和电子设备 |
CN116245180A (zh) * | 2021-12-03 | 2023-06-09 | 友好人工智能公司 | 用于基于转换器的生成任务的推理系统的动态分批 |
CN116245181A (zh) * | 2021-12-03 | 2023-06-09 | 友好人工智能公司 | 用于基于转换器的生成任务的推理系统的选择性分批 |
WO2024061162A1 (zh) * | 2022-09-22 | 2024-03-28 | 北京有竹居网络技术有限公司 | 数据处理方法、数据处理装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111898698B (zh) | 2021-07-27 |
US20230030265A1 (en) | 2023-02-02 |
WO2022033241A1 (zh) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111898698B (zh) | 对象的处理方法及装置、存储介质和电子设备 | |
KR102342604B1 (ko) | 뉴럴 네트워크 생성 방법 및 장치 | |
CN109241412B (zh) | 一种基于网络表示学习的推荐方法、系统及电子设备 | |
US11580441B2 (en) | Model training method and apparatus | |
WO2020094060A1 (zh) | 推荐方法及装置 | |
US9965209B2 (en) | Large-scale, dynamic graph storage and processing system | |
CN109344314B (zh) | 一种数据处理方法、装置及服务器 | |
JP2022020070A (ja) | 情報処理、情報推薦の方法および装置、電子デバイス及び記憶媒体 | |
US20200118033A1 (en) | Method for approximate k-nearest-neighbor search on parallel hardware accelerators | |
CN112232889A (zh) | 一种用户兴趣画像扩展方法、装置、设备及存储介质 | |
Yang et al. | A time-aware CNN-based personalized recommender system | |
CN113807926A (zh) | 推荐信息生成方法、装置、电子设备和计算机可读介质 | |
CN110457325B (zh) | 用于输出信息的方法和装置 | |
CN113590898A (zh) | 数据检索方法、装置、电子设备、存储介质及计算机产品 | |
CN108563648B (zh) | 数据显示方法和装置、存储介质及电子装置 | |
CN111767953B (zh) | 用于训练物品编码模型的方法和装置 | |
CN114722902A (zh) | 基于自监督学习的无标注视频哈希检索方法及装置 | |
CN114168589A (zh) | 索引构建方法及装置 | |
CN112685516A (zh) | 一种多路召回推荐方法、装置、电子设备及介质 | |
CN112035581A (zh) | 基于模型的任务处理方法、装置、设备和介质 | |
CN111667028A (zh) | 一种可靠负样本确定方法和相关装置 | |
CN113010769A (zh) | 基于知识图谱的物品推荐方法、装置、电子设备及介质 | |
WO2017186049A1 (zh) | 信息处理方法和装置 | |
CN117033449B (zh) | 基于kafka流的数据处理方法、电子设备及存储介质 | |
CN111030856B (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 |