推理服务监控方法及装置与流程
未命名
08-17
阅读:145
评论:0
1.本说明书一个或多个实施例涉及终端技术领域,尤其涉及一种推理服务监控方法及装置。
背景技术:
2.端边云协同架构可以包含云端、边缘服务器和终端,三者可以通过交互协同完成特定的任务,以在保证任务质量的同时,避免对单侧造成过重的负载。
3.在相关技术中,可以在边缘服务器处部署推理服务模块,以由边缘处理器向各个终端提供推理服务。在此基础上,各个终端无需部署独立的推理模块,而只需向边缘服务器发送推理请求,即可获得推理结果。
4.然而,相关技术中尚无一种可以对边缘服务器中的推理服务模块进行监控的方法,导致难以评估推理服务模块的推理质量。
技术实现要素:
5.有鉴于此,本说明书一个或多个实施例提供一种推理服务监控方法及装置。
6.为实现上述目的,本说明书一个或多个实施例提供技术方案如下:根据本说明书一个或多个实施例的第一方面,提出了一种推理服务监控方法,应用于边缘服务器;所述边缘服务器中部署有推理服务模块和监控模块;所述方法包括:在接收到终端上传的推理请求的情况下,将所述推理请求中包含的待推理数据输入所述推理服务模块中,以由所述推理服务模块基于所述待推理数据进行推理;通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,并将所述监控数据上传至云端;上传至所述云端的监控数据,被用于对所述推理服务模块进行推理质量评估。
7.根据本说明书一个或多个实施例的第二方面,提出了一种推理服务监控装置,应用于边缘服务器;所述边缘服务器中部署有推理服务模块和监控模块;所述装置包括:推理单元,在接收到终端上传的推理请求的情况下,将所述推理请求中包含的待推理数据输入所述推理服务模块中,以由所述推理服务模块基于所述待推理数据进行推理;监控单元,通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,并将所述监控数据上传至云端;上传至所述云端的监控数据,被用于对所述推理服务模块进行推理质量评估。
8.根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。
9.根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,
其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
附图说明
10.图1是一示例性实施例提供的一种推理服务监控方法的流程图。
11.图2是一示例性实施例提供的一种端边云协同架构的示意图。
12.图3是一示例性实施例提供的一种推理服务监控方法的交互图。
13.图4是一示例性实施例提供的一种设备的结构示意图。
14.图5是一示例性实施例提供的一种推理服务监控装置的框图。
具体实施方式
15.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
16.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
17.在端边云协同架构中,相关技术在训练得到模型之后,可以将其部署于边缘服务器中,以便边缘服务器向终端提供推理服务,进而避免需要在各个终端中均部署模型的情况。在该情况下,可以将边缘服务器中部署的模型统称为推理服务模块,以表明此类模型用于向外部设备提供推理服务。
18.值得注意的是,边缘服务器中已部署的推理服务模块的推理性能通常是不稳定的,例如,由于时下流行的事物、词汇等发生变化,将会导致接收到的推理请求中包含的待推理数据的类型、涉及内容均会发生变化,进而使得原先部署的推理服务模块已不适用于此类待推理数据,在该情况下,便会导致推理性能下降。当然,此处举例仅是示意性的,客观存在其他诸多导致推理服务模块性能不稳定的因素,本说明书对此不作过多举例。
19.应当理解的是,由于边缘服务器存在推理性能不稳定的问题,因此,存在对待推理服务模块进行性能评估,并根据评估结果对推理服务模块进行更新的需求。然而,相关技术并未对边缘服务器中部署的推理服务模块进行监控,进而无法对推理服务模块进行评估。
20.有鉴于此,本说明书提出了一种推理服务监控方法,该方法除了在边缘服务器中部署推理服务模块以外,还部署了监控模块。在该前提下,边缘服务器在接收到终端上传的推理请求的情况下,可以将推理请求中包含的待推理数据输入推理服务模块中,以由推理服务模块基于该待推理数据进行推理,除此之外,还可以通过监控模块获取推理服务模块在推理过程中产生的监控数据,在此基础上,即可将获取到的监控数据上传至云端,而上传至云端的监控数据则可以被用于对边缘服务器中部署的推理服务模块进行质量评估。
21.不难看出,本说明书可以通过额外部署的监控模块的方式,使得边缘服务器可以
对推理服务模块进行监控,并将监控得到的监控数据上传至云端,避免了相关技术中无法对边缘服务器中部署的推理服务模块进行监控,而导致无法对推理服务模块进行推理质量评估的问题。
22.下面,对本说明书技术方案的各个步骤进行介绍。
23.图1为本说明书一示例性实施例示出的一种推理服务监控方法的流程图。该方法应用于边缘服务器,该边缘服务器中部署有推理服务模块和监控模块。如图1所示,该方法可以包括以下步骤:步骤102,在接收到终端上传的推理请求的情况下,将所述推理请求中包含的待推理数据输入所述推理服务模块中,以由所述推理服务模块基于所述待推理数据进行推理。
24.在本说明书中,由于边缘服务器中可以部署有推理服务模块,因此,各个终端可以向该边缘服务器发送推理请求,以指示边缘服务器通过推理服务模块对该推理请求中包含的待推理数据进行推理,得到推理结果。
25.在本说明书中,边缘服务器中部署的推理服务模块包含的模型数量、模型类型均可以根据实际需求确定。
26.在一实施例中,该推理服务模块可以仅包含单个模型,以实现特定功能。例如,该推理服务模块可以仅包含图像识别模型,以用于实现图像识别功能,在该情况下,若接收到终端发起的包含待识别图像的推理请求,则只需将待识别图像输入图像识别模型中,即可得到识别结果。再例如,该推理服务模块可以仅包含语音识别模型,以用于实现语音识别功能,在该情况下,若接收到终端发起的包含待识别语音的推理请求,则只需将待识别语音输入语音识别模型中,即可得到语音识别结果。当然,此处举例仅是示意性的,推理服务模块仅包含单个模型时,该模型具体用于实现何种功能,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
27.在另一实施例中,该推理服务模块可以包含多个推理模型,且这多个推理模型中的各个模型既可以单独实现特定功能,也可以配合实现特定功能。
28.在该实施例的一种情况下,多个推理模型可以配合实现特定功能。例如,该推理服务模块可以包含权重分配模型和图像融合模型,在该举例中,若接收到包含至少两个待融合图像的推理请求,则可以优先将至少两个待融合图像输入权重分配图像中,以得到各个待融合图像的融合权重,在此基础上,即可进一步将得到的融合权重和接收到的至少两个待融合图像输入图像融合模型中,以由图像融合模型基于各个待融合图像的融合权重,将各个待融合图像融合为合成图像。换言之,在该举例中,多个模型配合实现的特定功能为图像融合功能。当然,该举例仅是示意性的,推理服务模块具体包含哪些推理模型,以配合实现何种功能,均可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
29.在该实施例的另一种情况下,多个推理模型可以分别用于实现不同的功能。例如,该推理服务模块可以包含语音识别模型、图像融合模型、图像识别模型。在该举例中,若接收到终端发起的推理请求,则可以优先根据推理请求中包含的待推理数据的类型,确定用于处理该待推理数据的模型,再将待推理数据输入确定的模型中进行推理。譬如,在待推理数据为待识别语音时,确定的模型即为语音识别模型,因此,可以将待识别语音输入语音识别模型中,以由语音识别模型输出语音识别结果;再譬如,在待推理数据为待融合图像时,确定的模型即为图像融合模型,因此,可以将待融合图像输入图像融合模型中,以由图像融
合模型输出融合图像;而在待推理数据为待识别图像时,则确定的模型即为图像识别模型,因此,可以将待识别图像输入图像识别模型中,以由图像识别模型输出图像识别结果。当然,上述举例仅是示意性的,推理服务模块中具体包含哪些模型,以及各个模型分别用于实现何种功能,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
30.值得注意的是,上述两种情况仅是示意性的,推理服务模块包含的所有模型,除了用于配合实现特定功能,或者单独实现不同功能以外,也可以仅部分模型中的各个模型用于单独实现不同功能,而另一部分模型中的多个模型则用于配合实现特定功能。推理服务模块中包含的所有模型具体如何实现推理功能,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
31.在本说明书中,在推理服务模块基于待推理数据推理得到推理结果之后,边缘服务器可以将推理结果返回至发起请求的终端,以供终端或终端处的用户做进一步处理,例如,可以对推理结果进行展示或做进一步推理等。除此之外,还可以将推理结果上传至云端,以由云端进行备份或做其他操作。
32.步骤104,通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,并将所述监控数据上传至云端;上传至所述云端的监控数据,被用于对所述推理服务模块进行推理质量评估。
33.在本说明书中,在接收到推理请求的情况下,除了将推理请求中包含的待推理数据输入推理服务模块,以由推理服务模块进行推理以外,还可以通过部署的监控模块获取推理服务模块在推理过程中产生的监控数据。
34.在本说明书中,可以将不同类型的数据作为监控模块获取到的监控数据。
35.在一实施例中,由于推理操作的耗时,可以在一定程度上反映推理性能的优劣,因此,可以将推理服务模块进行推理过程中的各类耗时,作为监控数据。
36.在本实施例的一种情况下,正如上文所述的,推理服务模块可以包含多个推理模型。在该情况下,在将待推理数据输入推理服务模块之后,监控模块可以获取各个推理模型在推理过程中的耗时。在此基础上,既可以直接将各个推理模型的耗时作为监控数据,也可以对各个推理模型的耗时做进一步计算之后,将计算得到的耗时作为监控数据。
37.其中,在需要将进一步计算得到的耗时作为监控数据时,可以部署有预设算法,那么,在获取到各个推理模型的耗时之后,即可基于该预设算法对各个耗时进行进一步计算,以将计算得到的耗时作为监控数据。例如,在推理服务模块包含的多个推理模型为串行执行的情况下,预设算法可以为累加算法,那么,在获得各个推理模型的耗时之后,可以对各个推理模型的耗时进行累加计算,以将计算得到的总耗时作为监控数据;再例如,预设算法可以为加权平均算法,那么,在获得各个推理模型的耗时之后,可以对各个推理模型的耗时进行加权平均计算,以将计算得到的平均耗时作为监控数据。当然,此处举例仅是示意性的,具体部署何种预设算法,以对各个推理模型的耗时进行计算,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
38.在本实施例的另一种情况下,还可以将基于不同推理请求执行的推理操作的平均耗时,作为获取到的监控数据。例如,监控模块可以在推理服务模块基于不同推理请求执行推理操作时,记录每一次推理操作的耗时,在此基础上,监控模块即可统计推理服务模块基于不同推理请求所执行推理操作的耗时,并基于统计得到的多个耗时计算用于表征推理服
务模块执行单次推理操作的平均耗时,以将该平均耗时作为获取到的监控数据。
39.在该情况下,若推理服务模块包含多个推理模型,则监控模块可以记录每一推理模型基于不同推理请求所执行推理操作的耗时,进而计算每一推理模型执行单次推理操作的平均耗时。此时,可以将每一推理模型执行单次推理操作的平均耗时也作为监控数据。
40.当然,上述举例仅是示意性的,具体将哪一类型的耗时作为获取到的监控数据,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
41.在另一实施例中,由于单位时间内处理请求的数量,也能够反映推理服务模块的性能,因此,还可以由监控模块统计预设时间周期内处理的推理请求数量,以将该数量作为推理服务模块在推理过程中产生的监控数据。例如,可以在监控模块中添加计数器,每当推理服务模块完成一个推理请求的处理,则计数加一,并在处理时长达到预设周期时,读取计数器的参数,并将该计数器重置为零。当然,该举例仅是示意性的,具体如何获取预设时间周期内处理推理请求的数量,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
42.除上述各种耗时和处理数量以外,本说明书还可以将其他类型的参数作为获取到的监控数据,例如,监控模块中还可以对推理服务模块输出的推理结果进行评分,以将该评分也作为监控数据,具体将何种参数作为监控数据,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
43.在本说明书中,边缘服务器在获取到监控数据之后,即可将该监控数据上传至云端。本说明书可以通过多种方式对监控数据进行上传。在一种情况下,边缘服务器可能无法直接向云端发送请求,例如,边缘服务器可能无法通过http(hypertext transfer protocol,超文本传输协议)等传输协议向云端发起用于将监控数据上传的数据传输请求,而以日志格式存储的数据则允许云端通过主动拉取的方式获取,此时,边缘服务器在获取到监控数据后,可以将该监控数据以日志格式存储至用于存储日志的特定存储空间中,以由云端主动从该特定存储空间中拉取监控数据,譬如,在该特定存储空间为区别于边缘服务器的日志管理平台时,边缘服务器即可将监控数据提供至该日志管理平台,以由云端从该日志管理平台拉取监控数据;再例如,边缘服务器和云端之间可能存在网络隔离,但存在第三方设备既与边缘服务器所处网络连通、也与云端所处网络连通,此时,边缘服务器即可将监控数据存储至该第三方设备,以由该第三方设备将监控数据传输至云端。当然,此处举例仅是示意性的,边缘服务器具体采用何种方式将监控数据上传至云端,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
44.在本说明书中,在监控数据上传至云端之后,云端即可对接收到的监控数据做进一步处理,以使该监控数据可以被用于对推理服务模块进行推理质量评估。
45.在一实施例中,云端在接收到监控数据之后,可以对监控数据进行展示,以由用户基于监控数据对边缘服务器中的推理服务模块进行推理质量评估。例如,该用户可以为具备专业知识和丰富经验的技术人员,那么,该技术人员即可根据展示的各项监控数据知晓推理服务模块是否存在异常,进而确定边缘服务器中部署的推理服务模块的推理服务质量是否达标。
46.在另一实施例中,云端可以预设有用于评估推理服务模块的推理质量的监控指标,在该前提下,云端在接收到监控数据之后,即可根据该监控指标对推理服务模块的推理
质量进行评估,进而得到评估结果。譬如,该监控指标可以包括上文所述的各种耗时的标准值,当耗时超过标准值时,确定推理质量未达标;再譬如,该监控指标可以包括上文所述的推理请求的处理数量的标准值,若预设时间周期内处理的推理请求数量未达到该标准值,则确定推理质量未达标;又譬如,该监控指标可以包括推理结果的最低分值,若推理结果的评分未达到该最低分值,则确定推理质量未达标。当然,上述举例仅是示意性的,具体如何设置该监控标准,以便云端进行推理质量评估,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
47.在本说明书中,还可以根据推理服务模块的推理质量评估结果,确定是否对边缘服务器中部署的推理服务模块进行更新,其中,在推理质量评估结果表明当前部署的推理服务模块的推理质量未达标的情况下,执行针对推理服务模块的更新操作。例如,该更新操作可以由云端触发,换言之,在云端确定评估结果表明推理服务模块的推理质量未达标的情况下,即可向边缘服务器下发模块更新指令,以指示边缘服务器对推理服务模块进行更新。当然,该举例仅是示意性的,在推理质量未达标的情况下,如何指示边缘服务器更新推理服务模块,可由本领域技术人员根据实际情况确定,本说明书对此不作限制。
48.在本说明书中,边缘服务器可以通过多种方式对已部署的推理服务模块进行更新。
49.在一实施例中,可以采用离线训练的方式,对推理服务模块包含的模型进行重新训练,并将重新训练得到的模型作为更新后的推理服务模块部署至边缘服务器中。其中,为保证重新训练得到的模型的推理质量,可以将终端真实上传至该边缘服务器的推理请求中包含的待推理数据作为样本数据。
50.在另一实施例中,可以采用端边云协同训练的方式,对边缘服务器中部署的推理服务模块进行更新。
51.举例而言,边缘服务器可以将当前部署的推理服务模块作为待训练模型下发至自身下辖的多个终端处,而这多个终端在接收到待训练模型之后,即可基于本地数据对该待训练模型进行训练,并将产生的训练数据上传至边缘服务器。在此基础上,若边缘服务器具备基于训练数据更新模型的功能,则可以由边缘服务器直接基于接收到的训练数据对待训练模型进行更新,以得到更新后的推理服务模块;若边缘服务器不具备基于训练数据更新模型的功能,则可以将多个终端上传的训练数据提供至云端,以由云端基于训练数据对待训练模型进行更新,例如,云端可以部署有与各个边缘服务器分别对应的训练模块,那么,云端在接收到上传的训练数据之后,即可基于与上传方对应的训练模块对待训练模型进行模型更新,得到更新后推理服务模块,在该前提下,即可将更新后推理服务模块下发至上传方,以由作为上传方的边缘服务器对本地部署的推理服务模块进行更新。
52.当然,上述推理服务模块的更新方式均是示意性的,具体如何更新推理服务模块,可由本领域技术人员根据实际需求确定,本说明书对此不作限制。
53.由上述技术方案可知,由于本说明书不仅在边缘服务器部署了推理服务模块,还进一步部署了监控模块,使得本说明书可以获取推理服务模块在推理过程中产生的监控数据。其中,边缘服务器在获取到监控数据后,可以将监控数据上传至云端,以用于对推理服务模块进行推理服务评估,避免了相关技术中由于未对边缘服务器中包含的推理服务模块进行监控,而无法对推理服务模块进行评估的问题。
54.图2为本说明书一示例性实施例示出的一种端边云协同架构的示意图。如图2所示,该端边云协同架构可以包括三层,顶层为云端21,可以与中间层22包含的多个边缘服务器(如图中边缘服务器221、222、223)进行交互,而中间层22的任一边缘服务器则可以与底层23的多个终端(如图中终端231、232、233、234、235、236、237)进行交互。其中,在该端边云协同架构中,中间层22的各个边缘服务器均可以部署有推理服务模块和监控模块,以为自身下辖的各个终端提供推理服务。
55.需要强调的是,图2所示的端边云协同架构仅是示意性的,应当理解的是,尽管在图2所示的端边云协同架构中,各个边缘服务器下辖的终端之间相互隔离,即任一终端仅能够向自身所属的边缘服务器发起推理请求,但在实际应用中,端边云协同架构中的各层设备之间具体如何进行交互,可由本领域技术人员根据实际需求确定,例如,在特定的端边云协同架构中,边缘服务器与终端之间不存在从属关系,即不仅任一边缘服务器可以向多个终端下发消息,任一终端也不属于任何边缘服务器,可以向不同的边缘服务器发送推理请求,本说明书对此不作限制。
56.下面,基于图2所示的端边云协同架构,以“对边缘服务器221中部署的推理服务模块进行监控”为例,对本说明书的技术方案进行介绍。
57.图3为本说明书一示例性实施例示出的一种推理服务监控方法的交互图。如图3所示,该方法可以包括以下步骤:步骤301,终端231向边缘服务器221发送推理请求。
58.在本实施例中,在边缘服务器221中部署推理服务模块之后,即可向下辖的多个终端,即终端231、232、233下发通知消息,以告知各个终端自身提供何种功能的推理服务。
59.举例而言,假设边缘服务器221中部署的推理服务模块包括:语音预处理模型、语音识别模型,则可以向终端231、232、233下发用于告知“提供的推理功能为语音识别功能”的通知消息。在此基础上,终端231即可在获取到待识别语音时,基于该待识别语音生成推理请求,并上传至边缘服务器221,以由边缘服务器221进行语音识别。
60.步骤302,边缘服务器221将推理请求中的待推理数据输入推理服务模块。
61.承接上述举例,边缘服务器221在接收到推理请求之后,即可将推理请求中包含的待识别语音依次输入语音预处理模型和语音识别模型中,以由两模型完成对待识别语音的识别操作。
62.步骤303a,边缘服务器221通过推理服务模块对待推理数据进行推理。
63.承接上述举例,在将待识别语音输入推理服务模块之后,语音预处理模型,可以优先对待识别语音进行降噪、调频等预处理操作,以提高后续语音识别的准确性,在完成预处理后,即可将输出的待识别语音输入语音识别模型中,以进行语音识别,进而输出语音识别结果。
64.步骤304a,边缘服务器221将推理服务模块输出的推理结果返回至终端231。
65.承接上述举例,在得到语音识别结果之后,即可将得到的推理结果返回至终端231。
66.步骤303b,边缘服务器221调用监控模块,监控推理过程中产生的监控数据。
67.在本实施例中,在将待推理数据输入推理服务模块之后,一方面,可以由推理服务模块基于待推理数据进行推理,并将推理结果返回至终端;另一方面,可以由监控模块获取
产生的监控数据,并将监控数据上传至云端。
68.承接上述举例,假设监控模块检测到语音预处理模型对待识别语音进行预处理耗时30ms,而语音识别模型对预处理后的待识别语音的识别操作耗时60ms,则可以进一步计算推理请求的总处理耗时为90ms,在此基础上,即可将“预处理耗时30ms”、“语音识别耗时60ms”、“总处理耗时90ms”均作为监控数据。
69.除此之外,由于边缘服务器221在实际运行过程中,还接收终端232、233发送的推理请求,以及终端231发送的其他推理请求,因此,监控模块还可以记录语音预处理模型和语音识别模型在处理各个推理请求时的耗时。例如,可以进一步假设监控模块中预设的上报监控数据的时间周期为1分钟,且监控模块中还记录了当前所处时间周期内,其余两个推理请求a和b在上述两模型中处理时的耗时,若将前述步骤的推理请求标识为推理请求c,那么,监控模块当前记录的耗时可以如下表1所示:
70.则可以进一步计算各个模型处理单个推理请求的平均耗时。例如,语音预处理模型处理单个推理请求的耗时为:(29+40+30)/3=33ms;语音识别模型处理单个推理请求的耗时为:(80+58+60)/3=66ms。当然,还可以进一步计算整个推理服务模块处理单个推理请求的平均耗时,即66+33=99ms。此时,即可将计算得到的各个平均耗时也作为监控数据。
71.除了耗时以外,还可以将时间周期内的推理请求处理数量作为监控数据,例如,在上述举例中,假设推理请求c处理完毕时,所处时间周期恰好结束,则可以确定该时间周期内处理的推理请求数量为3。
72.步骤304b,边缘服务器221将获取到的监控数据上传至云端21。
73.在本实施例中,在获得监控数据之后,即可将监控数据上传至云端。本实施例既可以按照上述举例中的方式上传监控数据,即按照预设时间周期,周期性上传监控数据,在该情况下,可以将上文所述的平均耗时等作为监控数据。当然,也可以在获取到新监控数据时,实时上传监控数据,例如,可以采用prometheus格式,即普罗米修斯格式记录监控数据,在采用该格式进行记录时,由于其数据累加的特性,可以及时知晓是否有新的监控数据产生,进而达到实时上传监控数据的目的。
74.当然,该举例仅是示意性的,具体如何上传监控数据,可由本领域技术人员根据实际需求确定,本实施例对此不作限制。
75.步骤305,云端21基于预设的监控标准和接收到的监控数据进行推理质量评估。
76.在本实施例中,云端21可以预设各种类型的监控数据的监控标准,以用于推理质
量评估。
77.承接上述举例,可以设置“语音预处理模型的平均耗时标准”、“语音识别模型的平均耗时标准”、“推理服务模块处理单个推理请求的平均耗时标准”“单个时间周期内的推理请求处理数量标准”,在此基础上,即可将监测到的耗时与各个耗时标准进行比较、将单个时间周期内的推理请求处理数量与该数量标准进行比较,以得到推理质量评估结果。例如,可以基于各个耗时标准和上述数量标准设置一推理质量评分的计算公式,并将计算得到的评分与预设的最低评分进行比较,以根据比较结果确定评估结果是否达标。
78.当然,该举例也是示意性的,具体如何确定推理服务模块的推理质量是否达标,可由本领域技术人员根据实际需求确定,本实施例对此不作限制。
79.步骤306,云端21在评估结果为未达标的情况下,向边缘服务器221发送更新指令。
80.在本实施例中,边缘服务器221在上传监控数据时,可以在监控数据中添加自身的设备标识,以便云端21在得到评估结果后,向边缘服务器221返回响应消息。其中,在评估结果为未达标的情况下,向边缘服务器221返回的响应消息可以为针对推理服务模块的更新指令。
81.步骤307,边缘服务器221基于更新指令对部署的推理服务模块进行更新。
82.在本实施例中,边缘服务器221在接收到更新指令后,即可对部署的推理服务模块进行更新。本实施例可采用上文所述的任一种方式对推理服务模块进行更新,在此不再赘述。
83.由上述技术方案可知,本说明书可以在边缘服务器中部署推理服务模块的基础上,进一步部署监控模块,使得本说明书可以在向终端提供推理服务的同时,对推理服务模块的推理过程进行监控,进而获取监控数据。其中,该监控数据被上传至云端,以由云端用于对推理服务模块进行推理质量评估,避免了相关技术中未对推理服务模块进行监控,而导致无法对推理服务模块进行评估,致使无法及时对推理服务模块进行更新的问题。
84.图4是一示例性实施例提供的一种设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他功能所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
85.请参考图5,推理服务监控装置可以应用于如图4所示的设备中,以实现本说明书的技术方案。其中,该推理服务监控装置应用于边缘服务器;该边缘服务器中部署有推理服务模块和监控模块;该装置可以包括:推理单元501,在接收到终端上传的推理请求的情况下,将所述推理请求中包含的待推理数据输入所述推理服务模块中,以由所述推理服务模块基于所述待推理数据进行推理;监控单元502,通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,并将所述监控数据上传至云端;上传至所述云端的监控数据,被用于对所述推理服务模块进行推理质量评估。
86.可选的,所述推理服务模块包含多个推理模型;监控单元502被进一步用于:在将所述待推理数据输入所述推理服务模块之后,由所述监控模块获取各个推理模型在推理过程中的耗时;将所述各个推理模型的耗时、和/或基于预设算法对各个推理模型的耗时进行计算得到的耗时,作为所述推理服务模块在推理过程中产生的监控数据。
87.可选的,所述多个推理模型串行执行,所述预设算法为累加算法;监控单元502被进一步用于:对各个推理模型的耗时进行累加计算,并将计算得到的总耗时作为所述推理服务模块在推理过程中产生的监控数据;和/或,所述预设算法为加权平均算法;监控单元502被进一步用于:对各个推理模型的耗时进行加权平均计算,以将计算得到的平均耗时作为所述推理服务模块在推理过程中产生的监控数据。
88.可选的,监控单元502被进一步用于:由所述监控模块统计所述推理服务模块基于不同推理请求所执行推理操作的耗时,并基于统计得到的多个耗时计算用于表征所述推理服务模块执行单次推理操作的平均耗时,以将所述平均耗时作为所述推理服务模块在推理过程中产生的监控数据。
89.可选的,监控单元502被进一步用于:由所述监控模块统计预设时间周期内处理的推理请求数量,以将该数量作为所述推理服务模块在推理过程中产生的监控数据。
90.可选的,还包括:更新单元503,根据所述云端下发的模块更新指令,对所述推理服务模块进行更新;所述模块更新指令在评估结果表明所述推理服务模块的推理质量未达标时下发。
91.可选的,更新单元503被进一步用于:将所述推理服务模块作为待训练模型下发至所述边缘服务器下辖的多个终端处,以由所述多个终端基于本地数据对所述待训练模型进行训练,并将产生的训练数据上传至所述边缘服务器;基于接收到的训练数据对所述待训练模型进行更新,以得到更新后的推理服务模块;或者,将所述多个终端上传的训练数据提供至所述云端,以由所述云端基于与所述边缘服务器对应的训练模块对所述待训练模型进行模型更新,得到更新后推理服务模块,以及,接收所述云端下发的更新后推理服务模块,以对本地部署的推理服务模块进行更新。
92.可选的,监控单元502被进一步用于:将所述监控数据提供至日志管理平台,以由所述云端从所述日志管理平台拉取所述边缘服务器中部署的推理服务模块的监控数据。
93.可选的,所述监控数据被所述云端用于根据预设的监控指标对所述推理服务模块进行推理质量评估;或者,所述监控数据被所述云端进行展示,以由用户基于所述监控数据对所述推理服务模块进行推理质量评估。
94.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,
或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
95.在一个典型的配置中,计算机包括一个或多个处理器 (cpu)、输入/输出接口、网络接口和内存。
96.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (ram) 和/或非易失性内存等形式,如只读存储器 (rom) 或闪存(flash ram)。内存是计算机可读介质的示例。
97.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (pram)、静态随机存取存储器 (sram)、动态随机存取存储器 (dram)、其他类型的随机存取存储器 (ram)、只读存储器 (rom)、电可擦除可编程只读存储器 (eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器 (cd-rom)、数字多功能光盘 (dvd) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
98.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
99.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
100.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
101.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
102.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说
明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
技术特征:
1.一种推理服务监控方法,应用于边缘服务器;所述边缘服务器中部署有推理服务模块和监控模块;所述方法包括:在接收到终端上传的推理请求的情况下,将所述推理请求中包含的待推理数据输入所述推理服务模块中,以由所述推理服务模块基于所述待推理数据进行推理;通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,并将所述监控数据上传至云端;上传至所述云端的监控数据,被用于对所述推理服务模块进行推理质量评估。2.根据权利要求1所述的方法,所述推理服务模块包含多个推理模型;所述通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,包括:在将所述待推理数据输入所述推理服务模块之后,由所述监控模块获取各个推理模型在推理过程中的耗时;将所述各个推理模型的耗时、和/或基于预设算法对各个推理模型的耗时进行计算得到的耗时,作为所述推理服务模块在推理过程中产生的监控数据。3.根据权利要求2所述的方法,所述多个推理模型串行执行,所述预设算法为累加算法;所述将基于预设算法对各个推理模型的耗时进行计算得到的耗时,作为所述推理服务模块在推理过程中产生的监控数据,包括:对各个推理模型的耗时进行累加计算,并将计算得到的总耗时作为所述推理服务模块在推理过程中产生的监控数据;和/或,所述预设算法为加权平均算法;所述将基于预设算法对各个推理模型的耗时进行计算得到的耗时,作为所述推理服务模块在推理过程中产生的监控数据,包括:对各个推理模型的耗时进行加权平均计算,以将计算得到的平均耗时作为所述推理服务模块在推理过程中产生的监控数据。4.根据权利要求1所述的方法,所述通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,包括:由所述监控模块统计所述推理服务模块基于不同推理请求所执行推理操作的耗时,并基于统计得到的多个耗时计算用于表征所述推理服务模块执行单次推理操作的平均耗时,以将所述平均耗时作为所述推理服务模块在推理过程中产生的监控数据。5.根据权利要求1所述的方法,所述通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,包括:由所述监控模块统计预设时间周期内处理的推理请求数量,以将该数量作为所述推理服务模块在推理过程中产生的监控数据。6.根据权利要求1所述的方法,还包括:根据所述云端下发的模块更新指令,对所述推理服务模块进行更新;所述模块更新指令在评估结果表明所述推理服务模块的推理质量未达标时下发。7.根据权利要求6所述的方法,所述对所述推理服务模块进行更新,包括:将所述推理服务模块作为待训练模型下发至所述边缘服务器下辖的多个终端处,以由所述多个终端基于本地数据对所述待训练模型进行训练,并将产生的训练数据上传至所述边缘服务器;基于接收到的训练数据对所述待训练模型进行更新,以得到更新后的推理服务模块;
或者,将所述多个终端上传的训练数据提供至所述云端,以由所述云端基于与所述边缘服务器对应的训练模块对所述待训练模型进行模型更新,得到更新后推理服务模块,以及,接收所述云端下发的更新后推理服务模块,以对本地部署的推理服务模块进行更新。8.根据权利要求1所述的方法,所述将所述监控数据上传至所述云端,包括:将所述监控数据提供至日志管理平台,以由所述云端从所述日志管理平台拉取所述边缘服务器中部署的推理服务模块的监控数据。9.根据权利要求1所述的方法,所述监控数据被所述云端用于根据预设的监控指标对所述推理服务模块进行推理质量评估;或者,所述监控数据被所述云端进行展示,以由用户基于所述监控数据对所述推理服务模块进行推理质量评估。10.一种推理服务监控装置,应用于边缘服务器;所述边缘服务器中部署有推理服务模块和监控模块;所述装置包括:推理单元,在接收到终端上传的推理请求的情况下,将所述推理请求中包含的待推理数据输入所述推理服务模块中,以由所述推理服务模块基于所述待推理数据进行推理;监控单元,通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,并将所述监控数据上传至云端;上传至所述云端的监控数据,被用于对所述推理服务模块进行推理质量评估。11.一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如权利要求1-9中任一项所述的方法。12.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-9中任一项所述方法的步骤。
技术总结
本说明书一个或多个实施例提供一种推理服务监控方法及装置。其中,该方法应用于边缘服务器;所述边缘服务器中部署有推理服务模块和监控模块;所述方法包括:在接收到终端上传的推理请求的情况下,将所述推理请求中包含的待推理数据输入所述推理服务模块中,以由所述推理服务模块基于所述待推理数据进行推理;通过所述监控模块获取所述推理服务模块在推理过程中产生的监控数据,并将所述监控数据上传至云端;上传至所述云端的监控数据,被用于对所述推理服务模块进行推理质量评估。所述推理服务模块进行推理质量评估。所述推理服务模块进行推理质量评估。
技术研发人员:张恒 孙仁恩 魏鹏 张冠男
受保护的技术使用者:支付宝(杭州)信息技术有限公司
技术研发日:2023.07.14
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
