CN116974898A - 一种数据处理方法、装置、设备以及计算机可读存储介质 - Google Patents
一种数据处理方法、装置、设备以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116974898A CN116974898A CN202310096599.2A CN202310096599A CN116974898A CN 116974898 A CN116974898 A CN 116974898A CN 202310096599 A CN202310096599 A CN 202310096599A CN 116974898 A CN116974898 A CN 116974898A
- Authority
- CN
- China
- Prior art keywords
- index
- model
- result
- reasoning
- parameter
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3604—Analysis of software for verifying properties of programs
- G06F11/3612—Analysis of software for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置、设备以及计算机可读存储介质,该方法包括:根据第一模型评测请求获取第一模型以及评测数据集;运行推理代码,生成第一模型针对评测数据集的推理结果,生成包括动态参数的第一取值的参数列表;运行第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;根据针对第一取值的参数更新请求,获取第二取值;基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。采用本申请,不仅可以降低计算资源的浪费,还可以提高第二指标的生成效率。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据处理方法、装置、设备以及计算机可读存储介质。
背景技术
对模型进行评测,是机器学习模型周期中必不可少的一环,模型评测可以衡量模型各方面的效果,并对该模型最终能否用于推理部署起决定性影响。模型评测主要包括三个步骤:1.使用评测数据集对模型进行推理并得到结果;2.将推理结果与评测数据集的标注(即正确结果)进行对比,并计算出指标;3.读取指标并展示。
在现有技术中,每个推理场景都有一整套耦合的评测代码,定义了模型推理、指标计算与指标展示的过程。对模型进行评测时,模型评测者需要提前设置相应的参数,例如分类场景包括参数“置信度阈值”以及“交并比阈值”,第一次评测时,将“交并比阈值”设置为0.7,将“置信度阈值”设置为0.8,然后运行整套评测代码,分别得到推理结果以及第一指标。提前设置好评测参数,难免存在已有参数不满足预期的情况,若将“置信度阈值”从0.8更改为0.75,则开启模型的第二次评测任务,此时,重新运行上述整套评测代码,分别得到推理结果以及第二指标。明显地,在现有技术中,每次对模型进行评测,均需要运行整套评测代码,以得到模型的推理结果,进而结合提前设置的参数得到指标,但模型的推理过程,不仅消耗大量的计算资源,还会降低指标生成的效率。
发明内容
本申请实施例提供一种数据处理方法、装置、设备以及计算机可读存储介质,不仅可以降低计算资源的浪费,还可以提高第二指标的生成效率。
本申请实施例一方面提供了一种数据处理方法,包括:
获取用于请求评测第一模型的第一模型评测请求,根据第一模型评测请求获取第一模型,以及用于评测第一模型的评测数据集;
运行与第一模型的模型类型相关联的推理代码,生成第一模型针对评测数据集的推理结果,生成与推理结果相关联的参数列表;参数列表包括动态参数的第一取值;
利用所述推理结果,运行与第一模型相关联的第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;
根据针对第一取值的参数更新请求,获取用于更新第一取值的第二取值;
基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;第一指标以及第二指标,均用于指示第一模型的模型推理能力。
本申请实施例一方面提供了一种数据处理装置,包括:
第一获取模块,用于获取用于请求评测第一模型的第一模型评测请求,根据第一模型评测请求获取第一模型,以及用于评测第一模型的评测数据集;
第一生成模块,用于运行与第一模型的模型类型相关联的推理代码,生成第一模型针对评测数据集的推理结果,生成与推理结果相关联的参数列表;参数列表包括动态参数的第一取值;
第二生成模块,用于利用所述推理结果,运行与第一模型相关联的第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;
第二获取模块,用于根据针对第一取值的参数更新请求,获取用于更新第一取值的第二取值;
第三生成模块,用于基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;第一指标以及第二指标,均用于指示第一模型的模型推理能力。
其中,数据处理装置,还包括:
第三获取模块,用于获取用于请求评测第二模型的第二模型评测请求,根据第二模型评测请求获取第二模型;
第三获取模块,还用于若第二模型的模型类型与第一模型的模型类型相同,则在推理代码集合中,获取推理代码;
第四获取模块,用于若第二模型的推理场景与第一模型的推理场景不同,则在指标生成代码集合中,获取与第二模型的推理场景相关联的第二指标生成代码;第二模型的推理场景属于第一模型的模型类型下的推理场景;第一指标生成代码与第二指标生成代码之间存在相同的指标生成代码,且第一指标生成代码是指指标生成代码集合中,与第一模型的推理场景相关联的代码;
第四生成模块,用于根据推理代码以及第二指标生成代码,生成针对第二模型的第三指标;第三指标用于指示第二模型的模型推理能力。
其中,第一生成模块,包括:
第一获取单元,用于获取与第一模型的推理场景相关联的第一参数生成代码;
第一运行单元,用于若第一模型评测请求中不携带新增参数名,则将推理结果以及评测数据集作为第一参数生成代码的第一输入参数,运行包含第一输入参数的第一参数生成代码,生成参数列表;
参数添加单元,用于若第一模型评测请求中携带新增参数名,则在第一参数生成代码中,添加新增参数名,得到针对第一模型的第二参数生成代码;
第二运行单元,用于将推理结果以及评测数据集作为第二参数生成代码的第二输入参数,运行包含第二输入参数的第二参数生成代码,生成参数列表。
其中,第二生成模块,包括:
第一生成单元,用于生成与第一模型相关联的第一指标生成代码;
第三运行单元,用于将推理结果以及参数列表作为第一指标生成代码的第三输入参数,运行包含第三输入参数的第一指标生成代码,生成预测结果;
第一确定单元,用于确定预测结果以及评测数据集中的正确结果之间的结果误差,根据结果误差确定第一指标。
其中,第一生成单元,包括:
第一获取子单元,用于在指标生成代码集合中,获取与第一模型的推理场景相关联的初始指标生成代码;
第一确定子单元,用于若第一模型评测请求中不携带新增指标名,则将初始指标生成代码确定为第一指标生成代码;
第二确定子单元,用于若第一模型评测请求中携带新增指标名,则生成针对新增指标名的新增指标生成代码,将新增指标生成代码以及初始指标生成代码,确定为第一指标生成代码。
其中,第二生成模块,还包括:
第二生成单元,用于获取指标整体展示类型,通过指标整体展示类型,生成第一指标对应的整体指标;整体指标包括第一指标对应的指标名以及第一指标对应的指标值;
第三生成单元,用于获取指标进阶展示类型,通过指标进阶展示类型,生成第一指标对应的进阶指标;进阶指标用于指示通过图表方式进行展示的指标,且进阶指标包括评测数据集中每个评测类型分别对应的指标名,以及每个评测类型分别对应的指标值;每个评测类型分别对应的指标名,以及每个评测类型分别对应的指标值均属于第一指标;
关联存储单元,用于将整体指标以及进阶指标进行关联存储。
其中,数据处理装置,还包括:
第五获取模块,用于获取与第一模型的推理场景相关联的推理结果处理代码,将推理结果以及参数列表作为推理结果处理代码的第四输入参数;
第五生成模块,用于运行包含第四输入参数的推理结果处理代码,生成推理结果对应的属性信息,以及推理结果对应的推理结论;
结果确定模块,用于将推理结论、第一指标以及预测结果确定为评测结果;预测结果是基于推理结果以及参数列表所生成的;
索引建立模块,用于建立属性信息以及评测结果之间的索引关系,将具有索引关系的属性信息以及评测结果均存储于第一模型对应的评测任务文件中;评测任务文件用于在获取到针对第一模型的评测结果查询请求时,返回评测结果中,与评测结果查询请求所携带的关键查询信息相关联的目标评测结果。
其中,数据处理装置,还包括:
第六获取模块,用于获取针对第一模型的评测结果查询请求;评测结果查询请求携带关键查询信息;
信息匹配模块,用于根据评测结果查询请求,将关键查询信息与属性信息进行匹配;
信息匹配模块,还用于若属性信息中的目标属性信息与关键查询信息相匹配,则在评测结果中,获取与目标属性信息具有索引关系的目标评测结果。
其中,第一指标生成代码的数量为A个,A为正整数;A个第一指标生成代码包括第一指标生成代码Bc;c为正整数,且c为小于或等于A;第一指标的数量为A个;A个第一指标包括运行第一指标生成代码Bc所生成的第一指标Ec;
第三生成模块,包括:
第二获取单元,用于获取第一指标生成代码Bc的影响参数名列表Dc;影响参数名列表Dc包括用于生成第一指标Ec的参数名;
第一匹配单元,用于将影响参数名列表Dc包括的参数名与第二取值进行匹配;
第四生成单元,用于若影响参数名列表Dc包括的参数名中,存在与第二取值相匹配的参数名,则通过解耦关系,将推理结果以及第二取值第一指标生成代码Bc的作为第五输入参数;
第四生成单元,还用于运行包含第五输入参数的第一指标生成代码Bc,生成预测结果Fc,对预测结果Fc以及评测数据集中的正确结果进行对比,得到第二指标。
其中,第三生成模块,包括:
第二匹配单元,用于通过解耦关系,将第二取值的参数名以及推理结果的推理结果名进行匹配;
第三获取单元,用于在推理结果名中,获取与第二取值的参数名相匹配的局部推理结果名,在推理结果中,获取局部推理结果名所指示的局部推理结果;
第五生成单元,用于将局部推理结果以及第二取值作为第一指标生成代码的第六输入参数,运行包含第六输入参数的第一指标生成代码,生成第二指标。
其中,第三生成模块,包括:
第二确定单元,用于在主服务中响应参数更新请求,通过解耦关系,确定第一指标生成代码以及推理结果;
第六生成单元,用于根据第二取值、第一指标生成代码以及推理结果,生成指标重新生成请求,将指标重新生成请求发送至附属服务;
第七生成单元,用于在附属服务中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,附属服务包括至少两个计算组件;
第六生成单元,包括:
第二获取子单元,用于确定至少两个计算组件分别对应的组件状态,在至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;
第三确定子单元,用于确定启动计算组件集合中的计算组件的G个等候队列长度,在G个等候队列长度中,获取最小等候队列长度;启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于至少两个计算组件的总数量;
第一发送子单元,用于若最小等候队列长度小于等候队列长度阈值,则将指标重新接收请求发送至最小等候队列长度对应的第一计算组件;第一计算组件属于启动计算组件集合;
则第七生成单元,具体用于在第一计算组件中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,附属服务包括至少两个计算组件;
第六生成单元,包括:
第三获取子单元,用于确定至少两个计算组件分别对应的组件状态,在至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;
第四确定子单元,用于确定启动计算组件集合中的计算组件的G个等候队列长度,若G个等候队列长度对应的平均等候队列长度超过平均等候队列长度阈值,则在至少两个计算组件中,启动组件状态为组件空闲状态的计算组件;启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于至少两个计算组件的总数量;
第二发送子单元,用于将成功启动的计算组件确定为第二计算组件,将指标重新接收请求发送至第二计算组件;第二计算组件的组件状态更新为组件启动状态;
则第七生成单元,具体用于在第二计算组件中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,数据处理装置,还包括:
第七获取模块,用于若第一取值包括第二取值,则在第一指标中,获取第二取值对应的第二指标;
步骤执行模块,用于若第一取值不包括第二取值,则执行基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标的步骤。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以使得计算机设备执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质中存储有计算机程序,上述计算机程序适于由处理器加载并执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行本申请实施例中的方法。
在本申请实施例中,用于生成第一模型针对评测数据集的推理结果的推理代码,与第一指标生成代码之间是解耦关系,故在获取到用于更新第一取值的第二取值时,本申请实施例无需重新运行推理代码,可以通过解耦关系,直接运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。上述可知,通过对推理代码以及第一指标生成代码进行解耦处理,可以在获取到动态参数的新取值时,避免重复生成推理结果,故可以降低计算资源的浪费;此外,通过已生成的推理结果,可以快速进行指标重新计算,故可以提高第二指标的生成效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2a是本申请实施例提供的一种数据处理的场景示意图一;
图2b是本申请实施例提供的一种数据处理的场景示意图二;
图3是本申请实施例提供的一种数据处理方法的流程示意图一;
图4a是本申请实施例提供的一种整体指标的展示示意图;
图4b是本申请实施例提供的一种进阶指标的折线图展示示意图;
图5是本申请实施例提供的一种数据处理方法的流程示意图二;
图6是本申请实施例提供的一种数据处理的场景示意图三;
图7a是本申请实施例提供的一种数据处理方法的流程示意图三;
图7b是本申请实施例提供的一种数据处理方法的流程示意图四;
图8是本申请实施例提供的一种数据处理方法的流程示意图五;
图9是本申请实施例提供的一种数据处理的场景示意图四;
图10是本申请实施例提供的一种数据处理装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于理解,首先对相关概念进行阐述。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。在本申请实施例中,计算机视觉技术可以应用于图像处理模型,包括但不限于图像分类模型、图像识别模型以及图像分割模型。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。在本申请实施例中,自然语言处理可以应用于语言类模型,包括但不限于语言翻译模型、语音转文本模型。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。在本申请实施例中,第一模型以及第二模型是基于机器学习技术的AI模型。
本申请实施例提供的方案涉及到人工智能的自然语言处理以及计算机视觉技术等,具体通过如下实施例进行说明。
请参见图1,图1是本申请实施例提供的一种系统架构示意图。如图1所示,该系统可以包括业务服务器100以及终端设备集群。终端设备集群可以包括:终端设备200a、终端设备200b、终端设备200c、…、终端设备200n,可以理解的是,上述系统可以包括一个或者多个终端设备,本申请不对终端设备的数量进行限制。
其中,终端设备集群之间可以存在通信连接,例如终端设备200a与终端设备200b之间存在通信连接,终端设备200a与终端设备200c之间存在通信连接。同时,终端设备集群中的任一终端设备可以与业务服务器100存在通信连接,例如终端设备200a与业务服务器100之间存在通信连接,其中,上述通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其它方式,本申请在此不做限制。
应当理解,如图1所示的终端设备集群中的每个终端设备均可以安装有应用客户端,当该应用客户端运行于各终端设备中时,可以分别与上述图1所示的业务服务器100进行数据交互,即上述的通信连接。其中,该应用客户端可以为视频应用、社交应用、即时通信应用、导航应用、音乐应用、购物应用、电子地图应用、浏览器等具有评测模型功能的应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端以及出行客户端等)中的嵌入式子客户端,在此不做限定。以电子地图应用为例,业务服务器100可以为包括电子地图应用对应的后台服务器、数据处理服务器等多个服务器的集合,因此,每个终端设备均可以通过该电子地图应用对应的应用客户端,与业务服务器100进行数据传输,如每个终端设备均可以通过电子地图应用的应用客户端,将用于请求评测第一模型的第一模型评测请求发送至业务服务器100,进而业务服务器100可以基于第一模型评测请求,对第一模型进行评测处理,并将评测结果返回给终端设备。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息(例如第一模型以及第二取值)等相关的数据,当本申请中的实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
为便于后续理解和说明,本申请实施例可以在图1所示的终端设备集群中选择一个终端设备作为目标终端设备,例如以终端设备200a作为目标终端设备。当接收到用于请求评测第一模型的第一模型评测请求时,终端设备200a可以将第一模型评测请求发送至业务服务器100。本申请实施例不对第一模型的模型类型进行限定,可以根据实际应用场景进行设定,包括但不限于图像处理类型、语音处理类型、文本处理类型。本申请实施例也不对第一模型的推理场景进行限定,可以根据实际应用场景进行限定,包括但不限于图像处理类型中的图像分类场景、图像检测场景、图像分割场景。
进一步,业务服务器100接收到终端设备200a发送的第一模型评测请求后,根据第一模型评测请求,可以获取第一模型以及用于评测第一模型的评测数据集。本申请实施例不对第一模型的获取方式,以及评测数据集的获取方式进行限定,可以根据实际应用场景进行设定。进一步,业务服务器100获取与第一模型的模型类型相关联的推理代码,将第一模型以及评测数据集均输入至推理代码,运行推理代码,生成第一模型针对评测数据集的推理结果;进一步,业务服务器100生成与推理结果相关联的参数列表,在本申请实施例中,用于评测第一模型的参数不需要人工设置,而是由下文提及的参数生成代码生成,参数列表的具体生成过程,请参见下文图3所对应的实施例中的描述。其中,参数列表包括具有动态属性的参数,例如分类场景中的置信度阈值。
进一步,业务服务器100利用所述推理结果,运行与第一模型相关联的第一指标生成代码,可以生成与推理结果以及参数列表相关联的第一指标。在本申请实施例中,推理代码与第一指标生成代码之间处于解耦关系,实际上,本申请实施例的评测代码中的推理代码、参数生成代码、推理结果处理代码,以及第一指标生成代码中的任意两个代码,均处于解耦关系。可以理解的是,第一模型的推理场景属于第一模型的模型类型下的推理场景,例如第一模型的模型类型是图像处理类型,图像处理类型下的推理场景可以包括图像分类场景、图像检测场景、图像分割场景,第一模型的推理场景可以是上述任意一个推理场景。
后续,业务服务器100将包括第一指标的评测结果发送至终端设备200a,终端设备200a接收到业务服务器100发送的评测结果后,可以在其对应的屏幕上显示评测结果。
可选的,若终端设备200a的本地存储了用于评测第一模型的评测代码(包括上述处于解耦关系的推理代码以及第一指标生成代码),则终端设备200a可以在接收到针对第一模型的评测指令时,获取第一模型以及评测数据集,然后运行推理代码,生成第一模型针对评测数据集的推理结果,进而生成与推理结果相关联的参数列表;进一步,终端设备200a可以运行第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标。其中,终端设备200a本地的用于评测第一模型的评测代码,可以是由业务服务器100生成或更新后发送至终端设备200a的。
进一步,根据针对第一取值的参数更新请求,业务服务器100获取用于更新第一取值的第二取值;可以理解的是,参数更新请求等同于一个推理结果已生成条件下的模型评测请求,由于业务服务器100已根据上述的第一模型评测请求生成推理结果,且推理代码与第一指标生成代码之间是解耦关系,故通过解耦关系,业务服务器100可以跳过推理代码,直接运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;其中,第一指标以及第二指标,均用于指示第一模型的模型推理能力。
后续,业务服务器100将第二指标发送至终端设备200a,终端设备200a接收到业务服务器100发送的第二指标后,可以在其对应的屏幕上显示第二指标。同样的,若终端设备200a的本地存储了用于评测第一模型的评测代码(包括上述处于解耦关系的推理代码以及第一指标生成代码),则终端设备200a可以在接收到针对第一取值的参数更新指令时,获取第二取值,然后可以运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
需要说明的是,上述业务服务器100、终端设备200a、终端设备200b、终端设备200c...、终端设备200n均可以为区块链网络中的区块链节点,全文叙述的数据(例如第一模型以及第二取值)可以进行存储,存储方式可以是区块链节点根据数据生成区块,并将区块添加至区块链中进行存储的方式。
区块链是一种分布式数据存储、点对点传输、共识机制以及加密算法等计算机技术的新型应用模式,主要用于对数据按时间顺序进行整理,并加密成账本,使其不可被篡改和伪造,同时可进行数据的验证、存储和更新。区块链本质上是一个去中心化的数据库,该数据库中的每个节点均存储一条相同的区块链,区块链网络可以将节点区分为核心节点、数据节点以及轻节点。核心节点、数据节点以及轻节点共同组成区块链节点。其中核心节点负责区块链全网的共识,也就是说核心节点为区块链网络中的共识节点。对于区块链网络中的交易数据被写入账本的流程可以为,区块链网络中的数据节点或轻节点获取到交易数据,将交易数据在区块链网络中传递(也就是节点以接力棒的方式进行传递),直到共识节点收到该交易数据,共识节点再将该交易数据打包进区块,对该区块执行共识,待共识完成后将该交易数据写入账本。此处以第一模型以及第二取值示例交易数据,业务服务器100(区块链节点)在通过对交易数据的共识后,根据交易数据生成区块,将区块存储至区块链网络中;而对于交易数据(即第一模型以及第二取值)的读取,则可以由区块链节点在区块链网络中,获取到包含该交易数据的区块,进一步,在区块中获取交易数据。
可以理解的是,本申请实施例提供的方法可以由计算机设备执行,计算机设备包括但不限于终端设备或业务服务器。其中,业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云数据库、云服务、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。其中,终端设备和业务服务器可以通过有线或无线方式进行直接或间接地连接,本申请实施例在此不做限制。
进一步地,请参见图2a,图2a是本申请实施例提供的一种数据处理的场景示意图一。本申请实施例可适用于针对模型的模型评测场景、模型指标查看场景、模型参数更改场景等业务场景,这里将不对具体的业务场景进行一一列举。其中,该数据处理场景的实现过程可以在业务服务器中进行,也可以在终端设备中进行,还可以在终端设备和业务服务器中交互进行,此处不做限制。为了便于叙述以及理解,本申请实施例以在终端设备和业务服务器中交互进行为例进行叙述,其中,终端设备可以为上述图1所对应实施例的终端设备集群中的任意一个终端设备,业务服务器可以为上述图1所对应实施例的业务服务器100。
如图2a所示,终端设备20a将第一模型评测请求发送至业务服务器100,业务服务器100根据第一模型评测请求,可以获取第一模型20b,并确定第一模型20b的模型类型以及推理场景。需要强调的是,本申请实施例不对第一模型20b的模型类型以及推理场景进行限定,实际应用中需要进行评测的模型均可以作为第一模型20b。为了便于叙述以及理解,图2a将第一模型20b的模型类型示例为图像处理类型,将第一模型20b的推理场景示例为通用检测场景。进一步,业务服务器100获取用于评测第一模型20b的评测数据集20c,其中,评测数据集20c可以由终端设备20a指定,也可以根据第一模型20b的模型类型以及推理场景获取。
进一步,业务服务器100获取与第一模型20b的模型类型(如图2a所示例的图像处理类型)相关联的推理代码201d,在图2a中,推理代码201d可以是用于图像处理类型的通用推理代码。业务服务器100运行推理代码201d,生成第一模型20b针对评测数据集20c的推理结果,如图2a所示例,推理结果201e可以包括苹果和橙子两类标签,苹果类的交并比(Intersection over Union,IOU)为0.8,苹果类的置信度为0.7,橙子类的交并比为0.7,橙子类的置信度为0.8。
进一步,业务服务器100获取与第一模型20b的推理场景(如图2a所示例的通用检测场景)相关联的第一参数生成代码202d,运行第一参数生成代码202d,业务服务器100可以生成与推理结果201e相关联的参数列表。如图2a所示例,参数列表202e可以包括苹果和橙子两类标签,可以包括交并比阈值以及置信度阈值两项参数,其中,苹果类的交并比阈值为0.8,苹果类的置信度阈值为0.8,橙子类的交并比阈值为0.9,橙子类的置信度阈值为0.9。可以理解的是,图2a中的推理结果201e以及参数列表202e,是本申请实施例为了便于叙述以及理解所所示例,不代表实际应用场景中的推理结果以及参数列表。
可以理解的是,置信度阈值以及交并比阈值均是可变化的,故第一模型20b对应的模型评测者,可以对参数列表202e中的四个参数(即苹果类的交并比阈值0.8,苹果类的置信度阈值0.8,橙子类的交并比阈值0.9,橙子类的置信度阈值0.9)进行更新处理。需要强调的是,本申请示例将交并比阈值称为一项参数,将携带类别标签的交并比阈值称为一个参数,例如苹果类的交并比阈值0.8为一个参数,同理,置信度阈值也是如此理解。
进一步,业务服务器100获取与第一模型20b的推理场景(如图2a所示例的通用检测场景)相关联的第一指标生成代码203d,运行第一指标生成代码203d,业务服务器100可以生成与推理结果201e以及参数列表202e相关联的第一指标。在本申请实施例中,推理代码201d、第一参数生成代码202d以及第一指标生成代码203d中的任意两个代码之间,均处于解耦关系。业务服务器100将第一指标返回至终端设备200a,其中,终端设备200a对第一指标的展示方式,请参见下文图3所对应的实施例中步骤S105的描述,此处暂不展开描述。
若第一模型20b对应的模型评测者,想要更了解第一模型20b的模型推理能力,则可以对上述参数列表202e中的某个动态参数进行更新处理,请结合图2a以及图2b,图2b是本申请实施例提供的一种数据处理的场景示意图二。如图2b所示,第一模型20b对应的模型评测者通过终端设备20a,向业务服务器100发送针对第一取值的参数更新请求,故业务服务器100根据参数更新请求,可以获取用于更新第一取值的第二取值。为了便于叙述以及理解,图2b以参数列表202e中的橙子类置信度阈值0.8示例第一参数,且将第二取值20f示例为橙子类置信度阈值0.9。可以理解的是,第一参数以及第二取值的具体内容,可以由实际应用场景中模型评测者的需求进行设定,本申请实施例对此不作限定。
由于本申请实施例中的推理代码201d以及第一指标生成代码203d之间是解耦关系,且业务服务器100已生成第一模型20b针对评测数据集20c的推理结果201e,故获取第二取值20f后,业务服务器100可以直接将第二取值20f以及推理结果201e分别输入至第一指标生成代码203d,如图2b所示,运行包含第二取值20f以及推理结果201e的第一指标生成代码,业务服务器100可以生成第二指标,然后将第二指标返回至终端设备20a。可以理解的是,通过多组参数—指标,模型评测者可以更了解第一模型20b的模型推理能力。
上述可知,通过对推理代码以及第一指标生成代码进行解耦处理,本申请实施例可以在获取到动态参数的新取值时,避免重复生成推理结果,故可以降低计算资源的浪费;此外,通过已生成的推理结果,可以快速进行指标重新计算,故可以提高第二指标的生成效率。
进一步地,请参见图3,图3是本申请实施例提供的一种数据处理方法的流程示意图一。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。该数据处理方法可以由业务服务器(例如,上述图1所示的业务服务器100)执行,也可以由终端设备(例如,上述图1所示的终端设备200a)执行,还可以由业务服务器和终端设备交互执行。为便于理解,本申请实施例以该方法由业务服务器执行为例进行说明。如图3所示,该数据处理方法至少可以包括以下步骤S101-步骤S105。
步骤S101,获取用于请求评测第一模型的第一模型评测请求,根据第一模型评测请求获取第一模型,以及用于评测第一模型的评测数据集。
具体的,本申请实施例不对第一模型的模型类型以及推理场景进行限定,可以为任意类型的模型以及任意场景的推理。其中,推理场景包括但不限于图像处理类型中的图像分类场景、图像检测场景、图像分割场景。评测数据集用于评测第一模型,故本申请实施例不对评测数据集的内容进行限定,根据实际需要评测的模型确定。评测数据集包括评测样本集,例如用于图像处理模型的图像样本集、用于语音处理模型的语音样本集、用于文本处理模型的文本样本集;评测数据集还包括评测标签集,即评测样本集对应的标注值,即正确结果。
步骤S102,运行与第一模型的模型类型相关联的推理代码,生成第一模型针对评测数据集的推理结果,生成与推理结果相关联的参数列表;参数列表包括动态参数的第一取值。
具体的,获取与第一模型的推理场景相关联的第一参数生成代码;若第一模型评测请求中不携带新增参数名,则将推理结果以及评测数据集作为第一参数生成代码的第一输入参数,运行包含第一输入参数的第一参数生成代码,生成参数列表;若第一模型评测请求中携带新增参数名,则在第一参数生成代码中,添加新增参数名,得到针对第一模型的第二参数生成代码;将推理结果以及评测数据集作为第二参数生成代码的第二输入参数,运行包含第二输入参数的第二参数生成代码,生成参数列表。
整套的评测代码可以包括用于生成推理结果的推理代码、用于生成参数列表的参数生成代码、用于处理推理结果以生成属性信息以及评测结论的推理结果处理代码,以及用于生成指标的指标生成代码。在本申请实施例中,整套的评测代码中的任意两个代码之间均处于解耦关系。
对第一模型评测时,业务服务器先确定第一模型的模型类型以及推理场景,例如第一模型的模型类型为图像处理类型,则业务服务器获取图像处理类型对应的通用的推理代码,将第一模型以及评测数据集作为推理代码的输入参数,运行包含输入参数的推理代码,得到第一模型针对评测数据集的推理结果。
可以理解的是,不同的推理场景,可能存在相同的参数,例如通用检测场景包括IOU阈值以及置信度阈值,安全帽检测场景也包括IOU阈值以及置信度阈值,故本申请实施例可以在开发阶段,生成针对模型类型的第一参数生成代码。若第一模型评测请求中不携带新增参数名(可以理解为参数项),则业务服务器直接运行与第一模型的推理场景相关联的第一参数生成代码,生成参数列表。若第一模型评测请求中携带新增参数名,例如第一模型的推理场景为安全帽检测场景,模型评测者希望新增评测参数“安全帽-人体头部覆盖阈值”,以调整安全帽是否被正确佩戴这一结果的判断阈值,此时,在第一模型被评测前,业务服务器需要在第一参数生成代码中,新增“安全帽-人体头部覆盖阈值”这一项参数,得到针对第一模型的第二参数生成代码,后续过程与上述一致,故不再进行赘述,但此时除了可以生成通用的IOU阈值以及置信度阈值,还可以生成“安全帽-人体头部覆盖阈值”。
本申请实施例中的参数生成代码(包括第一参数生成代码),定义了根据推理结果如何生成参数列表,例如,通用检测场景的参数生成代码将读取模型支持的类别与数据集标签类别,取二者的交集,然后对每一类生成其置信度阈值和IoU阈值。即参数列表中的参数种类(即参数项)与推理结果有关,取值可以是默认的,可选的,参数的取值也可以与推理结果有关,即不是默认的。
本申请实施例主要描述动态参数,其中,动态参数是指用于呈现在前端,改动后影响动态指标计算的参数。如果需要动态指标,则需要提供动态参数的生成代码,该代码中提供实现相应基类的子类,相应的函数输入为推理结果与推理的元信息(包括模型信息、数据集标签信息等),输出为动态参数的列表。
步骤S103,利用所述推理结果,运行与第一模型相关联的第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;第一模型的推理场景属于第一模型的模型类型下的推理场景。
具体的,生成与第一模型相关联的第一指标生成代码;将推理结果以及参数列表作为第一指标生成代码的第三输入参数,运行包含第三输入参数的第一指标生成代码,生成预测结果;确定预测结果以及评测数据集中的正确结果之间的结果误差,根据结果误差确定第一指标。
其中,生成与第一模型相关联的第一指标生成代码的具体过程可以包括:在指标生成代码集合中,获取与第一模型的推理场景相关联的初始指标生成代码;若第一模型评测请求中不携带新增指标名,则将初始指标生成代码确定为第一指标生成代码;若第一模型评测请求中携带新增指标名,则生成针对新增指标名的新增指标生成代码,将新增指标生成代码以及初始指标生成代码,确定为第一指标生成代码。
其中,步骤S103还可以包括:获取指标整体展示类型,通过指标整体展示类型,生成第一指标对应的整体指标;整体指标包括第一指标对应的指标名以及第一指标对应的指标值;获取指标进阶展示类型,通过指标进阶展示类型,生成第一指标对应的进阶指标;进阶指标用于指示通过图表方式进行展示的指标,且进阶指标包括评测数据集中每个评测类型分别对应的指标名,以及每个评测类型分别对应的指标值;每个评测类型分别对应的指标名,以及每个评测类型分别对应的指标值均属于第一指标;将整体指标以及进阶指标进行关联存储。
本申请实施例中的指标(包括第一指标以及下述的第二指标)可以包括静态指标与动态指标,静态指标是指模型评测完成后就不再支持变更的指标,例如,模型的性能不随展示时模型评测者的交互而更改,或,模型评测者只需要关心某一些置信度/阈值下的指标。动态指标是指模型评测者改变动态参数,相应地动态改变值的指标,例如,模型评测者修改某个类别的置信度阈值,从而影响整体的召回率。故本申请实施例生成静态指标与动态指标的函数的代码片段,实现对应基类即可。
可以理解的是,不同的推理场景,可能存在相同的指标,例如通用检测场景可以包括召回率以及查准率-查全率(Precision-Recall,缩写为PR)曲线,安全帽检测场景也可以包括召回率。故本申请实施例可以在开发阶段,生成针对模型类型的初始指标生成代码。若第一模型评测请求中不携带新增指标名,则业务服务器直接运行与第一模型的推理场景相关联的初始指标生成代码,生成第一指标。若第一模型评测请求中携带新增指标名,例如第一模型的推理场景为安全帽检测场景,模型评测者希望新增“模型可靠性”的指标,用于反馈安全帽的漏检率,此时,在第一模型被评测前,业务服务器需要生成针对“模型可靠性”的指标计算代码,将针对“模型可靠性”的指标计算代码以及初始指标生成代码,确定为第一指标生成代码,后续过程与上述一致,故不再进行赘述。本申请实施例不对第一指标生成代码的总数量进行限定,可以根据实际应用场景进行设定,一个第一指标生成代码用于生成一项指标,因此,本申请实施例不对第一指标的总数量进行限定,与第一指标生成代码的总数量对应即可。
本申请实施例将指标规范化为数值、图与表格,前端只需适配该三类情况即可,新场景接入前端完全无需有工作量。基于此,本申请实施例中的指标可以分为整体指标以及进阶指标两大类,其中,整体指标是指只有指标名和相应数值的指标。为了便于叙述以及理解,假设第一模型为目标检测模型,请一并参见图4a,图4a是本申请实施例提供的一种整体指标的展示示意图。如图4a所示例,第一指标可以表示成3个整体指标,分别为32.54%的均值平均精度(mean Average Precision,简称mAP),43.67%的召回率,其数值为,35.82%的精确率。
一个整体指标可能存在「在不同条件下指标值不同」的情况,例如,模型评测者希望知道“召回率”指标在IoU=0.55,IoU=0.75,IoU=0.95以及IoU=0.55:0.95的取值。由此,每个整体指标(包括静态指标与动态指标)都可以包含多个标签(Label),以表示该指标在不同条件下的取值。对于多个Label,前端(比如终端设备对应的显示屏)默认展示第一个Label的指标值,模型评测者可以切换Label(即更换参数)查看该指标在该Label下的取值。
进阶指标是指被展示为图表的指标,例如,通过表格、折线图、散点图、柱状图、饼图等展示的指标。进阶指标可以说明该指标的具体类型,以及相应类型的所有数据,前端根据每个进阶指标的类型以及数据进行渲染。为了便于叙述以及理解,假设第一模型为目标检测模型,请一并参见表1,表1是本申请实施例提供的一种进阶指标的表格展示示意表。
表1
| 标签 | 交并比阈值 | 置信度阈值 | 精确率 | 召回率 | 平均精度 |
| 苹果 | 0.8 | 0.8 | 0.8 | 0.7 | 0.8 |
| 橙子 | 0.9 | 0.9 | 0.7 | 0.8 | 0.7 |
表1中的第一列表明第一模型包括苹果与橙子两类标签;第二三列表明参数列表包括四个参数,分别为取值0.8的苹果交并比阈值、取值0.8的苹果置信度阈值、取值0.9的橙子交并比阈值以及取值0.9的苹果置信度阈值;第四列-第六列表明苹果分别对应的精确率值、召回率值以及平均精度(Average Precision,简称AP)值,即0.8、0.7以及0.8,以及苹果分别对应的精确率值、召回率值以及平均精度值,即0.7、0.8以及0.7。对比上述的图4a,表1可以明确每个类别分别对应的指标值。进一步,请一并参见图4b,图4b是本申请实施例提供的一种进阶指标的折线图展示示意图。如图4b所示例,前端可以通过折线图展示苹果类型的精确率与召回率之间的关系、橙子类型的精确率与召回率之间的关系,以及整体的精确率与召回率之间的关系。
用于生成推理结果的推理代码与第一指标生成代码之间是解耦关系,故在获取到用于更新第一取值的第二取值时,本申请实施例无需重新运行推理代码,可以通过解耦关系,直接运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。若推理代码与第一指标生成代码之间是耦合关系,那么在获取到第二取值时,需要运行一整套评测代码(包括推理代码与第一指标生成代码),即重复运行推理代码,得到相同的推理结果,不仅浪费运算资源,还降低了指标生成的效率。
步骤S104,根据针对第一取值的参数更新请求,获取用于更新第一取值的第二取值。
具体的,若第一取值包括第二取值,则在第一指标中,获取第二取值对应的第二指标;若第一取值不包括第二取值,则执行基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标的步骤。
模型评测者通过前端可以看见第一指标以及参数列表,且在看见第一指标以及参数列表后,若想调整某些参数,且希望看到在新参数下的评测指标,比如在检测场景,模型评测者可以就有调整“IoU阈值”、“分类置信度阈值”的需求。
本申请实施例可以预先计算常用参数对应的指标,例如检测场景,模型评测者通常关心模型在IoU阈值在:0.5、0.75、0.95以及,从0.5至0.95、以0.05为步长时的所有结果,故在步骤S102中,生成多个相互不同参数列表,例如第一参数列表中,IoU阈值取0.5,第二取值列表中,IoU阈值取0.75。故在步骤S103中,第一指标可以有多个,例如第一指标1是IoU阈值取0.5时所生成的,第一指标2是IoU阈值取0.75时所生成的。因此,参数生成代码可以内置常用取值,在运行评测任务时就计算好指标,在模型评测者查看指标时,一并传给前端,模型评测者可以直接在常用参数值下切换而无需重新计算指标。
上述可知,当模型评测者调整参数时,业务服务器可以先判断所调整的参数,是否已生成,若生成,则将该参数对应的指标返回至前端,若没有生成,则可以执行下文步骤S105。
步骤S105,基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;第一指标以及第二指标,均用于指示第一模型的模型推理能力。
具体的,第一指标生成代码的数量为A个,A为正整数;A个第一指标生成代码包括第一指标生成代码Bc;c为正整数,且c为小于或等于A;第一指标的数量为A个;A个第一指标包括运行第一指标生成代码Bc所生成的第一指标Ec;获取第一指标生成代码Bc的影响参数名列表Dc;影响参数名列表Dc包括用于生成第一指标Ec的参数名;将影响参数名列表Dc包括的参数名与第二取值进行匹配;若影响参数名列表Dc包括的参数名中,存在与第二取值相匹配的参数名,则通过解耦关系,将推理结果以及第二取值第一指标生成代码Bc的作为第五输入参数;运行包含第五输入参数的第一指标生成代码Bc,生成预测结果Fc,对预测结果Fc以及评测数据集中的正确结果进行对比,得到第二指标。
由于用于生成推理结果的推理代码以及用于生成指标的指标生成代码是解耦关系,且步骤S102已生成推理结果,故在获取到第二取值且重新计算指标时,业务服务器可以不进行推理过程,根据已生成的推理结果以及第二取值,直接运行第一指标生成代码,得到第二指标。
进一步,并非所有参数的改变,业务服务器都需要对所有指标进行重新计算,例如,模型评测者改变置信度阈值并不影响检测框的准确性,故本申请实施例可以对指标生成代码进行定义,加入影响参数列表,只有相应的影响参数列表中的参数改变时,该指标才需要重新计算,该列表可以动态生成。
在本申请实施例中,用于生成第一模型针对评测数据集的推理结果的推理代码,与第一指标生成代码之间是解耦关系,故在获取到用于更新第一取值的第二取值时,本申请实施例无需重新运行推理代码,可以通过解耦关系,直接运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。上述可知,通过对推理代码以及第一指标生成代码进行解耦处理,可以在获取到动态参数的新取值时,避免重复生成推理结果,故可以降低计算资源的浪费;此外,通过已生成的推理结果,可以快速进行指标重新计算,故可以提高第二指标的生成效率。
请参见图5,图5是本申请实施例提供的一种数据处理方法的流程示意图二。该方法可以由业务服务器(例如,上述图1所示的业务服务器100)执行,也可以由终端设备(例如,上述图1所示的终端设备200a)执行,还可以由业务服务器和终端设备交互执行。为便于理解,本申请实施例以该方法由业务服务器执行为例进行说明。如图5所示,该方法至少可以包括以下步骤。
步骤S201,获取用于请求评测第一模型的第一模型评测请求,根据第一模型评测请求获取第一模型,以及用于评测第一模型的评测数据集。
其中,步骤S201的具体实现过程,请参见上文图3所对应的实施例中的步骤S101,此处不进行赘述。
步骤S202,运行与第一模型的模型类型相关联的推理代码,生成第一模型针对评测数据集的推理结果,生成与推理结果相关联的参数列表;参数列表包括动态参数的第一取值。
本申请实施例可以在容器集群管理系统(Kubernetes,简称K8s)中,运行评测任务。业务服务器在挂载第一模型、推理算法与评测数据集并启动计算组件(下文也称为Pod)后,运行推理代码(也可以理解为推理算法),获得评测数据集在第一模型上的输出,即推理结果。
进一步,根据推理结果,业务服务器运行参数生成代码,生成参数列表,该参数列表包括参数名、参数默认值、参数取值范围、参数说明。
步骤S203,获取与第一模型的推理场景相关联的推理结果处理代码,将推理结果以及参数列表作为推理结果处理代码的第四输入参数。
步骤S204,运行包含第四输入参数的推理结果处理代码,生成推理结果对应的属性信息,以及推理结果对应的推理结论。
具体的,结合步骤S203以及步骤S204描述,根据推理结果与参数列表,业务服务器可以运行推理结果处理代码,给推理结果赋予属性信息以及推理结论,其中,在安全帽检测场景中,属性信息(可以理解为Tag)可以为图片中安全帽的正确结果,即标注值(groundtruth,简称GT),或图片中安全帽的检出数、漏检数、错检数,或图片检出的安全帽颜色),并标记该条预测结果(即预测值prediction)的推理结论,即是否为bad case。
评测的推理结果展示与筛选,使用分布式、独立的索引,且新增搜索功能、自定义数值比较功能,优化查询时间,优化存储成本,具体请参见下文步骤S207的描述。
步骤S205,利用所述推理结果,运行与第一模型相关联的第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;第一模型的推理场景属于第一模型的模型类型下的推理场景。
具体的,根据推理结果与参数列表,业务服务器运行每一个指标生成代码,生成对应指标。步骤S205的具体实现过程,请参见上文图3所对应的实施例中的步骤S103,此处不进行赘述。
步骤S206,将推理结论、第一指标以及预测结果确定为评测结果;预测结果是基于推理结果以及参数列表所生成的。
步骤S207,建立属性信息以及评测结果之间的索引关系,将具有索引关系的属性信息以及评测结果均存储于第一模型对应的评测任务文件中;评测任务文件用于在获取到针对第一模型的评测结果查询请求时,返回评测结果中,与评测结果查询请求所携带的关键查询信息相关联的目标评测结果。
具体的,获取针对第一模型的评测结果查询请求;评测结果查询请求携带关键查询信息;根据评测结果查询请求,将关键查询信息与属性信息进行匹配;若属性信息中的目标属性信息与关键查询信息相匹配,则在评测结果中,获取与目标属性信息具有索引关系的目标评测结果。
经分析,单个评测任务的结果最多会在重新指标计算时被改写,绝大多数数情况下,该数据是只读的。并且,不同评测任务的结果互不影响。因此本申请实施例将每个任务的所有结果都保存为一个数据库的文件,每次对该任务的结果进行访问时才使用该文件进行,按索引读取,每次重新计算指标时再读取。即,一个任务对应一个文件,互不影响,方便管理。这样既避免了任务多了导致性能下降的问题,也避免了删除任务时影响当前数据库性能的问题,也使得任务结果能利用其它文件系统,例如Hadoop Distributed FileSystem,简称HDFS,一种分布式文件系统。此举使得查询时间可以优化至约200毫秒,且存储成本比集中的数据库存储降低了3-5倍。
在评测结束后,模型评测者希望查看所有的推理结果、进行Bad Case筛选等操作,也希望在不同场景有不同的筛选操作,例如分类场景的分类信息、语音转文字场景的字错误、文字转语音场景的停顿错误次数、工业场景的检测框覆盖率等,以及通用的推理耗时等。
本申请实施例支持每个推理结果可以包含多个Tag(即属性信息),每个Tag有其Tag名与Tag值。Tag信息与推理结果关联保存,这样可以实现每次读取所有结果,就能提供筛选操作。业务服务器可以对Tag进行索引,因此在进行筛选、过滤、分页时,业务服务器只需要获取当前条件下关注的这部分结果。
本申请将可筛选的条件交给算法开发者,通过给推理结果添加Tag的方式完成;假设第一模型为安全帽检测模型,在模型评测者浏览结果时,可对所有Tag按字符串匹配(勾选)、字符串搜索、数字比较的方式进行筛选。例如:错检数大于1的图片、漏检数等于0的图片、安全帽颜色GT为黄色但预测结果为红色的图片。请一并参见图6,图6是本申请实施例提供的一种数据处理的场景示意图三。如图6所示,模型评测者601a通过终端设备60a查看评测结果,其中,终端设备60a可以显示信息筛选页面60b,若模型评测者601a选择查看正确结果为猫,且预测结果为狗的评测结果,则终端设备60a可以显示评测结果601b,其中,评测结果601b可以包括一张物体为猫以及盒子蛋糕的图片,以及筛选信息(属于属性信息),即正确结果为猫,预测结果为狗。本申请实施例可以更改筛选信息,如图6所示,信息筛选页面60b可以更新为信息筛选页面60c,其可以包括人误检示例个数的选择以及狗漏检实例个数的选择。模型评测者601a可以自己输入数字文本,也可以选择数字文本。若模型评测者601a设置人误检示例个数为1且狗漏检示例个数小于5,则终端设备60a可以显示评测结果601c,其中,评测结果601c可以包括一张物体为一条狗以及一个人的图片,以及匹配信息(属于属性信息),即人误检示例个数为1且狗漏检示例个数为1。
可以理解的是,图6中所展示的界面以及控件仅仅是一些可供参考的表现形式,在实际业务场景中,开发人员可以根据产品需求来进行相关设计,本申请实施例对涉及到的界面和控件的具体形式不做限制。
任务结果(指标、推理结果)的展示不仅仅可以是关于一个任务的,可以是多个任务的结果进行对比的展示,依此评估多个模型的效果。
上述可知,通过将评测结果展示所需要的筛选条件抽象为Tag,并为之加上索引,并实现分布式的、任务独立的索引机制,不仅支持自定义筛选条件,也使得每次任务过滤查询时间优化至约200毫秒。
此外,推理结果的Tag等信息存储方案不仅仅可以是关系型数据库,也可以是非关系型数据库、文件、云存储、区块链等。推理结果筛选不仅仅支持基于Tag的筛选,本申请实施例也支持推理结果、标签结果进行筛选,也支持基于Tag值或推理结果、标签结果的自定义排序条件。
上述步骤S201-步骤S207,可以一并参见图7a,图7a是本申请实施例提供的一种数据处理方法的流程示意图三。如图7a所示,该数据处理方法包括如下步骤,步骤S2011,业务服务器运行推理代码;步骤S2012,业务服务器保存推理结果;步骤S2013,业务服务器运行参数生成代码;步骤S2014,业务服务器保存参数列表;步骤S2015,业务服务器运行推理结果处理代码;步骤S2016,业务服务器添加属性信息以及推理结论;步骤S2017,业务服务器运行指标生成代码;步骤S2018,业务服务器保存第一指标。
步骤S208,根据针对第一取值的参数更新请求,获取用于更新第一取值的第二取值。
具体的,例如第一模型为安全帽检测模型,参数列表中包括安全帽-人体头部覆盖阈值,若模型评测者想要调大安全帽-人体头部覆盖阈值,以避免第一模型将挂在人员脖子上的安全帽检测为正确佩戴的安全帽。
步骤S209,基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;第一指标以及第二指标,均用于指示第一模型的模型推理能力。
具体的,通过解耦关系,将第二取值的参数名以及推理结果的推理结果名进行匹配;在推理结果名中,获取与第二取值的参数名相匹配的局部推理结果名,在推理结果中,获取局部推理结果名所指示的局部推理结果;将局部推理结果以及第二取值作为第一指标生成代码的第六输入参数,运行包含第六输入参数的第一指标生成代码,生成第二指标。
上文图3描述了并非所有参数的改变,业务服务器都需要对所有指标进行重新计算,本步骤描述并非所有参数的改变,都需要对所有推理结果进行读取,例如,模型评测者改变某个类别的置信度阈值,这并不影响不包括该类别的推理结果。此外,本申请实施例还可以将关注的结果设置为Tag,存入数据库;当参数改变只影响一部分推理结果时,可以直接使用数据库进行过滤、更新。经测试,加了索引的操作比扫描所有推理结果要快5-100倍。
业务服务器确定第二取值,加载对应任务的推理结果,重新给推理结果赋予Tag并判定bad case;进一步,加载对应的指标生成代码,根据已加载的推理结果,重新计算需要更新的指标。该过程请一并参见图7b,图7b是本申请实施例提供的一种数据处理方法的流程示意图。如图7b所示,该数据处理方法可以包括如下步骤。步骤S2091,业务服务器确定用于更新第一取值的第二取值;步骤S2092,业务服务器统计常驻计算组件的队列长度,分配指标重新生成请求;步骤S2093,业务服务器根据第二取值以及推理结果,运行推理结果处理代码;因为本申请实施例解耦了推理代码与指标生成代码,通过保存推理结果,每次更改参数后,业务服务器可以直接重新生成指标;步骤S2094,业务服务器添加新的属性信息以及新的推理结论;步骤S2095,业务服务器运行需改变指标的指标生成代码,读取推理结果或查询数据库获取新的属性信息;步骤S2096,业务服务器保存第二指标;可以理解的是,本申请通过避免再次推理、避免启动pod、尽量避免扫描全部推理结果而通过索引进行加速,重新计算指标的耗时从小时级降低至秒级,并一定程度还能避免重新计算;这使得评测完成后根据模型评测者交互时的需求重新计算指标成为了可能。采用本申请,重新计算指标速度提升约50倍。
在本申请实施例中,用于生成第一模型针对评测数据集的推理结果的推理代码,与第一指标生成代码之间是解耦关系,故在获取到用于更新第一取值的第二取值时,本申请实施例无需重新运行推理代码,可以通过解耦关系,直接运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。上述可知,通过对推理代码以及第一指标生成代码进行解耦处理,可以在获取到动态参数的新取值时,避免重复生成推理结果,故可以降低计算资源的浪费;此外,通过已生成的推理结果,可以快速进行指标重新计算,故可以提高第二指标的生成效率。
进一步地,请参见图8,图8是本申请实施例提供的一种数据处理方法的流程示意图五。该数据处理方法可以由业务服务器(例如,上述图1所示的业务服务器100)执行,也可以由终端设备(例如,上述图1所示的终端设备200a)执行,还可以由业务服务器和终端设备交互执行。为便于理解,本申请实施例以该方法由业务服务器执行为例进行说明。如图8所示,该数据处理方法至少可以包括以下步骤S301-步骤S309。
步骤S301,获取用于请求评测第一模型的第一模型评测请求,根据第一模型评测请求获取第一模型,以及用于评测第一模型的评测数据集。
步骤S302,运行与第一模型的模型类型相关联的推理代码,生成第一模型针对评测数据集的推理结果,生成与推理结果相关联的参数列表;参数列表包括动态参数的第一取值。
步骤S303,利用所述推理结果,运行与第一模型相关联的第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;第一模型的推理场景属于第一模型的模型类型下的推理场景。
步骤S304,根据针对第一取值的参数更新请求,获取用于更新第一取值的第二取值。
其中,步骤S302-步骤S304的具体实现过程,请参见上文图3所对应的实施例中的步骤S102-步骤S104,此处不进行赘述。
步骤S305,基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;第一指标以及第二指标,均用于指示第一模型的模型推理能力。
具体的,在主服务中响应参数更新请求,通过解耦关系,确定第一指标生成代码以及推理结果;根据第二取值、第一指标生成代码以及推理结果,生成指标重新生成请求,将指标重新生成请求发送至附属服务;在附属服务中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,附属服务包括至少两个计算组件;将指标重新生成请求发送至附属服务的具体过程可以包括:确定至少两个计算组件分别对应的组件状态,在至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;确定启动计算组件集合中的计算组件的G个等候队列长度,在G个等候队列长度中,获取最小等候队列长度;启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于至少两个计算组件的总数量;若最小等候队列长度小于等候队列长度阈值,则将指标重新接收请求发送至最小等候队列长度对应的第一计算组件;第一计算组件属于启动计算组件集合;则在附属服务中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标的具体过程可以包括:在第一计算组件中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,附属服务包括至少两个计算组件;将指标重新生成请求发送至附属服务的具体过程可以包括:确定至少两个计算组件分别对应的组件状态,在至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;确定启动计算组件集合中的计算组件的G个等候队列长度,若G个等候队列长度对应的平均等候队列长度超过平均等候队列长度阈值,则在至少两个计算组件中,启动组件状态为组件空闲状态的计算组件;启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于至少两个计算组件的总数量;将成功启动的计算组件确定为第二计算组件,将指标重新接收请求发送至第二计算组件;第二计算组件的组件状态更新为组件启动状态;则在附属服务中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标的具体过程可以包括:在第二计算组件中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
本申请示例的评测任务可以通过启动k8s的job(一种任务类型,负责批量处理短暂的一次性任务(short lived one-off tasks)),来新启动一个pod完成。由于本申请实施例不再需要推理过程,那么指标计算就变成了纯中央处理器(central processing unit,简称CPU)任务,故只需要有一个服务常驻,专门用于指标计算。可以理解的是,重新计算指标使用统一的服务来完成,避免因资源不足,导致重新计算指标的pod无法启动,也节省了每次pod的启动时间。具体通过以下步骤实现。
第一步:解耦服务重新计算指标的请求与重新计算指标本身。
响应网请求的服务(又称主服务)需要满足响应及时性,并且因为涉及到读取指标、加载任务推理信息的数据库文件,不应该限制其内存空间,否则可能导致服务不可用或影响服务正常响应。
本申请实施例首先将实现重新计算的模块独立(又称附属服务),单独启动pod,仅接收来自主服务的请求,仅完成指定任务路径,进行指标的重新计算的工作。由此可以实现:通过附属服务主进程限制堆内存空间,可以实现限制单次重新计算指标进程的内存占用;通过分拆主服务与附属服务,避免了指标计算代码(即指标生成代码)对主服务的影响,避免因为安全问题等导致主服务不可用。
第二步:权衡附属服务pod数量与单pod并发量。
假设业务服务器为附属服务分配了4GB内存(CPU资源讨论类似,不再赘述),假设每个任务的指标重新计算过程限制为500MB内存。此时,业务服务器可以直接启动一个pod,为之分配4GB内存,则该pod可支持同时进行8个指标重新计算的任务,这样管理也非常简单。但是如此,如果突然涌入大量的请求,则排队的队列会非常长,可能导致pod内存溢出(Out of Memory,简称OOM);并且如果有任务出现问题导致pod退出,则服务直接不可用了。
现在假设启动2个pod,限制为2GB内存,则该pod可设置的并发量为4,即该pod上最多有4个任务可以同时运行;类似地,业务服务器可以启动4个pod,每个限制为1GB内存,每个pod可设置的并发量为2。pod越少则管理越简单,但服务出现不可用的概率越高;pod越多则相反,而且还存在服务本身多实例占用更多内存的情况。
因此本申请实施例总是保持pod数量在2个及以上,至少得以避免服务不可用的情况。但有多个pod就会导致一些内存浪费,例如可能长时间内一个重新计算指标的任务都没有,此时采用下文的第三步可以避免内存浪费。
第三步:动态启动pod。
为了避免多个pod持续空闲(stand by)导致性能浪费,本申请实施例可以为每个已存在的pod设置等候队列长度,当所有已存在pod的平均等候队列长度超过某个阈值,则进行扩容,即新增一个pod;反之持续一段时间该值小于某个阈值,则进行缩容,即退出一个pod。对某pod进行缩容时,该pod首先进入停止(terminating)的状态,并不再承接任务请求,待正在运行的任务完成后该pod退出。
按照上文第二步中的例子,业务服务器可以有1个至多分配1GB的pod持续standby,当等待队列长度大于阈值时,便进行扩容,并限制最多存在4个该类pod,从而资源占用不超过预期的4GB。
第四步:多pod间的负载均衡。
有了多个pod就必然存在负载均衡的问题,直接使用轮询或哈希算法,并不能很好解决请求处理的公平性问题。由于在本申请实施例中,负责分发任务的是主服务,因此主服务可以根据每个pod的负载进行分配。每个pod可以定时上报该pod的等候队列的长度至数据库或主服务,主服务获取后可将任务分配至最少长度的pod。并且还可进一步优化,因为队列□度和等候时间并不是强相关,但经测试,待处理的数据总量和等候时间强相关,因此队列长度可以被待处理数据量进行量化,如下公式(1)所示。
Q(i)=∑t∈T(i)L(t) (1)
其中,公式(1)中的代表Q(i)第i个pod的待处理数据量,T(i)代表第i个pod的所有待处理任务,L(t)代表任务t的已保存推理结果的大小,可以是数据集大小(每千条),也可以是生成的文件的大小(每100MB)。
通过分拆出专门进行指标重新计算的附属服务,并对该附属服务的pod进行资源限制与动态扩容,并加入负载均衡机制,本申请实施例在服务可用性、资源浪费比例、请求处理公平性之间达成了一个较好的均衡。
上述可知,调整评测参数后,本申请实施例可快速进行重新计算,故极大提升模型评测者的体验;此外,调整评测参数后的重新计算,实现了Pod动态启动与负载均衡,空闲时不额外占用集群资源
步骤S306,获取用于请求评测第二模型的第二模型评测请求,根据第二模型评测请求获取第二模型。
模型评测可以被理解为包含三个部分:1、使用模型推理以得到模型推理的数据(本申请也称为推理结果);2、使用模型推理的数据进行模型指标的计算(本申请也称为指标生成);3、向模型评测者展示模型的各项指标。在本申请中,上述三个部分实现了解耦。
步骤S307,若第二模型的模型类型与第一模型的模型类型相同,则在推理代码集合中,获取推理代码。
具体的,为了便于叙述以及理解,下文以通用物体检测模型示例第一模型,以安全帽检查模型示例第二模型。假设业务服务器已有通用物体检测场景,需要新开发安全帽检测场景。
明显的,第一模型以及第二模型都是检测类场景,故业务服务器可以复用第一模型的推理步骤,无需再次开发推理代码。请一并参见图9,图9是本申请实施例提供的一种数据处理的场景示意图四。如图9所示,业务服务器可以构建推理代码数据库,该推理代码数据库可以包括多个通用推理代码,例如图像处理类型对应的通用推理代码、语音处理类型对应的通用推理代码,以及文本处理类型对应的通用处理代码。
步骤S308,若第二模型的推理场景与第一模型的推理场景不同,则在指标生成代码集合中,获取与第二模型的推理场景相关联的第二指标生成代码;第二模型的推理场景属于第一模型的模型类型下的推理场景;第一指标生成代码与第二指标生成代码之间存在相同的指标生成代码,且第一指标生成代码是指指标生成代码集合中,与第一模型的推理场景相关联的代码。
业务服务器可以构建指标生成代码数据库,该指标生成代码数据库可以包括多个初始指标生成代码,例如用于生成召回率的代码(图9用检测通用召回率表示)、用于生成表征PR曲线的代码(图9用检测通用查准率-查全率曲线表示),以及用于生成安全帽检查场景下的模型可靠性的代码。如图9所示,第一指标生成代码可以包括用于生成召回率的代码以及用于生成表征PR曲线的代码,第二指标生成代码可以包括用于生成召回率的代码以及用于生成安全帽检查场景下的模型可靠性的代码。明显的,由于都是检测类场景,因此部分指标计算代码可以复用。
步骤S309,根据推理代码以及第二指标生成代码,生成针对第二模型的第三指标;第三指标用于指示第二模型的模型推理能力。
具体的,业务服务器生成第三指标的过程,与业务服务器生成第一指标的过程相同,故请参见上文生第一指标的生成过程的描述,此处不进行赘述。
由于本申请实施例使用统一的、灵活的指标规范,因此针对第三指标的指标展示代码也无需开发,具体展示方式请参见上文图3所对应的实施例中步骤S103的描述。
可以理解的是,本申请实施例通过将模型评测过程中的推理、指标计算与指标展示完全解耦,使得模型评测在新增场景时无需改动,算法只需相应对推理代码或指标计算代码作相应调整即可,极大地加速了新场景接入的过程,也极大降低了模型评测的学习成本。
可以理解的是,本申请所涉及到的实施例,例如图2a-图2b所对应的实施例,图3、图5以及图8分别对应的实施例,均可以结合,生成新的实施例。
在本申请实施例中,用于生成第一模型针对评测数据集的推理结果的推理代码,与第一指标生成代码之间是解耦关系,故在获取到用于更新第一取值的第二取值时,本申请实施例无需重新运行推理代码,可以通过解耦关系,直接运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。上述可知,通过对推理代码以及第一指标生成代码进行解耦处理,可以在获取到动态参数的新取值时,避免重复生成推理结果,故可以降低计算资源的浪费;此外,通过已生成的推理结果,可以快速进行指标重新计算,故可以提高第二指标的生成效率。
进一步地,请参见图10,图10是本申请实施例提供的一种数据处理装置的结构示意图一。上述数据处理装置1可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置1为一个应用软件;数据处理装置1可以用于执行本申请实施例提供的方法中的相应步骤。如图10所示,该数据处理装置1可以包括:第一获取模块11、第一生成模块12、第二生成模块13、第二获取模块14以及第三生成模块15。
第一获取模块11,用于获取用于请求评测第一模型的第一模型评测请求,根据第一模型评测请求获取第一模型,以及用于评测第一模型的评测数据集;
第一生成模块12,用于运行与第一模型的模型类型相关联的推理代码,生成第一模型针对评测数据集的推理结果,生成与推理结果相关联的参数列表;参数列表包括动态参数的第一取值;
第二生成模块13,用于利用所述推理结果,运行与第一模型相关联的第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;
第二获取模块14,用于根据针对第一取值的参数更新请求,获取用于更新第一取值的第二取值;
第三生成模块15,用于基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;第一指标以及第二指标,均用于指示第一模型的模型推理能力。
其中,第一获取模块11、第一生成模块12、第二生成模块13、第二获取模块14以及第三生成模块15的具体功能实现方式,可以参见上述图3对应实施例中的步骤S101-步骤S105,这里不再进行赘述。
再请参见图10,数据处理装置1还可以包括:第三获取模块16、第四获取模块17以及第四生成模块18。
第三获取模块16,用于获取用于请求评测第二模型的第二模型评测请求,根据第二模型评测请求获取第二模型;
第三获取模块16,还用于若第二模型的模型类型与第一模型的模型类型相同,则在推理代码集合中,获取推理代码;
第四获取模块17,用于若第二模型的推理场景与第一模型的推理场景不同,则在指标生成代码集合中,获取与第二模型的推理场景相关联的第二指标生成代码;第二模型的推理场景属于第一模型的模型类型下的推理场景;第一指标生成代码与第二指标生成代码之间存在相同的指标生成代码,且第一指标生成代码是指指标生成代码集合中,与第一模型的推理场景相关联的代码;
第四生成模块18,用于根据推理代码以及第二指标生成代码,生成针对第二模型的第三指标;第三指标用于指示第二模型的模型推理能力。
其中,第三获取模块16、第四获取模块17以及第四生成模块18的具体功能实现方式,可以参见上述图8对应实施例中的步骤S306-步骤S309,这里不再进行赘述。
再请参见图10,第一生成模块12可以包括:第一获取单元121、第一运行单元122、参数添加单元123以及第二运行单元124。
第一获取单元121,用于获取与第一模型的推理场景相关联的第一参数生成代码;
第一运行单元122,用于若第一模型评测请求中不携带新增参数名,则将推理结果以及评测数据集作为第一参数生成代码的第一输入参数,运行包含第一输入参数的第一参数生成代码,生成参数列表;
参数添加单元123,用于若第一模型评测请求中携带新增参数名,则在第一参数生成代码中,添加新增参数名,得到针对第一模型的第二参数生成代码;
第二运行单元124,用于将推理结果以及评测数据集作为第二参数生成代码的第二输入参数,运行包含第二输入参数的第二参数生成代码,生成参数列表。
其中,第一获取单元121、第一运行单元122、参数添加单元123以及第二运行单元124的具体功能实现方式,可以参见上述图3对应实施例中的步骤S102,这里不再进行赘述。
再请参见图10,第二生成模块13可以包括:第一生成单元131、第三运行单元132以及第一确定单元133。
第一生成单元131,用于生成与第一模型相关联的第一指标生成代码;
第三运行单元132,用于将推理结果以及参数列表作为第一指标生成代码的第三输入参数,运行包含第三输入参数的第一指标生成代码,生成预测结果;
第一确定单元133,用于确定预测结果以及评测数据集中的正确结果之间的结果误差,根据结果误差确定第一指标。
其中,第一生成单元131、第三运行单元132以及第一确定单元133的具体功能实现方式,可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
再请参见图10,第一生成单元131可以包括:第一获取子单元1311、第一确定子单元1312以及第二确定子单元1313。
第一获取子单元1311,用于在指标生成代码集合中,获取与第一模型的推理场景相关联的初始指标生成代码;
第一确定子单元1312,用于若第一模型评测请求中不携带新增指标名,则将初始指标生成代码确定为第一指标生成代码;
第二确定子单元1313,用于若第一模型评测请求中携带新增指标名,则生成针对新增指标名的新增指标生成代码,将新增指标生成代码以及初始指标生成代码,确定为第一指标生成代码。
其中,第一获取子单元1311、第一确定子单元1312以及第二确定子单元1313的具体功能实现方式,可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
再请参见图10,第二生成模块13还可以包括:第二生成单元134、第三生成单元135以及关联存储单元136。
第二生成单元134,用于获取指标整体展示类型,通过指标整体展示类型,生成第一指标对应的整体指标;整体指标包括第一指标对应的指标名以及第一指标对应的指标值;
第三生成单元135,用于获取指标进阶展示类型,通过指标进阶展示类型,生成第一指标对应的进阶指标;进阶指标用于指示通过图表方式进行展示的指标,且进阶指标包括评测数据集中每个评测类型分别对应的指标名,以及每个评测类型分别对应的指标值;每个评测类型分别对应的指标名,以及每个评测类型分别对应的指标值均属于第一指标;
关联存储单元136,用于将整体指标以及进阶指标进行关联存储。
其中,第二生成单元134、第三生成单元135以及关联存储单元136的具体功能实现方式,可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
再请参见图10,数据处理装置1还可以包括:第五获取模块19、第五生成模块20、结果确定模块21以及索引建立模块22。
第五获取模块19,用于获取与第一模型的推理场景相关联的推理结果处理代码,将推理结果以及参数列表作为推理结果处理代码的第四输入参数;
第五生成模块20,用于运行包含第四输入参数的推理结果处理代码,生成推理结果对应的属性信息,以及推理结果对应的推理结论;
结果确定模块21,用于将推理结论、第一指标以及预测结果确定为评测结果;预测结果是基于推理结果以及参数列表所生成的;
索引建立模块22,用于建立属性信息以及评测结果之间的索引关系,将具有索引关系的属性信息以及评测结果均存储于第一模型对应的评测任务文件中;评测任务文件用于在获取到针对第一模型的评测结果查询请求时,返回评测结果中,与评测结果查询请求所携带的关键查询信息相关联的目标评测结果。
其中,第五获取模块19、第五生成模块20、结果确定模块21以及索引建立模块22的具体功能实现方式,可以参见上述图5对应实施例中的步骤S203-步骤S206,这里不再进行赘述。
再请参见图10,数据处理装置1还可以包括:第六获取模块23以及信息匹配模块24。
第六获取模块23,用于获取针对第一模型的评测结果查询请求;评测结果查询请求携带关键查询信息;
信息匹配模块24,用于根据评测结果查询请求,将关键查询信息与属性信息进行匹配;
信息匹配模块24,还用于若属性信息中的目标属性信息与关键查询信息相匹配,则在评测结果中,获取与目标属性信息具有索引关系的目标评测结果。
其中,第六获取模块23以及信息匹配模块24的具体功能实现方式,可以参见上述图5对应实施例中的步骤S206,这里不再进行赘述。
再请参见图10,第一指标生成代码的数量为A个,A为正整数;A个第一指标生成代码包括第一指标生成代码Bc;c为正整数,且c为小于或等于A;第一指标的数量为A个;A个第一指标包括运行第一指标生成代码Bc所生成的第一指标Ec;
第三生成模块15可以包括:第二获取单元151、第一匹配单元152以及第四生成单元153。
第二获取单元151,用于获取第一指标生成代码Bc的影响参数名列表Dc;影响参数名列表Dc包括用于生成第一指标Ec的参数名;
第一匹配单元152,用于将影响参数名列表Dc包括的参数名与第二取值进行匹配;
第四生成单元153,用于若影响参数名列表Dc包括的参数名中,存在与第二取值相匹配的参数名,则通过解耦关系,将推理结果以及第二取值第一指标生成代码Bc的作为第五输入参数;
第四生成单元153,还用于运行包含第五输入参数的第一指标生成代码Bc,生成预测结果Fc,对预测结果Fc以及评测数据集中的正确结果进行对比,得到第二指标。
其中,第二获取单元151、第一匹配单元152以及第四生成单元153的具体功能实现方式,可以参见上述图3对应实施例中的步骤S105,这里不再进行赘述。
再请参见图10,第三生成模块15可以包括:第二匹配单元154、第三获取单元155以及第五生成单元156。
第二匹配单元154,用于通过解耦关系,将第二取值的参数名以及推理结果的推理结果名进行匹配;
第三获取单元155,用于在推理结果名中,获取与第二取值的参数名相匹配的局部推理结果名,在推理结果中,获取局部推理结果名所指示的局部推理结果;
第五生成单元156,用于将局部推理结果以及第二取值作为第一指标生成代码的第六输入参数,运行包含第六输入参数的第一指标生成代码,生成第二指标。
其中,第二匹配单元154、第三获取单元155以及第五生成单元156的具体功能实现方式,可以参见上述图5对应实施例中的步骤S209,这里不再进行赘述。
再请参见图10,第三生成模块可以包括:第二确定单元157、第六生成单元158以及第七生成单元159。
第二确定单元157,用于在主服务中响应参数更新请求,通过解耦关系,确定第一指标生成代码以及推理结果;
第六生成单元158,用于根据第二取值、第一指标生成代码以及推理结果,生成指标重新生成请求,将指标重新生成请求发送至附属服务;
第七生成单元159,用于在附属服务中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,第二确定单元157、第六生成单元158以及第七生成单元159的具体功能实现方式,可以参见上述图8对应实施例中的步骤S305,这里不再进行赘述。
再请参见图10,附属服务包括至少两个计算组件;
第六生成单元158可以包括:第二获取子单元1581、第三确定子单元1582以及第一发送子单元1583。
第二获取子单元1581,用于确定至少两个计算组件分别对应的组件状态,在至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;
第三确定子单元1582,用于确定启动计算组件集合中的计算组件的G个等候队列长度,在G个等候队列长度中,获取最小等候队列长度;启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于至少两个计算组件的总数量;
第一发送子单元1583,用于若最小等候队列长度小于等候队列长度阈值,则将指标重新接收请求发送至最小等候队列长度对应的第一计算组件;第一计算组件属于启动计算组件集合;
则第七生成单元159,具体用于在第一计算组件中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,第二获取子单元1581、第三确定子单元1582、第一发送子单元1583以及第七生成单元159的具体功能实现方式,可以参见上述图8对应实施例中的步骤S305,这里不再进行赘述。
再请参见图10,附属服务包括至少两个计算组件;
第六生成单元158可以包括:第三获取子单元1584、第四确定子单元1585以及第二发送子单元1586。
第三获取子单元1584,用于确定至少两个计算组件分别对应的组件状态,在至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;
第四确定子单元1585,用于确定启动计算组件集合中的计算组件的G个等候队列长度,若G个等候队列长度对应的平均等候队列长度超过平均等候队列长度阈值,则在至少两个计算组件中,启动组件状态为组件空闲状态的计算组件;启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于至少两个计算组件的总数量;
第二发送子单元1586,用于将成功启动的计算组件确定为第二计算组件,将指标重新接收请求发送至第二计算组件;第二计算组件的组件状态更新为组件启动状态;
则第七生成单元159,具体用于在第二计算组件中,根据指标重新生成请求,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。
其中,第三获取子单元1584、第四确定子单元1585、第二发送子单元1586以及第七生成单元159的具体功能实现方式,可以参见上述图8对应实施例中的步骤S305,这里不再进行赘述。
再请参见图10,数据处理装置1还可以包括:第七获取模块25以及步骤执行模块26。
第七获取模块25,用于若第一取值包括第二取值,则在第一指标中,获取第二取值对应的第二指标;
步骤执行模块26,用于若第一取值不包括第二取值,则执行基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标的步骤。
其中,第七获取模块25以及步骤执行模块26的具体功能实现方式,可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
在本申请实施例中,用于生成第一模型针对评测数据集的推理结果的推理代码,与第一指标生成代码之间是解耦关系,故在获取到用于更新第一取值的第二取值时,本申请实施例无需重新运行推理代码,可以通过解耦关系,直接运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标。上述可知,通过对推理代码以及第一指标生成代码进行解耦处理,可以在获取到动态参数的新取值时,避免重复生成推理结果,故可以降低计算资源的浪费;此外,通过已生成的推理结果,可以快速进行指标重新计算,故可以提高第二指标的生成效率。
进一步地,请参见图11,图11是本申请实施例提供的一种计算机设备的结构示意图。如图11所示,该计算机设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,在一些实施例中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),网络接口1004可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选地还可以是至少一个位于远离前述处理器1001的存储装置。如图11所示,作为一种计算机存储介质的存储器1005可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图11所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取用于请求评测第一模型的第一模型评测请求,根据第一模型评测请求获取第一模型,以及用于评测第一模型的评测数据集;
运行与第一模型的模型类型相关联的推理代码,生成第一模型针对评测数据集的推理结果,生成与推理结果相关联的参数列表;参数列表包括动态参数的第一取值;
利用所述推理结果,运行与第一模型相关联的第一指标生成代码,生成与推理结果以及参数列表相关联的第一指标;推理代码与第一指标生成代码之间处于解耦关系;
根据针对第一取值的参数更新请求,获取用于更新第一取值的第二取值;
基于解耦关系利用推理结果,运行第一指标生成代码,生成与推理结果以及第二取值相关联的第二指标;第一指标以及第二指标,均用于指示第一模型的模型推理能力。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文各实施例中对数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现前文各实施例中对数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备可执行前文各实施例中对数据处理方法或装置的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (17)
1.一种数据处理方法,其特征在于,包括:
获取用于请求评测第一模型的第一模型评测请求,根据所述第一模型评测请求获取第一模型,以及用于评测所述第一模型的评测数据集;
运行与所述第一模型的模型类型相关联的推理代码,生成所述第一模型针对所述评测数据集的推理结果,生成与所述推理结果相关联的参数列表;所述参数列表包括动态参数的第一取值;
利用所述推理结果,运行与所述第一模型相关联的第一指标生成代码,生成与所述推理结果以及所述参数列表相关联的第一指标;所述推理代码与所述第一指标生成代码之间处于解耦关系;
根据针对所述第一取值的参数更新请求,获取用于更新所述第一取值的第二取值;
基于所述解耦关系利用所述推理结果,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标;所述第一指标以及所述第二指标,均用于指示所述第一模型的模型推理能力。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用于请求评测第二模型的第二模型评测请求,根据所述第二模型评测请求获取第二模型;
若所述第二模型的模型类型与所述第一模型的模型类型相同,则在推理代码集合中,获取所述推理代码;
若所述第二模型的推理场景与所述第一模型的推理场景不同,则在指标生成代码集合中,获取与所述第二模型的推理场景相关联的第二指标生成代码;所述第二模型的推理场景属于所述第一模型的模型类型下的推理场景;所述第一指标生成代码与所述第二指标生成代码之间存在相同的指标生成代码,且所述第一指标生成代码是指所述指标生成代码集合中,与所述第一模型的推理场景相关联的代码;
根据所述推理代码以及所述第二指标生成代码,生成针对所述第二模型的第三指标;所述第三指标用于指示所述第二模型的模型推理能力。
3.根据权利要求1所述的方法,其特征在于,所述生成与所述推理结果相关联的参数列表,包括:
获取与所述第一模型的推理场景相关联的第一参数生成代码;
若所述第一模型评测请求中不携带新增参数名,则将所述推理结果以及所述评测数据集作为所述第一参数生成代码的第一输入参数,运行包含所述第一输入参数的第一参数生成代码,生成参数列表;
若所述第一模型评测请求中携带所述新增参数名,则在所述第一参数生成代码中,添加所述新增参数名,得到针对所述第一模型的第二参数生成代码;
将所述推理结果以及所述评测数据集作为所述第二参数生成代码的第二输入参数,运行包含所述第二输入参数的第二参数生成代码,生成参数列表。
4.根据权利要求1所述的方法,其特征在于,所述利用所述推理结果,运行与所述第一模型相关联的第一指标生成代码,生成与所述推理结果以及所述参数列表相关联的第一指标,包括:
生成与所述第一模型相关联的第一指标生成代码;
将所述推理结果以及所述参数列表作为所述第一指标生成代码的第三输入参数,运行包含所述第三输入参数的第一指标生成代码,生成预测结果;
确定所述预测结果以及所述评测数据集中的正确结果之间的结果误差,根据所述结果误差确定第一指标。
5.根据权利要求4所述的方法,其特征在于,所述生成与所述第一模型相关联的第一指标生成代码,包括:
在指标生成代码集合中,获取与所述第一模型的推理场景相关联的初始指标生成代码;
若所述第一模型评测请求中不携带新增指标名,则将所述初始指标生成代码确定为第一指标生成代码;
若所述第一模型评测请求中携带新增指标名,则生成针对所述新增指标名的新增指标生成代码,将所述新增指标生成代码以及所述初始指标生成代码,确定为第一指标生成代码。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取指标整体展示类型,通过所述指标整体展示类型,生成所述第一指标对应的整体指标;所述整体指标包括所述第一指标对应的指标名以及所述第一指标对应的指标值;
获取指标进阶展示类型,通过所述指标进阶展示类型,生成所述第一指标对应的进阶指标;所述进阶指标用于指示通过图表方式进行展示的指标,且所述进阶指标包括所述评测数据集中每个评测类型分别对应的指标名,以及所述每个评测类型分别对应的指标值;所述每个评测类型分别对应的指标名,以及所述每个评测类型分别对应的指标值均属于所述第一指标;
将所述整体指标以及所述进阶指标进行关联存储。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取与所述第一模型的推理场景相关联的推理结果处理代码,将所述推理结果以及所述第一参数作为所述推理结果处理代码的第四输入参数;
运行包含所述第四输入参数的推理结果处理代码,生成所述推理结果对应的属性信息,以及所述推理结果对应的推理结论;
将所述推理结论、所述第一指标以及预测结果确定为评测结果;所述预测结果是基于所述推理结果以及所述参数列表所生成的;
建立所述属性信息以及所述评测结果之间的索引关系,将具有索引关系的所述属性信息以及所述评测结果均存储于所述第一模型对应的评测任务文件中;所述评测任务文件用于在获取到针对所述第一模型的评测结果查询请求时,返回所述评测结果中,与所述评测结果查询请求所携带的关键查询信息相关联的目标评测结果。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取针对所述第一模型的评测结果查询请求;所述评测结果查询请求携带关键查询信息;
根据所述评测结果查询请求,将所述关键查询信息与所述属性信息进行匹配;
若所述属性信息中的目标属性信息与所述关键查询信息相匹配,则在所述评测结果中,获取与所述目标属性信息具有索引关系的目标评测结果。
9.根据权利要求1所述的方法,其特征在于,所述第一指标生成代码的数量为A个,A为正整数;A个第一指标生成代码包括第一指标生成代码Bc;c为正整数,且c为小于或等于A;所述第一指标的数量为A个;A个第一指标包括运行所述第一指标生成代码Bc所生成的第一指标Ec;
所述基于所述解耦关系利用所述推理结果,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标,包括:
获取所述第一指标生成代码Bc的影响参数名列表Dc;所述影响参数名列表Dc包括用于生成所述第一指标Ec的参数名;
将所述影响参数名列表Dc包括的参数名与所述第二取值进行匹配;
若所述影响参数名列表Dc包括的参数名中,存在与所述第二取值相匹配的参数名,则通过所述解耦关系,将所述推理结果以及所述第二取值所述第一指标生成代码Bc的作为第五输入参数;
运行包含所述第五输入参数的第一指标生成代码Bc,生成预测结果Fc,对所述预测结果Fc以及所述评测数据集中的正确结果进行对比,得到第二指标。
10.根据权利要求1所述的方法,其特征在于,所述基于所述解耦关系利用所述推理结果,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标,包括:
通过所述解耦关系,将所述第二取值的参数名以及所述推理结果的推理结果名进行匹配;
在所述推理结果名中,获取与所述第二取值的参数名相匹配的局部推理结果名,在所述推理结果中,获取所述局部推理结果名所指示的局部推理结果;
将所述局部推理结果以及所述第二取值作为所述第一指标生成代码的第六输入参数,运行包含所述第六输入参数的第一指标生成代码,生成第二指标。
11.根据权利要求1所述的方法,其特征在于,所述基于所述解耦关系利用所述推理结果,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标,包括:
在主服务中响应所述参数更新请求,通过所述解耦关系,确定所述第一指标生成代码以及所述推理结果;
根据所述第二取值、所述第一指标生成代码以及所述推理结果,生成指标重新生成请求,将所述指标重新生成请求发送至附属服务;
在所述附属服务中,根据所述指标重新生成请求,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标。
12.根据权利要求11所述的方法,其特征在于,所述附属服务包括至少两个计算组件;
所述将所述指标重新生成请求发送至附属服务,包括:
确定所述至少两个计算组件分别对应的组件状态,在所述至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;
确定所述启动计算组件集合中的计算组件的G个等候队列长度,在所述G个等候队列长度中,获取最小等候队列长度;所述启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于所述至少两个计算组件的总数量;
若所述最小等候队列长度小于等候队列长度阈值,则将所述指标重新接收请求发送至所述最小等候队列长度对应的第一计算组件;所述第一计算组件属于所述启动计算组件集合;
则所述在所述附属服务中,根据所述指标重新生成请求,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标,包括:
在所述第一计算组件中,根据所述指标重新生成请求,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标。
13.根据权利要求11所述的方法,其特征在于,所述附属服务包括至少两个计算组件;
所述将所述指标重新生成请求发送至附属服务,包括:
确定所述至少两个计算组件分别对应的组件状态,在所述至少两个计算组件中,获取组件状态为组件启动状态的计算组件,将获取到的计算组件生成启动计算组件集合;
确定所述启动计算组件集合中的计算组件的G个等候队列长度,若所述G个等候队列长度对应的平均等候队列长度超过平均等候队列长度阈值,则在所述至少两个计算组件中,启动组件状态为组件空闲状态的计算组件;所述启动计算组件集合中的一个计算组件对应有一个等候队列长度;G为正整数,且G小于或等于所述至少两个计算组件的总数量;
将成功启动的计算组件确定为第二计算组件,将所述指标重新接收请求发送至所述第二计算组件;所述第二计算组件的组件状态更新为所述组件启动状态;
则所述在所述附属服务中,根据所述指标重新生成请求,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标,包括:
在所述第二计算组件中,根据所述指标重新生成请求,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标。
14.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取用于请求评测第一模型的第一模型评测请求,根据所述第一模型评测请求获取第一模型,以及用于评测所述第一模型的评测数据集;
第一生成模块,用于运行与所述第一模型的模型类型相关联的推理代码,生成所述第一模型针对所述评测数据集的推理结果,生成与所述推理结果相关联的参数列表;所述参数列表包括动态参数的第一取值;
第二生成模块,用于利用所述推理结果,运行与所述第一模型相关联的第一指标生成代码,生成与所述推理结果以及所述参数列表相关联的第一指标;所述推理代码与所述第一指标生成代码之间处于解耦关系;所述第一模型的推理场景属于所述第一模型的模型类型下的推理场景;
第二获取模块,用于根据针对所述第一取值的参数更新请求,获取用于更新所述第一取值的第二取值;
第三生成模块,用于基于所述解耦关系,运行所述第一指标生成代码,生成与所述推理结果以及所述第二取值相关联的第二指标;所述第一指标以及所述第二指标,均用于指示所述第一模型的模型推理能力。
15.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1至13任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-13任一项所述的方法。
17.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,所述计算机程序适于由处理器读取并执行,以使得具有所述处理器的计算机设备执行权利要求1-13任一项所述的方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310096599.2A CN116974898A (zh) | 2023-01-17 | 2023-01-17 | 一种数据处理方法、装置、设备以及计算机可读存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202310096599.2A CN116974898A (zh) | 2023-01-17 | 2023-01-17 | 一种数据处理方法、装置、设备以及计算机可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116974898A true CN116974898A (zh) | 2023-10-31 |
Family
ID=88475440
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202310096599.2A Pending CN116974898A (zh) | 2023-01-17 | 2023-01-17 | 一种数据处理方法、装置、设备以及计算机可读存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116974898A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119514716A (zh) * | 2024-09-20 | 2025-02-25 | 中国科学院自动化研究所 | 基于视觉语言大模型的自动驾驶规划方法及相关设备 |
| WO2025237143A1 (zh) * | 2024-05-14 | 2025-11-20 | 维沃移动通信有限公司 | 联合推理方法、装置及设备 |
-
2023
- 2023-01-17 CN CN202310096599.2A patent/CN116974898A/zh active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025237143A1 (zh) * | 2024-05-14 | 2025-11-20 | 维沃移动通信有限公司 | 联合推理方法、装置及设备 |
| CN119514716A (zh) * | 2024-09-20 | 2025-02-25 | 中国科学院自动化研究所 | 基于视觉语言大模型的自动驾驶规划方法及相关设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110059172B (zh) | 基于自然语言理解的推荐答案的方法和装置 | |
| CN113704623B (zh) | 一种数据推荐方法、装置、设备及存储介质 | |
| CN119312219B (zh) | 芯片平台硬件抽象层构建方法 | |
| KR20210129465A (ko) | 연구노트 관리 장치 및 이를 이용한 연구노트 검색 방법 | |
| CN116974898A (zh) | 一种数据处理方法、装置、设备以及计算机可读存储介质 | |
| CN115168609B (zh) | 一种文本匹配方法、装置、计算机设备和存储介质 | |
| CN117216393A (zh) | 信息推荐方法、信息推荐模型的训练方法及装置、设备 | |
| US10762089B2 (en) | Open ended question identification for investigations | |
| CN114328915A (zh) | 语料标签获取方法、装置及计算机设备 | |
| CN116467607B (zh) | 信息匹配方法和存储介质 | |
| CN110909768B (zh) | 一种标注数据获取方法及装置 | |
| CN114519105B (zh) | 一种概念词语确定方法、装置、电子设备及存储介质 | |
| CN112948251B (zh) | 软件自动测试方法及装置 | |
| CN113723114A (zh) | 基于多意图识别的语义分析方法、装置、设备及存储介质 | |
| CN119474131A (zh) | 查询语句生成方法和装置、电子设备及存储介质 | |
| CN117033643B (zh) | 实体链接方法、装置、电子设备和计算机可读存储介质 | |
| CN114662493B (zh) | 一种嵌套实体识别方法、装置、电子设备和存储介质 | |
| CN115795184B (zh) | 一种基于rpa的场景化上车点推荐方法和装置 | |
| CN113076485A (zh) | 基于智能降级的资源推荐方法、装置、设备及存储介质 | |
| CN118069932B (zh) | 配置信息的推荐方法、装置、计算机设备 | |
| US12153606B1 (en) | Application of inter-item category constraint for uncategorized content items | |
| CN119166258B (zh) | 基于展业工具的功能标识排序方法和装置、设备、介质 | |
| CN112487277A (zh) | 数据分配方法、装置、可读存储介质和电子设备 | |
| CN120162090A (zh) | 模型调用的方法、电子设备及可读存储介质 | |
| CN119557398A (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 |