掌桥专利:专业的专利平台
掌桥专利
首页

人工智能推理框架的推理方法、计算机设备及介质

文献发布时间:2023-06-19 19:27:02


人工智能推理框架的推理方法、计算机设备及介质

技术领域

本发明涉及人工智能技术领域。更具体地,涉及一种人工智能推理框架的推理方法、计算机设备及介质。

背景技术

目前,在云计算人工智能(Artificial Intelligence,AI)服务、边缘计算AI服务等场景下,受计算资源的限制,AI推理框架推理效率难以得到保证,特别是在短时间内收到大量推理请求、推理请求的最大允许延迟较小等情况下,直接根据推理请求到来的顺序依次处理的方式难以满足延迟率等方面的需求。

发明内容

本发明的目的在于提供一种人工智能推理框架的推理方法、计算机设备及介质,以解决现有技术存在的问题中的至少一个。

为达到上述目的,本发明采用下述技术方案:

本发明第一方面提供一种人工智能推理框架的推理方法,包括

获取推理请求;

根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,并根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸;

根据推理请求数量、推理模型的实例数量及每个实例的最大批尺寸将推理模型加载到实例,以对推理请求进行推理处理。

可选地,所述根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,并根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸包括:

根据推理请求包含的最大允许延迟信息,判断当前的总体推理请求延迟需求满足率是否大于等于预设满足率阈值:

若是,减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸;

若否,增加未满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸。

可选地,所述根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,并根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸包括:

在根据获取的推理请求判定需要加载新的推理模型时,判断人工智能推理框架的空闲计算资源是否满足新的推理模型的计算资源需求:

若是,启动新的推理模型;

若否,计算人工智能推理框架的空闲计算资源与新的推理模型的计算资源需求之间的差值,并根据所述差值减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸。

可选地,所述根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,并根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸包括:

在判定存在已完成推理处理的推理模型时,停用所述已完成推理处理的推理模型。

可选地,所述根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸包括:以设定时间间隔根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,并根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸。

可选地,所述根据推理请求数量、推理模型的实例数量及每个实例的最大批尺寸将推理模型加载到实例包括:

判断每个推理模型对应的推理请求数量是否大于预设最大推理请求数量阈值:

若是,将该推理模型的每个实例的批尺寸设置为最大批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若否,将该推理模型的每个实例的批尺寸设置为预设批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理。

可选地,所述根据推理请求数量、推理模型的实例数量及每个实例的最大批尺寸将推理模型加载到实例包括:

判断每个推理模型对应的推理请求数量是否小于预设最小推理请求数量阈值:

若是,将该推理模型的每个实例的批尺寸设置为预设最小批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若否,将该推理模型的每个实例的批尺寸设置为预设批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理。

可选地,所述根据推理请求数量、推理模型的实例数量及每个实例的最大批尺寸将推理模型加载到实例包括:

判断每个推理模型对应的推理请求数量与预设最大推理请求数量阈值及预设最小推理请求数量阈值的关系:

若该推理模型对应的推理请求数量大于预设最大推理请求数量阈值,将该推理模型的每个实例的批尺寸设置为最大批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若该推理模型对应的推理请求数量小于等于预设最大推理请求数量阈值且大于等于预设最小推理请求数量阈值,将该推理模型的每个实例的批尺寸设置为预设批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若该推理模型对应的推理请求数量小于预设最小推理请求数量阈值,将该推理模型的每个实例的批尺寸设置为预设最小批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理。

可选地,所述实例的预设批尺寸取值为该实例的最大批尺寸的二分之一。

可选地,所述实例的预设最小批尺寸取值为1。

本发明第二方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本发明第一方面提供的方法。

本发明第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面提供的方法。

本发明的有益效果如下:

本发明所述技术方案可在云计算AI服务、边缘计算AI服务场景下,通过持续动态优化推理配置及推理调度实现AI推理框架的动态推理性能优化,提升推理效率。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出本发明实施例提供的人工智能推理框架的推理方法的一流程示意图。

图2示出本发明实施例提供的人工智能推理框架的推理方法中,推理性能评估及推理配置的流程示意图。

