CN115408163A - 一种基于批处理动态调节的模型推理调度方法及系统 - Google Patents

一种基于批处理动态调节的模型推理调度方法及系统 Download PDF

Info

Publication number
CN115408163A
CN115408163A CN202211342691.4A CN202211342691A CN115408163A CN 115408163 A CN115408163 A CN 115408163A CN 202211342691 A CN202211342691 A CN 202211342691A CN 115408163 A CN115408163 A CN 115408163A
Authority
CN
China
Prior art keywords
inference
batch processing
model
heterogeneous
delay time
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
Application number
CN202211342691.4A
Other languages
English (en)
Other versions
CN115408163B (zh
Inventor
张殷
王俊波
李国伟
唐琪
熊仕斌
蒋维
罗容波
范心明
李新
董镝
宋安琪
王智娇
刘少辉
吴焯军
刘昊
王云飞
李雷
涂琬婧
李兰茵
赖艳珊
陈绮琪
姜沛东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan Power Supply Bureau of Guangdong Power Grid Corp
Original Assignee
Foshan Power Supply Bureau of Guangdong Power Grid Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Foshan Power Supply Bureau of Guangdong Power Grid Corp filed Critical Foshan Power Supply Bureau of Guangdong Power Grid Corp
Priority to CN202211342691.4A priority Critical patent/CN115408163B/zh
Publication of CN115408163A publication Critical patent/CN115408163A/zh
Application granted granted Critical
Publication of CN115408163B publication Critical patent/CN115408163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及大数据处理技术领域,公开了一种基于批处理动态调节的模型推理调度方法及系统,其方法通过对多个异构处理器进行性能测试,得到相应的处理性能,根据异构处理器的硬件状态和处理性能加和处理,得到相应的异构处理器的推理工作量,并确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上,并且,异构处理器执行预设的推理模型的推理服务,对待处理数据进行批处理,从而使得部署的模型可以分配足够的资源完成推理工作,缓解处理器资源争用的问题,提高了模型推理效率。

Description

一种基于批处理动态调节的模型推理调度方法及系统
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种基于批处理动态调节的模型推理调度方法及系统。
背景技术
我国高压输电架空线路的不断增多,并且输电线路本身部署在恶劣的自然环境中,且跨度很长,动辄几十、上百公里。输电线路上的缺陷给电力系统带来很多的困扰和危害。然而传统方法需要工程师到现场使用望远镜逐段监测,监测效率、监测准确率和人员安全性较低,给电力工作者带来很大的困扰。
随着人工智能技术的发展,基于卷积神经网络的深度学习目标检测方法广泛应用在安防,巡检等领域并在大数据场景中展现出远超过传统方法的性能。模型的规模,数据规模和生产环境的复杂性对深度学习模型推理提出了更高的要求,尤其随着异构计算资源的推广,怎么在异构计算环境下,充分发挥异构计算的优势,减少不同模型的异构资源争用,提出了更高的要求。
现有技术往往选择一种深度学习推理框架(pytorch或tensorrt),在CPU上进行数据前处理和模型推理结果后处理,在GPU或者NPU上进行模型推理,当多个模型同时运行在GPU或者NPU 时,由于GPU显存会频繁切换,会导致资源争用,其计算效率与单模型推理接近。
其次,往往选择模型推理的批大小为一个固定值,批大小的规模影响模型推理的延时和吞吐量,批大小越大,延时越大,吞吐量越大,反之延时越小,吞吐量越小,固定的批大小往往不能选择最优的批大小值,影响模型推理效率。
发明内容
本发明提供了一种基于批处理动态调节的模型推理调度方法及系统,解决了模型推理效率较低的技术问题。
有鉴于此,本发明第一方面提供了一种基于批处理动态调节的模型推理调度方法,包括以下步骤:
构建多个异构处理器,获取多个异构处理器的性能测试结果;
获取每个所述异构处理器的硬件状态,所述硬件状态包括处理器内存利用率和处理器利用率,根据所述异构处理器的硬件状态和性能测试结果加和处理,得到相应的异构处理器的推理工作量;
比较所述多个异构处理器分别对应的推理工作量,确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上;
通过推理工作量最小的异构处理器执行所述预设的推理模型的推理服务,对待处理数据进行批处理。
优选地,构建多个异构处理器,获取多个异构处理器的性能测试结果的步骤具体包括:
构建多个异构处理器,以Resnet50模型作为推理模型在多个异构处理器上运行推理服务;
根据公开数据集中的数据生成训练数据集,将所述训练数据集输入到多个异构处理器上的Resnet50模型中进行训练,得到相应的处理结果,根据处理结果计算所述异构处理器每秒处理的最大数据量,作为与训练数据集相对应的异构处理器的处理性能。
优选地,本方法还包括:
在多个异构处理器中配置适用于推理模型的运行环境参数、运行权重和推理脚本。
优选地,本方法还包括:
通过所述推理调度器获取推理模型的运行延迟时间,将所述运行延迟时间低于预设的延迟时间,则增加批处理数据量,将所述运行延迟时间高于预设的延迟时间,则减少批处理数据量;
获取n次批处理数据量,记为x1,x2,x3,...xi,xj,...,xn,使用Mann-Kendall检验进行判断,具体包括:
对n次批处理数据量计算差值和为,
Figure 871004DEST_PATH_IMAGE001
式中,S表示差值和,其中,
Figure 12136DEST_PATH_IMAGE002
通过下式计算趋势值为,
Figure 510113DEST_PATH_IMAGE003
式中,Z表示趋势值,Var表示S的方差;
判断趋势值与零的大小关系,若判断趋势值大于零,则批处理调整趋势为增大,若判断趋势值小于零,则批处理调整趋势为减小;
根据批处理数据量和运行延迟时间计算运行吞吐量,若运行吞吐量和/或运行延迟时间不满足预设的要求值,则调整批处理数据量,直至运行吞吐量和/或运行延迟时间均满足预设的要求值,则输出批处理数据量;
通过推理模型按照批处理数据量对待处理数据进行批处理。
第二方面,本发明提供了一种基于批处理动态调节的模型推理调度系统,包括:
性能测试模块,用于构建多个异构处理器,获取多个异构处理器的性能测试结果;
工作量计算模块,用于获取每个所述异构处理器的硬件状态,所述硬件状态包括处理器内存利用率和处理器利用率,根据所述异构处理器的硬件状态和性能测试结果加和处理,得到相应的异构处理器的推理工作量;
比较模块,用于比较所述多个异构处理器分别对应的推理工作量,确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上;
批处理模块,用于通过推理工作量最小的异构处理器执行所述预设的推理模型的推理服务,对待处理数据进行批处理。
优选地,所述性能测试模块具体包括:
构建模块,用于构建多个异构处理器,以Resnet50模型作为推理模型在多个异构处理器上运行推理服务;
测试模块,用于根据公开数据集中的数据生成训练数据集,将所述训练数据集输入到多个异构处理器上的Resnet50模型中进行训练,得到相应的处理结果,根据处理结果计算所述异构处理器每秒处理的最大数据量,作为与训练数据集相对应的异构处理器的处理性能。
优选地,本系统还包括:
配置模块,用于在多个异构处理器中配置适用于推理模型的运行环境参数、运行权重和推理脚本。
优选地,本系统还包括:
调整模块,用于通过所述推理调度器获取推理模型的运行延迟时间,将所述运行延迟时间低于预设的延迟时间,则增加批处理数据量,将所述运行延迟时间高于预设的延迟时间,则减少批处理数据量;
获取模块,用于获取n次批处理数据量,记为x1,x2,x3,...xi,xj,...,xn,使用Mann-Kendall检验进行判断,具体包括:
对n次批处理数据量计算差值和为,
Figure 335288DEST_PATH_IMAGE001
式中,S表示差值和,其中,
Figure 348243DEST_PATH_IMAGE002
计算模块,用于通过下式计算趋势值为,
Figure 230749DEST_PATH_IMAGE003
式中,Z表示趋势值,Var表示S的方差;
判断模块,用于判断趋势值与零的大小关系,若判断趋势值大于零,则批处理调整趋势为增大,若判断趋势值小于零,则批处理调整趋势为减小;
更新模块,用于根据批处理数据量和运行延迟时间计算运行吞吐量,若运行吞吐量和/或运行延迟时间不满足预设的要求值,则调整批处理数据量,直至运行吞吐量和/或运行延迟时间均满足预设的要求值,则输出批处理数据量;
处理模块,用于通过推理模型按照批处理数据量对待处理数据进行批处理。
从以上技术方案可以看出,本发明具有以下优点:
本发明通过对多个异构处理器进行性能测试,得到相应的处理性能,根据异构处理器的硬件状态和处理性能加和处理,得到相应的异构处理器的推理工作量,并确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上,并且,异构处理器执行预设的推理模型的推理服务,对待处理数据进行批处理,从而使得部署的模型可以分配足够的资源完成推理工作,缓解处理器资源争用的问题,提高了模型推理效率。
附图说明
图1为本发明实施例提供的一种基于批处理动态调节的模型推理调度方法的流程图;
图2为本发明实施例提供的一种基于批处理动态调节的模型推理调度系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,请参阅图1,本发明提供的一种基于批处理动态调节的模型推理调度方法,包括以下步骤:
S1、构建多个异构处理器,获取多个异构处理器的性能测试结果。
其中,处理器指的是CPU、GPU,NPU等一系列处理器,从而避免了各种模型竞争访问底层硬件资源。例如,由于GPU加速可以带来模型的好处,但是,如果所有模型创建具有GPU支持的容器上,使得模型的推理均在GPU上运行,就会使得模型推理的推理管道过多,进而使得GPU变的拥挤堵塞,并且,需要从GPU内存中不断调入和调出多个模型的参数,从而导致每个模型的推理延迟更高,推理吞吐量更低。
本实施例、通过构建异构处理器进行性能benchmark测试,得到了不同处理器的处理性能,处理性能定义为在基准模型推理任务中,处理器每秒可处理的最大图片数量,不同处理器有不同的处理性能,作为后续推理任务调度到不同处理器的依据。
S2、获取每个异构处理器的硬件状态,硬件状态包括处理器内存利用率和处理器利用率,根据异构处理器的硬件状态和性能测试结果加和处理,得到相应的异构处理器的推理工作量。
S3、比较多个异构处理器分别对应的推理工作量,确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上。
其中,推理调度器管理不同模型的执行,推理调度器创建满足需求的特定模型的容器,然后,将这些容器分配给不同的处理器。
可以理解的是,根据推理工作量可以判断CPU、GPU以及NPU的此时的计算资源,选择最优处理器,使得部署的模型可以分配足够的资源完成推理工作,缓解处理器资源争用的问题,从而根据推理工作量进行任务调度,避免所有模型部署在GPU上推理而CPU资源空闲的情况。
S4、通过推理工作量最小的异构处理器执行预设的推理模型的推理服务,对待处理数据进行批处理。
需要说明的是,本实施例提供了一种基于批处理动态调节的模型推理调度方法,通过对多个异构处理器进行性能测试,得到相应的处理性能,根据异构处理器的硬件状态和处理性能加和处理,得到相应的异构处理器的推理工作量,并确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上,并且,异构处理器执行预设的推理模型的推理服务,对待处理数据进行批处理,从而使得部署的模型可以分配足够的资源完成推理工作,缓解处理器资源争用的问题,提高了模型推理效率。
在一个具体实施例中,步骤S1具体包括:
S101、构建多个异构处理器,以Resnet50模型作为推理模型在多个异构处理器上运行推理服务。
其中,推理模型可以根据实际业务需求进行设定,例如进行开展光伏出力预测业务,则可以部署光伏出力预测模型等。
S102、根据公开数据集中的数据生成训练数据集,将训练数据集输入到多个异构处理器上的Resnet50模型中进行训练,得到相应的处理结果,根据处理结果计算异构处理器每秒处理的最大数据量,作为与训练数据集相对应的异构处理器的处理性能。
其中,其根据处理结果生成负载性能表,如表1所示,测试结果指标为不同批处理大小设定下,处理器可运行的最大模型推理服务和模型推理速度。从负载性能表中可得到不同处理器在benchmark测试过程中的不同批处理大小可处理图片数。
表1
Figure DEST_PATH_IMAGE004
在一个具体实施例中,本方法还包括:
S10、在多个异构处理器中配置适用于推理模型的运行环境参数、运行权重和推理脚本。
需要说明的是,根据业务配置不同处理器上的模型推理运行环境(如推理框架,内存大小,CPU,GPU等),不同处理器上的推理模型权重以及不同处理器上推理模型的推理脚本。
在一个具体实施例中,本方法还包括:
S401、通过推理调度器获取推理模型的运行延迟时间,将运行延迟时间低于预设的延迟时间,则增加批处理数据量,将运行延迟时间高于预设的延迟时间,则减少批处理数据量;
其中,批处理数据量也即为批处理大小,是模型数据推理数量,例如可处理图片数量。
由于部署环境的动态性和不可预测性,模型推理服务不能保证模型在开发时的精确性能,批处理通过允许内部框架利用数据并行处理来实现快速高效的计算,从而增加了每单位时间可计算的推理数量。
然而,批处理的缺点是,它比进行单个推断的延迟更高,因此,本实施例提出批处理动态调整,来平衡模型吞吐量和计算延时,满足业务上对吞吐量和计算延时的要求,提高资源利用率。
可以理解的是,调度器监控每个模型的运行时延迟,并动态调整批处理大小,批处理调整的幅度定义为B-delta。具体地说,模型推理调度器采用了加法增加/减少方法,调整结果是增加,则批大小配置为 B + B-delta,否则配置为B - B-delta。对于每个模型,调度器监视每个推理的端到端运行时延迟,如果运行时延迟低于延迟要求,则增加批大小,如果运行时延迟超过要求,它会减少批处理大小。
S402、获取n次批处理数据量,记为x1,x2,x3,...xi,xj,...,xn,使用Mann-Kendall检验进行判断,具体包括:
S403、对n次批处理数据量计算差值和为,
Figure 645549DEST_PATH_IMAGE001
式中,S表示差值和,其中,
Figure 650415DEST_PATH_IMAGE002
S404、通过下式计算趋势值为,
Figure 150666DEST_PATH_IMAGE003
式中,Z表示趋势值,Var表示S的方差;
S405、判断趋势值与零的大小关系,若判断趋势值大于零,则批处理调整趋势为增大,若判断趋势值小于零,则批处理调整趋势为减小;
需要说明的是,虽然频繁的更改可以快速的达到饱和到最佳批量,但也会产生额外的成本,例如,在数据处理流程服务中重新组织数据处理的流程,如果在调节过程中如果批大小超过最优值,则会通过简单的增加/减少方法可能会陷入局部最优解,而达不到全局最优,从而浪费系统资源。为避免上述问题,本实施例还根据最近的趋势而不是最后一次监控数据做出是否继续调整批大小的决定。
其中,通过采用Mann-Kendall方法,根据调整趋势,进行批处理大小调整调整,平衡模型吞吐量和延时,提高资源利用率。
S406、根据批处理数据量和运行延迟时间计算运行吞吐量,若运行吞吐量和/或运行延迟时间不满足预设的要求值,则调整批处理数据量,直至运行吞吐量和/或运行延迟时间均满足预设的要求值,则输出批处理数据量;
S407、通过推理模型按照批处理数据量对待处理数据进行批处理。
以上为本发明提供的一种基于批处理动态调节的模型推理调度方法的实施例的详细描述,以下为本发明提供的一种基于批处理动态调节的模型推理调度系统的实施例的详细描述。
为了方便理解,请参阅图2,本发明提供了一种基于批处理动态调节的模型推理调度系统,包括:
性能测试模块100,用于构建多个异构处理器,获取多个异构处理器的性能测试结果;
工作量计算模块200,用于获取每个所述异构处理器的硬件状态,所述硬件状态包括处理器内存利用率和处理器利用率,根据所述异构处理器的硬件状态和性能测试结果加和处理,得到相应的异构处理器的推理工作量;
比较模块300,用于比较所述多个异构处理器分别对应的推理工作量,确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上;
批处理模块400,用于通过推理工作量最小的异构处理器执行预设的推理模型的推理服务,对待处理数据进行批处理。
在一个具体实施例中,性能测试模块具体包括:
构建模块,用于构建多个异构处理器,以Resnet50模型作为推理模型在多个异构处理器上运行推理服务;
测试模块,用于根据公开数据集中的数据生成训练数据集,将训练数据集输入到多个异构处理器上的Resnet50模型中进行训练,得到相应的处理结果,根据处理结果计算异构处理器每秒处理的最大数据量,作为与训练数据集相对应的异构处理器的处理性能。
在一个具体实施例中,本系统还包括:
配置模块,用于在多个异构处理器中配置适用于推理模型的运行环境参数、运行权重和推理脚本。
在一个具体实施例中,本系统还包括:
调整模块,用于通过推理调度器获取推理模型的运行延迟时间,将运行延迟时间低于预设的延迟时间,则增加批处理数据量,将运行延迟时间高于预设的延迟时间,则减少批处理数据量;
获取模块,用于获取n次批处理数据量,记为x1,x2,x3,...xi,xj,...,xn,使用Mann-Kendall检验进行判断,具体包括:
对n次批处理数据量计算差值和为,
Figure 633600DEST_PATH_IMAGE001
式中,S表示差值和,其中,
Figure 106170DEST_PATH_IMAGE002
计算模块,用于通过下式计算趋势值为,
Figure 281936DEST_PATH_IMAGE003
式中,Z表示趋势值,Var表示S的方差;
判断模块,用于判断趋势值与零的大小关系,若判断趋势值大于零,则批处理调整趋势为增大,若判断趋势值小于零,则批处理调整趋势为减小;
更新模块,用于根据批处理数据量和运行延迟时间计算运行吞吐量,若运行吞吐量和/或运行延迟时间不满足预设的要求值,则调整批处理数据量,直至运行吞吐量和/或运行延迟时间均满足预设的要求值,则输出批处理数据量;
处理模块,用于通过推理模型按照批处理数据量对待处理数据进行批处理。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于批处理动态调节的模型推理调度方法,其特征在于,包括以下步骤:
构建多个异构处理器,获取多个异构处理器的性能测试结果;
获取每个所述异构处理器的硬件状态,所述硬件状态包括处理器内存利用率和处理器利用率,根据所述异构处理器的硬件状态和性能测试结果加和处理,得到相应的异构处理器的推理工作量;
比较所述多个异构处理器分别对应的推理工作量,确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上;
通过推理工作量最小的异构处理器执行所述预设的推理模型的推理服务,对待处理数据进行批处理。
2.根据权利要求1所述的基于批处理动态调节的模型推理调度方法,其特征在于,构建多个异构处理器,获取多个异构处理器的性能测试结果的步骤具体包括:
构建多个异构处理器,以Resnet50模型作为推理模型在多个异构处理器上运行推理服务;
根据公开数据集中的数据生成训练数据集,将所述训练数据集输入到多个异构处理器上的Resnet50模型中进行训练,得到相应的处理结果,根据处理结果计算所述异构处理器每秒处理的最大数据量,作为与训练数据集相对应的异构处理器的处理性能。
3.根据权利要求1所述的基于批处理动态调节的模型推理调度方法,其特征在于,还包括:
在多个异构处理器中配置适用于推理模型的运行环境参数、运行权重和推理脚本。
4.根据权利要求1所述的基于批处理动态调节的模型推理调度方法,其特征在于,还包括:
通过所述推理调度器获取推理模型的运行延迟时间,将所述运行延迟时间低于预设的延迟时间,则增加批处理数据量,将所述运行延迟时间高于预设的延迟时间,则减少批处理数据量;
获取n次批处理数据量,记为x1,x2,x3,...xi,xj,...,xn,使用Mann-Kendall检验进行判断,具体包括:
对n次批处理数据量计算差值和为,
Figure 214566DEST_PATH_IMAGE001
式中,S表示差值和,其中,
Figure 91255DEST_PATH_IMAGE002
通过下式计算趋势值为,
Figure 913717DEST_PATH_IMAGE003
式中,Z表示趋势值,Var表示S的方差;
判断趋势值与零的大小关系,若判断趋势值大于零,则批处理调整趋势为增大,若判断趋势值小于零,则批处理调整趋势为减小;
根据批处理数据量和运行延迟时间计算运行吞吐量,若运行吞吐量和/或运行延迟时间不满足预设的要求值,则调整批处理数据量,直至运行吞吐量和/或运行延迟时间均满足预设的要求值,则输出批处理数据量;
通过推理模型按照批处理数据量对待处理数据进行批处理。
5.一种基于批处理动态调节的模型推理调度系统,其特征在于,包括:
性能测试模块,用于构建多个异构处理器,获取多个异构处理器的性能测试结果;
工作量计算模块,用于获取每个所述异构处理器的硬件状态,所述硬件状态包括处理器内存利用率和处理器利用率,根据所述异构处理器的硬件状态和性能测试结果加和处理,得到相应的异构处理器的推理工作量;
比较模块,用于比较所述多个异构处理器分别对应的推理工作量,确定推理工作量最小的异构处理器,通过推理调度器将预设的推理模型部署在推理工作量最小的异构处理器上;
批处理模块,用于通过推理工作量最小的异构处理器执行所述预设的推理模型的推理服务,对待处理数据进行批处理。
6.根据权利要求5所述的基于批处理动态调节的模型推理调度系统,其特征在于,所述性能测试模块具体包括:
构建模块,用于构建多个异构处理器,以Resnet50模型作为推理模型在多个异构处理器上运行推理服务;
测试模块,用于根据公开数据集中的数据生成训练数据集,将所述训练数据集输入到多个异构处理器上的Resnet50模型中进行训练,得到相应的处理结果,根据处理结果计算所述异构处理器每秒处理的最大数据量,作为与训练数据集相对应的异构处理器的处理性能。
7.根据权利要求5所述的基于批处理动态调节的模型推理调度系统,其特征在于,还包括:
配置模块,用于在多个异构处理器中配置适用于推理模型的运行环境参数、运行权重和推理脚本。
8.根据权利要求5所述的基于批处理动态调节的模型推理调度系统,其特征在于,还包括:
调整模块,用于通过所述推理调度器获取推理模型的运行延迟时间,将所述运行延迟时间低于预设的延迟时间,则增加批处理数据量,将所述运行延迟时间高于预设的延迟时间,则减少批处理数据量;
获取模块,用于获取n次批处理数据量,记为x1,x2,x3,...xi,xj,...,xn,使用Mann-Kendall检验进行判断,具体包括:
对n次批处理数据量计算差值和为,
Figure 243067DEST_PATH_IMAGE001
式中,S表示差值和,其中,
Figure 504284DEST_PATH_IMAGE002
计算模块,用于通过下式计算趋势值为,
Figure 173163DEST_PATH_IMAGE003
式中,Z表示趋势值,Var表示S的方差;
判断模块,用于判断趋势值与零的大小关系,若判断趋势值大于零,则批处理调整趋势为增大,若判断趋势值小于零,则批处理调整趋势为减小;
更新模块,用于根据批处理数据量和运行延迟时间计算运行吞吐量,若运行吞吐量和/或运行延迟时间不满足预设的要求值,则调整批处理数据量,直至运行吞吐量和/或运行延迟时间均满足预设的要求值,则输出批处理数据量;
处理模块,用于通过推理模型按照批处理数据量对待处理数据进行批处理。
CN202211342691.4A 2022-10-31 2022-10-31 一种基于批处理动态调节的模型推理调度方法及系统 Active CN115408163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211342691.4A CN115408163B (zh) 2022-10-31 2022-10-31 一种基于批处理动态调节的模型推理调度方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211342691.4A CN115408163B (zh) 2022-10-31 2022-10-31 一种基于批处理动态调节的模型推理调度方法及系统

Publications (2)

Publication Number Publication Date
CN115408163A true CN115408163A (zh) 2022-11-29
CN115408163B CN115408163B (zh) 2023-03-24

Family

ID=84168771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211342691.4A Active CN115408163B (zh) 2022-10-31 2022-10-31 一种基于批处理动态调节的模型推理调度方法及系统

Country Status (1)

Country Link
CN (1) CN115408163B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177161A1 (en) * 2002-03-13 2003-09-18 Corigin Ltd Load balancing with shared data
CN107656813A (zh) * 2017-09-29 2018-02-02 上海联影医疗科技有限公司 一种负载调度的方法、装置及终端
CN107977268A (zh) * 2017-10-13 2018-05-01 北京百度网讯科技有限公司 人工智能的异构硬件的任务调度方法、装置及可读介质
CN113687949A (zh) * 2021-08-31 2021-11-23 中国联合网络通信集团有限公司 服务器部署方法、装置、部署设备及存储介质
CN114185683A (zh) * 2021-12-17 2022-03-15 畅捷通信息技术股份有限公司 服务器的空闲程度确定方法、装置及存储介质
CN114281528A (zh) * 2021-12-10 2022-04-05 重庆邮电大学 一种基于深度强化学习和异构Spark集群的节能调度方法及系统
CN114422349A (zh) * 2022-03-30 2022-04-29 南京邮电大学 基于云边端协同的深度学习模型训练和推理架构部署方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177161A1 (en) * 2002-03-13 2003-09-18 Corigin Ltd Load balancing with shared data
CN107656813A (zh) * 2017-09-29 2018-02-02 上海联影医疗科技有限公司 一种负载调度的方法、装置及终端
CN107977268A (zh) * 2017-10-13 2018-05-01 北京百度网讯科技有限公司 人工智能的异构硬件的任务调度方法、装置及可读介质
CN113687949A (zh) * 2021-08-31 2021-11-23 中国联合网络通信集团有限公司 服务器部署方法、装置、部署设备及存储介质
CN114281528A (zh) * 2021-12-10 2022-04-05 重庆邮电大学 一种基于深度强化学习和异构Spark集群的节能调度方法及系统
CN114185683A (zh) * 2021-12-17 2022-03-15 畅捷通信息技术股份有限公司 服务器的空闲程度确定方法、装置及存储介质
CN114422349A (zh) * 2022-03-30 2022-04-29 南京邮电大学 基于云边端协同的深度学习模型训练和推理架构部署方法

Also Published As

Publication number Publication date
CN115408163B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN111431996B (zh) 用于资源配置的方法、装置、设备和介质
CN111371616B (zh) 一种面向numa架构服务器的虚拟网络功能链部署方法和系统
Guo et al. A container scheduling strategy based on neighborhood division in micro service
CN111752706B (zh) 资源配置方法、装置及存储介质
CN117997906B (zh) 节点计算资源分配方法、网络交换子系统及智能计算平台
CN113553160A (zh) 用于人工智能物联网的边缘计算节点任务调度方法及系统
Shi et al. Nodens: Enabling Resource Efficient and Fast {QoS} Recovery of Dynamic Microservice Applications in Datacenters
CN115408163B (zh) 一种基于批处理动态调节的模型推理调度方法及系统
US10817341B1 (en) Adaptive tuning of thread weight based on prior activity of a thread
CN117234734A (zh) 加速卡负载均衡调度方法、装置、通信设备及存储介质
Mo et al. Heet: Accelerating Elastic Training in Heterogeneous Deep Learning Clusters
CN116662001A (zh) 一种事件处理方法及装置
Yuan et al. A DRL-Based Container Placement Scheme with Auxiliary Tasks.
CN114640681B (zh) 一种数据处理方法和系统
CN114567637A (zh) 一种智能设置负载均衡后端服务器权重的方法及系统
CN114915631A (zh) 一种面向异构集群能效优化的负载均衡系统及方法
CN114168439A (zh) 一种集群内服务的压测控制方法、装置、存储介质及终端
CN114866430A (zh) 边缘计算的算力预测方法、算力编排方法及系统
Swain et al. An Energy Efficient Virtual Machine Placement Scheme for Intelligent Resource Management at Cloud Data Center
CN112732451A (zh) 一种云环境中的负载均衡系统
CN109522106B (zh) 一种基于协同计算的风险价值模拟动态任务调度方法
WO2016195225A1 (ko) Gpgpu 어플리케이션을 위한 dvfs 기법이 적용된 모바일 디바이스
Rabinia et al. Data Sharing-Aware Online Algorithms for Task Allocation in Edge Computing Systems
Zhao et al. Scheduling Parallel Migration of Virtualized Services Under Time Constraints in Mobile Edge Clouds
CN115361449B (zh) Ip资源的调整方法、装置、设备及存储介质

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