图3示出本发明实施例提供的人工智能推理框架的推理方法中,对于一推理模型的推理调度的流程示意图。

图4示出推理请求与对应的推理调度结果的一示意图。

图5示出推理请求与对应的推理调度结果的另一示意图。

图6示出推理请求与对应的推理调度结果的另一示意图。

图7示出本发明实施例提供的人工智能推理框架的推理方法的另一流程示意图。

图8示出执行本发明实施例提供的人工智能推理框架的推理方法的计算机系统的结构示意图。

具体实施方式

为了更清楚地说明本发明,下面结合实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、边缘计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。

目前,在云计算AI服务、边缘计算AI服务等场景下,受计算资源的限制,AI推理框架推理效率难以得到保证,特别是在短时间内收到大量推理请求、推理请求的最大允许延迟较小等情况下,直接根据推理请求到来的顺序依次处理的方式难以满足延迟率等方面的需求。

有鉴于此,本发明实施例提供一种人工智能推理框架的推理方法。

需要说明的是,本实施例提供的人工智能推理框架的推理方法一般由推理服务器执行,该推理服务器可以是硬件,也可以是软件。当推理服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当推理服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。

如图1所示,本实施例提供的人工智能推理框架的推理方法,包括如下步骤:

S110、获取推理请求。

在一个具体示例中,推理请求(Request)例如获取自视频服务器,视频服务器例如连接大量摄像头,在获取到摄像头采集的视频图像后发出例如包括目标检测、人脸关键点定位、人脸特征提取、超分、降噪等类型的推理请求,执行本实施例提供的人工智能推理框架的推理方法的推理服务器获取这些推理请求。

人工智能推理框架中部署的推理模型例如包括计算机视觉领域中常用的目标检测模型、人脸关键点定位模型、人脸特征提取模型等,还例如包括图像处理领域中的超分模型、降噪模型等,各种推理模型例如以模型文件的形式存在,当执行本实施例提供的人工智能推理框架的推理方法的推理服务器获取到推理请求后,通过后续的推理调度及推理处理步骤将对应类型的推理模型加载到一个或多个实例(Instance)中,以对推理请求进行推理处理。其中,人工智能推理框架例如包括CPU(CentralProcessing Unit,中央处理器)、GPU(GraphicsProcessing Unit,图形处理器)、NPU(NeuralNetworks Process Units,神经网络处理器)等多种类型的硬件,用于提供计算资源以运行实例。一个实例可以根据设置的批尺寸(Batch Size),将多个相同类型的推理请求拼在一起进行并行推理。

S120、根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,并根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸。

在一种可能的实现方式中,步骤S120进一步包括:

根据推理请求包含的最大允许延迟信息,判断当前的总体推理请求延迟需求满足率是否大于等于预设满足率阈值:

若是,减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸;

若否,增加未满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸。

由此,可在当前的总体推理请求延迟需求满足率大于等于预设满足率阈值的情况下,通过减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸来释放计算资源,并在当前的总体推理请求延迟需求满足率小于预设满足率阈值的情况下,通过增加未满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸来提升总体推理请求延迟需求满足率,从而根据当前的总体推理请求延迟需求满足率,持续动态优化推理配置,实现AI推理框架的动态推理性能优化。

在一种可能的实现方式中,步骤S120进一步包括:

在根据获取的推理请求判定需要加载新的推理模型时,判断人工智能推理框架的空闲计算资源是否满足新的推理模型的计算资源需求:

若是,启动新的推理模型;

若否,计算人工智能推理框架的空闲计算资源与新的推理模型的计算资源需求之间的差值,并根据所述差值减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸。

由此,可在人工智能推理框架的空闲计算资源无法满足新的推理模型的计算资源需求的情况下,通过计算人工智能推理框架的空闲计算资源与新的推理模型的计算资源需求之间的差值,并根据所述差值减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸来释放计算资源,从而在根据获取的推理请求判定需要加载新的推理模型且人工智能推理框架的空闲计算资源无法满足新的推理模型的计算资源需求的情况下,根据人工智能推理框架的空闲计算资源与新的推理模型的计算资源需求之间的差值,动态优化推理配置,实现AI推理框架的动态推理性能优化。

在一种可能的实现方式中,步骤S120进一步包括:

在判定存在已完成推理处理的推理模型时,停用所述已完成推理处理的推理模型。

由此,可通过在存在已完成推理处理的推理模型的情况下停用已完成推理处理的推理模型,以便及时释放计算资源,实现AI推理框架的动态推理性能优化。

结合上述步骤S120的三种实现方式,在一个具体示例中,如图2所示,实现推理性能评估及推理配置的步骤S120进一步包括如下子步骤:

S1201、在流程开始后,判断是否存在已完成推理处理的推理模型:若是,转入子步骤S1202;若否,转入子步骤S1203;

S1202、停用已完成推理处理的推理模型以释放计算资源,流程结束;

S1203、判断是否需要加载新的推理模型:若是,转入子步骤S1204;若否,转入子步骤S1205;

S1204、判断人工智能推理框架的空闲计算资源是否满足新的推理模型的计算资源需求:若是,转入子步骤S1206;若否,转入子步骤S1207;

S1206、启动新的推理模型,流程结束;

S1207、计算人工智能推理框架的空闲计算资源与新的推理模型的计算资源需求之间的差值转入子步骤S1208;

S1208、根据所述差值减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸以释放计算资源,流程结束;

S1205、判断当前的总体推理请求延迟需求满足率lr是否大于等于预设满足率阈值Tlr:若是,转入子步骤S1209;若否,转入子步骤S1210;

S1209、减少满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸以释放计算资源,流程结束;

S1210、增加未满足最大允许延迟的推理请求对应的推理模型的实例数量和/或实例的最大批尺寸以提升总体推理请求延迟需求满足率,流程结束。

结合图2所示,步骤S120实现的推理性能评估与推理配置,是在对推理性能、推理需求情况进行动态评估后,对每个推理模型进行实例数量、实例类型、实例最大批尺寸、实例最大允许延迟的配置。

其中,推理模型的数量可以通过推理配置进行动态调整,每个推理模型可以对应有一个或多个实例,每个推理模型的实例数量和实例类型也可以通过推理配置进行动态调整,实例类型即实例对应的硬件,例如CPU、GPU、NPU等。

此外,每个实例,可以通过推理配置动态调整实例的最大批尺寸(Max BatchSize)和实例的最大允许延迟(Max Latency)。

本实施例中,步骤S120实现的推理性能评估是结合推理需求评估推理性能,推理性能包括:每个推理请求的实际延迟和人工智能推理框架的计算资源(例如包括CPU、GPU、NPU及内存等)的占用率,人工智能推理框架的计算资源的占用率即全部推理模型的计算资源的占用率。推理需求包括:每个推理请求的最大允许延迟信息、需要加载新的推理模型及存在已完成推理处理的推理模型。

例如,推理性能评估的指标包括:

(1)总体推理请求延迟需求满足率lr(可理解的是,总体推理请求延迟需求满足率lr的值越大越好):

其中,NumRequest表示推理请求的数量,NumLatencySatisfied表示实际延迟小于等于最大允许延迟的推理请求的数量。

(2)人工智能推理框架的计算资源的占用率。

其中,总体推理请求延迟需求满足率lr越大越好,人工智能推理框架的计算资源的占用率越小越好。

本实施例中,步骤S120实现的推理配置的配置对象包括:每个推理模型的实例数量及实例类型,及每个实例的最大批尺寸和每个实例的最大允许延迟。推理配置的目标为提升总体推理请求延迟需求满足率lr、降低人工智能推理框架的计算资源的占用率,例如,在达成lr大于等于预设满足率阈值Tlr的前提下尽量降低人工智能推理框架的计算资源的占用率,其中,预设满足率阈值Tlr可根据实际场景预先设定,例如,如需要全部推理请求都要在推理请求的最大允许延迟内完成则预设满足率阈值Tlr可设定为100%,如允许少量延迟则预设满足率阈值Tlr可设定为99%、98%等。

在一种可能的实现方式中,步骤S120是以设定时间间隔的,例如,每间隔N秒执行一次步骤S120,N取值为大于等于1秒且小于等于5秒。由此,可进一步保证步骤S120实现的推理性能评估与推理配置的实时性。

S130、根据推理请求数量、推理模型的实例数量及每个实例的最大批尺寸将推理模型加载到实例,以对推理请求进行推理处理。

步骤S130实现的是推理调度及推理处理,推理调度的作用是将每个推理模型对应的推理请求队列中的推理请求高效分配到对应的实例中,推理调度综合了各个实例以及推理请求的处理情况(例如实例是否正在进行推理处理、实例设置的批尺寸等)。

在第一种可能的实现方式中,步骤S130进一步包括:

判断每个推理模型对应的推理请求数量是否大于预设最大推理请求数量阈值:

若是,将该推理模型的每个实例的批尺寸设置为最大批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若否,将该推理模型的每个实例的批尺寸设置为预设批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理。

由此,可在推理模型对应的推理请求数量大于预设最大推理请求数量阈值,即推理模型对应的推理请求数量较大的情况下,通过将推理模型的每个实例的批尺寸设置为最大批尺寸,实现优先提升吞吐量(即每秒完成推理请求的数量);在推理模型对应的推理请求数量小于等于预设最大推理请求数量阈值的情况下通过将推理模型的每个实例的批尺寸设置为作为最优批尺寸的预设批尺寸,兼顾提升吞吐量及降低推理请求的延迟。从而,通过该推理调度方式进一步实现AI推理框架的动态推理性能优化。

在第二种可能的实现方式中,步骤S130进一步包括:

判断每个推理模型对应的推理请求数量是否小于预设最小推理请求数量阈值:

若是,将该推理模型的每个实例的批尺寸设置为预设最小批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若否,将该推理模型的每个实例的批尺寸设置为预设批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理。

由此,可在推理模型对应的推理请求数量小于预设最小推理请求数量阈值,即推理模型对应的推理请求数量较小的情况下,通过将推理模型的每个实例的批尺寸设置为最小批尺寸,实现优先降低推理请求的延迟;在推理模型对应的推理请求数量大于等于预设最大推理请求数量阈值的情况下通过将推理模型的每个实例的批尺寸设置为作为最优批尺寸的预设批尺寸,兼顾提升吞吐量及降低推理请求的延迟。从而,通过该推理调度方式进一步实现AI推理框架的动态推理性能优化。

在第三种可能的实现方式中,步骤S130进一步包括:

判断每个推理模型对应的推理请求数量与预设最大推理请求数量阈值及预设最小推理请求数量阈值的关系:

若该推理模型对应的推理请求数量大于预设最大推理请求数量阈值,将该推理模型的每个实例的批尺寸设置为最大批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若该推理模型对应的推理请求数量小于等于预设最大推理请求数量阈值且大于等于预设最小推理请求数量阈值,将该推理模型的每个实例的批尺寸设置为预设批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理;

若该推理模型对应的推理请求数量小于预设最小推理请求数量阈值,将该推理模型的每个实例的批尺寸设置为预设最小批尺寸,并将该推理模型加载到实例,以对推理请求进行推理处理。

由此,可在推理模型对应的推理请求数量大于预设最大推理请求数量阈值,即推理模型对应的推理请求数量较大的情况下,通过将推理模型的每个实例的批尺寸设置为最大批尺寸,实现优先提升吞吐量;在推理模型对应的推理请求数量小于等于预设最大推理请求数量阈值且大于等于预设最小推理请求数量阈值的情况下,通过将推理模型的每个实例的批尺寸设置为作为最优批尺寸的预设批尺寸,兼顾提升吞吐量及降低推理请求的延迟;在推理模型对应的推理请求数量小于预设最小推理请求数量阈值,即推理模型对应的推理请求数量较小的情况下,通过将推理模型的每个实例的批尺寸设置为最小批尺寸,实现优先降低推理请求的延迟。从而,通过该推理调度方式进一步实现AI推理框架的动态推理性能优化。

进一步,对于步骤S130的上述第一种至第三种实现方式,所述实例的预设批尺寸取值为该实例的最大批尺寸的二分之一。例如,一实例的最大批尺寸为8,则该实例的作为最优批尺寸的预设批尺寸为4,即,该实例将4个推理请求拼在一起并行处理。

进一步,对于步骤S130的上述第二种和第三种实现方式,所述实例的预设最小批尺寸取值为1。

可以理解的是,步骤S130的上述第三种实现方式是第一种实现方式和第二种实现方式的结合,下面对步骤S130的上述第三种实现方式进行举例说明。在一个具体示例中,对于一个推理模型,如图3所示,上述步骤S130的第三种实现方式中的推理调度流程例如包括如下子步骤:

S1301、在流程开始后,判断推理请求队列长度(即,推理请求数量)是否大于预设最大推理请求数量阈值Max Thr(Max Thr例如取值为20):若是,转入子步骤S1302;若否,转入子步骤S1303;

S1302、将推理模型的每个实例的批尺寸设置为最大批尺寸,以实现优先提升吞吐量,流程结束(推理调度流程结束即进行后续的将推理模型加载到实例,以对推理请求进行推理处理);

S1303、判断推理请求队列长度(即,推理请求数量)是否小于预设最小推理请求数量阈值Min Thr(Min Thr例如取值为5):若是,转入子步骤S1304;若否,转入子步骤S1305;

S1304、将推理模型的每个实例的批尺寸设置为预设最小批尺寸,以实现优先降低推理请求的延迟,流程结束;

S1305、将推理模型的每个实例的批尺寸设置为作为最优批尺寸的预设批尺寸(例如实例的预设批尺寸取值为实例的最大批尺寸的二分之一),以兼顾提升吞吐量及降低推理请求的延迟,流程结束。

对于如图3所示的上述步骤S130的第三种实现方式中的推理调度流程的举例说明如下。

如图4所示,例如对于超分模型,在当前时刻及后续时刻中,基于步骤S120实现的推理性能评估及推理配置,超分模型对应有两个实例,分别是实例1和实例2,实例1的最大批尺寸为4,实例2的最大批尺寸为8。

如图4所示,T1时刻中先后获取到编号为1-21的21个超分请求,T1时刻的超分请求队列长度为21,大于预设最大推理请求数量阈值Max Thr=20,则在T1-T2时刻中,实例1的批尺寸设置为最大批尺寸4,实例2的批尺寸设置为最大批尺寸8,实例1将超分请求1-4拼在一起进行并行推理,实例2将超分请求5-12拼在一起进行并行推理。

如图4和图5所示,T2时刻又先后获取到编号为22-25的4个超分请求,加上还未进行推理的编号为13-21的9个超分请求,超分请求队列长度为13,小于等于预设最大推理请求数量阈值Max Thr=20且大于等于预设最小推理请求数量阈值Min Thr=5,则在T2-T3时刻中,实例1的批尺寸设置为预设批尺寸2(2=4/2),实例2的批尺寸设置为预设批尺寸4(4=8/2),实例1将超分请求13-14拼在一起进行并行推理,实例2将超分请求15-18拼在一起进行并行推理。

如图5所示,T3时刻又获取到编号为26的1个超分请求,加上还未进行推理的编号为19-25的7个超分请求,超分请求队列长度为8,小于等于预设最大推理请求数量阈值MaxThr=20且大于等于预设最小推理请求数量阈值Min Thr=5,则在T3-T4时刻中,实例1的批尺寸设置为预设批尺寸2(2=4/2),实例2的批尺寸设置为预设批尺寸4(4=8/2),实例1将超分请求19-20拼在一起进行并行推理,实例2将超分请求21-24拼在一起进行并行推理。

如图5和图6所示,T4时刻又获取到编号为27的1个超分请求,加上还未进行推理的编号为25-26的2个超分请求,超分请求队列长度为3,小于预设最小推理请求数量阈值MinThr=5,则在T4-T5时刻中,实例1的批尺寸设置为最小批尺寸1,实例2的批尺寸设置为最小批尺寸1,实例1对超分请求25进行推理,实例2对超分请求26进行推理。

如图6所示,T5时刻又获取到编号为28的1个超分请求,加上还未进行推理的编号为27的1个超分请求,超分请求队列长度为2,小于预设最小推理请求数量阈值Min Thr=5,则在T5-T6时刻中,实例1的批尺寸设置为最小批尺寸1,实例2的批尺寸设置为最小批尺寸1,实例1对超分请求27进行推理,实例2对超分请求28进行推理。

此外,对于步骤S120配置的实例的最大允许延迟,其是用于步骤S130中进行实例批尺寸设置的限定,例如若实例批尺寸设置的等待时长大于实例的最大允许延迟,即使推理请求队列长度使得至少部分实例批尺寸无法设置到期望的数值,也会立即进行推理处理,例如在上述举例中,某时刻的超分请求队列长度为5,而实例1和实例2中至少有一个实例已到达最大允许延迟,则虽然实例1批尺寸设置为2且实例2批尺寸设置为4无法同时达到,到达最大允许延迟的实例也会开始进行推理处理。

本领域技术人员应当理解,上述步骤虽然按照S110-S130的顺序描述,但并不意味着一定按照这样的顺序执行,例如实现推理性能评估及推理配置的步骤S120是以设定时间间隔持续执行的,而实现推理调度及推理处理的步骤S130是在推理模型完成对已分配的推理请求的推理处理后,推理请求队列中还存在未处理的推理请求或新获取到推理请求的情况下执行的,另外,步骤S110可以是实时执行的,所以可能存在步骤S120与步骤S130并行执行、先执行步骤S130再执行S120等等情况,其中,如果在步骤S130实现推理调度过程中,步骤S120进行了推理配置,更新了推理模型的实例数量和/或实例最大批尺寸,则下一次推理调度再更新推理模型的实例数量和/或实例最大批尺寸。基于上述,本实施例提供的人工智能推理框架的推理方法的流程还可以参照图7所示描述为:首先,在整体流程开始后,人工智能推理框架加载默认参数进行初始化;然后,人工智能推理框架启动推理服务,推理服务的主体是一组推理模型的推理调度及推理处理,同时还以设定时间间隔进行推理性能评估及推理配置;推理服务会持续进行,直到收到结束信号后释放计算资源并结束流程。

综上,本实施例提供的人工智能推理框架的推理方法,可在云计算AI服务、边缘计算AI服务场景下,通过持续动态优化推理配置及推理调度实现AI推理框架的动态推理性能优化,提升推理效率。

如图8所示,适于用来执行上述实施例提供的人工智能推理框架的推理方法的计算机系统,包括中央处理模块(CPU),其可以根据存储在只读存储器(ROM)中的程序或者从存储部分加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有计算机系统操作所需的各种程序和数据。CPU、ROM以及RAM通过总线被此相连。输入/输入(I/O)接口也连接至总线。

以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。

特别地,根据本实施例,上文流程图描述的过程可以被实现为计算机软件程序。例如,本实施例包括一种计算机程序产品,其包括有形地包含在计算机可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。

附图中的流程图和示意图,图示了本实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或示意图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,示意图和/或流程图中的每个方框、以及示意和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

作为另一方面,本实施例还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中上述装置中所包含的非易失性计算机存储介质,也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:获取推理请求;根据推理请求包含的最大允许延迟信息及人工智能推理框架的计算资源占用率对人工智能推理框架进行推理性能评估,并根据推理性能评估结果配置推理模型的实例数量及每个实例的最大批尺寸;根据推理请求数量、推理模型的实例数量及每个实例的最大批尺寸将推理模型加载到实例,以对推理请求进行推理处理。

在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

还需要说明的是,在本发明的描述中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于本领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

相关技术
  • 基金知识推理方法、系统、计算机设备和存储介质
  • 一种知识图谱推理方法、电子设备、存储介质及系统
  • 一种基于知识图谱的数据推理方法、装置、服务器和介质
  • 推理框架、推理方法、装置、设备及存储介质
  • 推理系统、推理方法、电子设备及计算机存储介质
技术分类

06120115918343