CN117933428A - 数据偏移应对策略评测方法、装置及设备 - Google Patents
数据偏移应对策略评测方法、装置及设备 Download PDFInfo
- Publication number
- CN117933428A CN117933428A CN202410319488.8A CN202410319488A CN117933428A CN 117933428 A CN117933428 A CN 117933428A CN 202410319488 A CN202410319488 A CN 202410319488A CN 117933428 A CN117933428 A CN 117933428A
- Authority
- CN
- China
- Prior art keywords
- evaluated
- data
- model service
- model
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000010485 coping Effects 0.000 title claims abstract description 63
- 238000012360 testing method Methods 0.000 claims abstract description 51
- 230000000694 effects Effects 0.000 claims abstract description 47
- 238000010801 machine learning Methods 0.000 claims abstract description 31
- 238000011156 evaluation Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000004891 communication Methods 0.000 claims description 23
- 235000003642 hunger Nutrition 0.000 claims description 21
- 230000037351 starvation Effects 0.000 claims description 20
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000013508 migration Methods 0.000 claims description 10
- 230000005012 migration Effects 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000013135 deep learning Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 19
- 238000009826 distribution Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 230000000750 progressive effect Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012854 evaluation process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000033764 rhythmic process Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Algebra (AREA)
- Operations Research (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及机器学习技术领域,公开了一种数据偏移应对策略评测方法、装置及设备,该方法包括:确定带有数据偏移应对策略的机器学习模型进行预测的服务,作为待评测模型服务;获取测试数据,读取首条测试数据至所述待评测模型服务中,当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务;基于所述待评测模型服务的执行过程获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标。本发明解决了如何评测数据偏移应对策略的问题,填补了深度学习领域当中数据偏移应对策略精确评测方法的空白,使评测更加准确。
Description
技术领域
本发明涉及机器学习技术领域,尤其涉及一种数据偏移应对策略评测方法、装置及设备。
背景技术
机器学习模型的一种常见的开发和应用流程大致是,开发者首先面向目标场景设计出一套机器学习算法或是直接选用现成算法,接着准备一定量的能够代表目标场景的数据(即数据集),然后用准备好的算法在准备好的数据集的基础上训练出表现良好的模型,最后再把训练好的模型部署到线上环境。根据机器学习的理论,在线下表现良好的模型在线上也能表现良好的一个前提是,模型在线上所接触到的数据与用来训练该模型的数据是服从相同的统计分布的。事实上,在许多现实场景中,这个前提并不完全成立。例如,生产设备老化、生产工艺变化、天气温湿度差异等因素,都会带来线上数据分布随时间变化进而偏离训练集分布的结果。业界把这种线上数据分布随时间变化的现象称为数据偏移(conceptdrift)。
数据偏移现象会导致模型效果劣化,这要求模型部署者采取应对策略。一种典型的策略是,既然线上数据分布会随时间变化,那只须每隔一段时间就用最近一段时间的带真实标签的线上数据来重新训练模型即可,这样一来模型的训练集或者说“知识”就从线下的较过时的版本更新到了最近一段时间的较新的版本,虽然无法保证其与当下最新的数据分布完全一致,但至少能够认为最近一段时间的较新的版本与当下最新的数据分布比较接近。这样的“定期重训”策略的缺点在于,无法保证重训的时间节奏与数据偏移的时间节奏相一致,即有可能在并没有发生数据偏移的时候进行了重训,进而浪费计算资源,也有可能在发生了数据偏移的时候却没有进行重训,进而影响模型效果。
为了让模型重训的时间点更合理,有很多偏移检测算法被提出。偏移检测算法大致可以分为两类:一类是基于模型效果的偏移检测算法,这类算法监视模型预测效果随时间的变化,在模型效果的下降具有统计显著性时汇报数据偏移;一类是基于输入分布的偏移检测算法,这类算法直接监视输入数据分布随时间的变化,其相比前一类算法的优势在于不需要线上数据的真实标签就能够工作(评价模型预测效果需要真实标签),但也存在计算成本过高和敏感度过高等问题。
发明内容
本发明提供了一种数据偏移应对策略评测方法、装置及设备,解决了如何评测数据偏移应对策略的问题。
一种数据偏移应对策略评测方法,包括:
确定带有数据偏移应对策略的机器学习模型进行预测的服务,作为待评测模型服务;
获取测试数据,读取首条测试数据至所述待评测模型服务中,当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务;
基于所述待评测模型服务的执行过程获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标。
在本发明的一种实施例中,所述当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务,具体包括:根据预设时间间隔逐条将所述测试数据输入至所述待评测模型服务中;或当检测到所述待评测模型服务处于饥饿状态时,立即向所述待评测模型服务发送下一条数据。
在本发明的一种实施例中,所述饥饿状态为所述待评测模型服务等待下一条测试数据的空闲状态。
在本发明的一种实施例中,检测所述待评测模型服务的饥饿状态,具体包括:在所述待评测模型服务的运行过程中,获取相关活跃线程的活跃计数;当检测到所述活跃计数为零时,确定所述待评测模型服务处于饥饿状态。
在本发明的一种实施例中,所述相关活跃线程为不依赖其他事件被动进行唤醒的线程。
在本发明的一种实施例中,在所述待评测模型服务的运行过程中,所述方法还包括:当创建了相关线程间的通信管道,且所述通信管道的消息源于所述待评测模型服务所接收的测试数据时,则从所述通信管道等待并取出一条消息前对所述活跃计数减一;在向所述通信管道传入一条消息前对所述活跃计数加一。
在本发明的一种实施例中,所述测试数据为带时间戳的数据,包括输入数据和真实标签;所述输入数据和其对应的真实标签具有相同标识。
在本发明的一种实施例中,所述获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标,具体包括:获取通过所述待评测模型服务返回的预测值;基于模型预测效果指标算法根据所述预测值和所述测试数据中的真实标签计算并返回所述待评测模型服务在给定测试数据上的全局平均预测效果指标。
一种数据偏移应对策略评测装置,包括:
数据获取模块,用于确定带有数据偏移应对策略的机器学习模型进行预测的服务,作为待评测模型服务;获取测试数据,读取首条测试数据至所述待评测模型服务中,当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务;
模型评测模块,用于基于所述待评测模型服务的执行过程获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标。
一种数据偏移应对策略评测设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通过总线通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被执行,以实现如上述各实施例任一项所述的方法。
一种非易失性存储介质,存储有计算机可执行指令,所述计算机可执行指令由处理器执行,以实现如上述各实施例任一项所述的方法。
本发明提供了一种数据偏移应对策略评测方法、装置及设备,至少包括以下有益效果:通过本发明提供的评测方法,能够更精确地评测数据偏移应对策略,进而为用户判断不同数据偏移应对策略的优劣提供了更准确的依据;对于假设各环节耗时均为零所带来的评测结果不准确的问题,填补了深度学习领域当中数据偏移应对策略精确评测方法的空白,使评测更加准确。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例提供的一种数据偏移应对策略评测方法步骤示意图;
图2为本发明实施例提供的数据偏移应对策略评测流程图;
图3为本发明实施例提供的一种数据偏移应对策略评测装置示意图;
图4为本发明实施例提供的一种数据偏移应对策略评测设备示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例对本发明进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本领域普通技术人员显式地和隐式地理解的是,本发明所描述的实施例在不冲突的情况下,可以与其它实施例相结合。除非另作定义,本发明所涉及的技术术语或者科学术语应当为本发明所属技术领域内具有一般技能的人士所理解的通常意义。本发明所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本发明所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;本发明所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
下面对本发明涉及到的一些概念进行解释说明。
模型服务:把训练好的机器学习模型部署到线上环境并让该机器学习模型对来自线上环境的输入数据进行预测。在一些场景中,模型服务不但能从外界接收到输入数据,还能从外界接收到过去的输入数据的真实标签。
数据偏移:线上环境的输入数据和真实标签的统计分布随时间变化。数据偏移现象会导致模型效果劣化。
数据偏移应对策略:模型服务为应对数据偏移现象所采取的策略。一种典型的策略是,每隔一段时间就用最近一段时间的带真实标签的线上数据来重新训练模型。
空闲状态:模型服务所有相关线程都暂时不能继续执行的状态。
饥饿状态:模型服务等待下一条数据的空闲状态。饥饿状态是空闲状态的一种,其相比于空闲状态的特点在于,造成所有相关线程都暂时不能继续执行的原因是过去接收到的所有数据都已经响应和处理完毕而新的数据还未到来。
sleep函数可以使计算机程序(进程,任务或线程)进入休眠,使其在一段时间内处于非活动状态。当函数设定的计时器到期,或者接收到信号、程序发生中断都会导致程序继续执行。
River是一个用Python编写的开源在线机器学习库,包含众多在线机器学习算法。在线机器学习与普通的机器学习相比最大的区别是,在线机器学习模型能够一条一条地学习带标签样本,同时无须回顾之前学习过的样本,这让在线机器学习模型能够在线上很自然地边做预测边学习。相应地,River的在线机器学习模型基类包含两个核心方法:predict_one(x)和learn_one(x, y),其中predict_one(x)对一条样本进行预测,learn_one(x, y)对一条带标签样本进行学习。
River有一个progressive_val_score(dataset, model, metric, moment,delay)函数,可以用来评测给定在线机器学习模型在给定带时间戳测试数据上的预测效果。事实上,该函数也能用来评测数据偏移应对策略(可以通过这样的方式来把带有数据偏移应对策略的模型服务封装成River在线机器学习模型对象:predict_one(x)直接调用模型服务的预测方法,learn_one(x, y)把数据偏移应对策略所需要的真实标签传给模型服务)。
progressive_val_score函数接收数据集、在线机器学习模型、模型预测效果指标算法、每条输入数据到来的时刻和每条真实标签相比其输入数据到来的延迟共五个参数,根据后两个参数来按照时间先后顺序给输入数据和真实标签共2n条数据(n为输入数据的条数,同时也是真实标签的条数)进行排序,按照此顺序来调用在线机器学习模型的predict_one(x)方法和learn_one(x, y)方法,最后计算并返回在线机器学习模型在给定数据集上的全局平均预测效果指标。
River的progressive_val_score函数作为一个能够应用于数据偏移应对策略评测的在线机器学习模型评测方法的第一个缺点是,其假设模型预测和模型学习的耗时均为零,因此评测结果不一定能符合实际情况。在实际场景中,有可能发生在模型学习一条带标签样本(以下记为xA、yA)的过程中,有新的输入数据(以下记为xB)到来需要模型立即开始进行预测的情况。如果在这个场景所对应的带时间戳测试数据上用progressive_val_score函数来评测模型,则由于yA的时间戳早于xB,progressive_val_score函数会先调用learn_one(xA, yA),在该调用完成后再调用predict_one(xB),这样一来xB是用已经完成对(xA,yA)的学习的模型来进行预测的,这与实际情况不符。progressive_val_score函数不能保证每条样本都是用符合实际情况的模型状态来进行预测,那就不能保证计算出来的全局平均预测效果指标符合实际情况。
progressive_val_score函数用于数据偏移应对策略评测时的第二个缺点是,并不是所有的带数据偏移应对策略的模型服务都能够被方便地封装成符合其预期的River在线机器学习模型对象。progressive_val_score函数所预期的River在线机器学习模型对象具有这样的特点:学习过程全部发生在learn_one(x, y)调用期间,learn_one(x, y)方法在返回时已经完成对(x, y)的学习。然而,有些带数据偏移应对策略的模型服务可能会采取“消息队列+后台线程”的实现方式,即在接收到真实标签后把真实标签通过消息队列传递给执行数据偏移应对策略的后台线程,对这样的模型服务而言,什么时间点算是“完成对(x, y)的学习”可能并不清晰。
本发明提出了一种数据偏移应对策略评测方法、装置及设备,解决了如何评测涉及后台线程的数据偏移应对策略,以及如何在评测时把数据偏移应对策略和模型预测的耗时以及各条输入数据和真实标签之间的时间间隔纳入考虑的问题,下面进行具体说明。
图1为本发明实施例提供的一种数据偏移应对策略评测方法的步骤示意图,图1所示的数据偏移应对策略评测方法可以由数据偏移应对策略评测装置执行,数据偏移应对策略评测装置可以设置于服务器,例如,服务器可以为包含独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等,本发明实施例对此不作限定。该数据偏移应对策略评测方法可以包括以下步骤:
S110:确定带有数据偏移应对策略的机器学习模型进行预测的服务,作为待评测模型服务。
具体地,本发明对数据偏移应对策略的评测,本质上是对带数据偏移应对策略的模型服务的评测。在本实施例中,假设所评测的模型服务有两个方法:recv_x(x, id),接收输入数据并返回模型预测值,和recv_y(y, id),接收真实标签,输入数据和其对应的真实标签具有相同标识(即id参数),该id参数的作用是让模型服务在接收到一条真实标签时能够识别该条真实标签是与哪条输入数据相对应。该假设具有足够的普适性,大多数模型服务不论其具体接口形态如何,都能通过简单方式来适配recv_x(x, id)和recv_y(y, id)这两个方法。
S120:获取测试数据,读取首条测试数据至待评测模型服务中,当第一事件发生或第二事件发生时,将下一条测试数据发送至待评测模型服务。
在本发明的一种实施例中,测试数据为带时间戳的数据,包括输入数据和真实标签。
在本发明的一种实施例中,当第一事件发生或第二事件发生时,将下一条测试数据发送至待评测模型服务,具体包括:根据预设时间间隔逐条将测试数据输入至待评测模型服务中;或当检测到待评测模型服务处于饥饿状态时,立即向待评测模型服务发送下一条数据。饥饿状态为待评测模型服务等待下一条测试数据的空闲状态。
具体地,为了把模型服务运行逻辑各环节的耗时以及各条输入数据和真实标签之间的时间间隔纳入考虑,最简单的评测做法是按照时间间隔来把各条数据发送给模型服务,对每条数据都启动一个新线程并在新线程中调用recv_x(x, id)方法或recv_y(y, id)方法。这种做法能解决River的progressive_val_score函数的第一个缺点(即其假设模型预测和模型学习的耗时均为零,因此评测结果不一定能符合实际情况),但这种做法本身也存在很大问题,即评测过程需要花费与测试数据时间跨度相当的时间,如果测试数据时间跨度为一年,那评测过程就需要花费一年来完成,这是不切实际的。
为了解决上述缺陷,本发明提供了一种非常简单的改进思路。不难发现,在大多数实际使用场景中,就算评测过程花费了一年的时间,在这一年时间内的绝大多数时间段中,模型服务也只是处于一种等待下一条数据的饥饿状态。如果能做到一旦发现模型服务进入饥饿状态,就立即把下一条数据发送给模型服务而非等待相应的时间间隔,就能把评测时长(比如一年)缩短到让人能接受的程度,同时还不影响评测结果。
总之,本发明通过按照时间间隔来把各条数据发送给模型服务,同时一旦发现模型服务进入饥饿状态,就立即发送下一条数据。不仅在评测时将模型服务运行逻辑各环节的耗时以及各条输入数据和真实标签之间的时间间隔纳入考虑,还能够避免评测过程耗时过长的缺陷。
在本发明的一种实施例中,检测待评测模型服务的饥饿状态,具体包括:在待评测模型服务的运行过程中,获取相关活跃线程的活跃计数;当检测到活跃计数为零时,确定待评测模型服务处于饥饿状态。相关活跃线程为不依赖其他事件被动进行唤醒的线程。
需要说明的是,如果被评测的模型服务采取多进程设计,活跃计数可以被扩展成同时涉及线程和进程。
具体地,在明确本发明通过按照时间间隔来把各条数据发送给模型服务,同时一旦发现模型服务进入饥饿状态,就立即发送下一条数据的基本思想后,接下来介绍本发明是如何检测模型服务的饥饿状态的,这也是本发明的重点。
模型服务处于饥饿状态在程序层面的表现是,该模型服务的所有相关线程(正在调用该模型服务recv_x(x, id)或recv_y(y, id)方法的线程,以及该模型服务内部的负责数据偏移应对等工作的后台线程)都处于暂时不能继续执行的状态,且模型服务处于这样的状态只有在模型服务接收到新的数据后才可能解除。为了解模型服务相关线程的情况,本发明提出由被评测的模型服务维护一个“活跃计数”,该计数的大致含义是“当前相关活跃线程的数量上界”,具体来说:
1.如果一个相关线程处于暂时不能继续执行的状态,且这样的状态只能通过其他相关活跃线程以某种方式唤醒(例如把一条消息通过消息队列传递给前者而前者原本正在等待)来解除,则该线程为相关非活跃线程,否则为相关活跃线程。需要指出的是,处于sleep函数调用或网络IO中的相关线程属于相关活跃线程,因为其恢复执行的条件与其他相关线程无关。
2. 模型服务必须保证活跃计数始终大于或等于当前相关活跃线程的数量。
在本发明的一种实施例中,在待评测模型服务的运行过程中,当创建了相关线程间的通信管道,且通信管道的消息源于待评测模型服务所接收的测试数据时,则从通信管道等待并取出一条消息前对活跃计数减一;在向通信管道传入一条消息前对活跃计数加一。
具体地,以下给出两个例子来说明活跃计数应该如何正确维护:
1.如果模型服务运行过程中创建了新线程,则在创建该线程前给活跃计数加一,在该线程所执行的代码的末尾给活跃计数减一。
以Python为例,此正确的做法在代码上体现为:
'''首先,假设active_count是一个具有increase()和decrease()方法的对象,这两个方法分别用于增加和减少一个活跃计数。同样,假设Thread是一个可以创建新线程并执行给定函数的类'''
def f():
print('Hello, world!')
active_count.decrease() ''' 定义了一个函数f,当这个函数被调用时,它会打印"Hello, world!"并调用active_count.decrease()来减少活跃计数'''
active_count.increase() ''' 调用active_count的increase()方法来增加活跃计数。'''
Thread(target=f).start() ''' 创建一个新的线程,该线程的目标是执行函数f。然后,通过调用start()方法启动这个新线程'''
在该线程所执行的代码的开头给活跃计数加一的做法是错误的,如下代码示例(错误示例):
def f():
active_count.increase() '''调用 active_count 对象的 increase 方法,使活跃计数加一'''
print('Hello, world!')
active_count.decrease() '''调用 active_count 对象的 decrease 方法,使活跃计数减一'''
Thread(target=f).start() '''创建一个新的线程,该线程的目标是执行函数f。然后,通过调用start()方法启动这个新线程'''
因为这样做的话相关活跃线程的数量会先于活跃计数加一,活跃计数大于或等于相关活跃线程的数量的关系可能会被打破。
2.如果模型服务运行过程中创建了线程间通信管道(例如Python中的Queue对象),且该通信管道的消息源于模型服务所接收的输入数据和真实标签,则应该在从该通信管道等待并取出一条消息(例如通过Python中的Queue.get())前给活跃计数减一,在往该通信管道传入一条消息(例如通过Python中的Queue.put(x))前给活跃计数加一。在此顺便指出,如果要求活跃计数始终等于当前相关活跃线程的数量,则线程间通信管道的情况将不好处理。
由活跃计数的性质可以推论,当活跃计数下降到零时,模型服务将处于饥饿状态。因此,本实施例只需检测活跃计数下降到零的事件发生,就能检测到模型服务的饥饿状态。
为免去模型服务开发者在代码中手动维护活跃计数的麻烦,可以按照前文活跃计数的正确维护方式,把编程语言标准库中的线程、管道等设施封装成能够自动维护活跃计数的版本,供模型服务开发者使用。
S130:基于待评测模型服务的执行过程获取待评测模型服务的相关参数,根据相关参数得到全局平均预测效果指标。
在本发明的一种实施例中,获取待评测模型服务的相关参数,根据相关参数得到全局平均预测效果指标,具体包括:获取通过所述待评测模型服务返回的预测值;基于模型预测效果指标算法根据所述预测值和所述测试数据中的真实标签计算并返回所述待评测模型服务在给定测试数据上的全局平均预测效果指标。
基于上述技术方案,通过获取以下输入实现本发明的评测方法:
1. 机器学习模型和待测数据偏移应对策略。
2. 带时间戳的测试数据。
3. 模型预测效果指标算法。
基于以上输入对数据偏移应对策略进行评测的步骤,如图2所示,如下:
1. 按照带时间戳的测试数据的时间先后顺序给输入数据(如en)和真实标签(如em)共2s条数据(s为输入数据的条数,同时也是真实标签的条数)进行排序。
2. 令活跃计数为零并将机器学习模型、数据偏移应对策略和活跃计数传递给模型服务构造函数,构造出模型服务。
3. 对每条测试数据,同时等待活跃计数归零和该条数据与上条数据的时间间隔(tn-tn-1)到达(对首条数据只等待活跃计数归零),取首先发生的事件,等待结束后,给活跃计数加一并启动新线程,新线程先调用模型服务的recv_x(x, id)方法或recv_y(y, id)方法,再给活跃计数减一。(为每条数据所创建的新线程可以被替换成进程,二者在效果上没有本质区别。)
4. 汇总上一步从模型服务所得到的模型预测值,结合带时间戳测试数据的真实标签部分和模型预测效果指标算法,根据预测值进行计算并返回全局平均预测效果指标。
本发明让用户能够相比现有方法更精确地评测数据偏移应对策略,进而为用户判断不同数据偏移应对策略的优劣提供了更准确的依据。本发明在深度学习领域尤其具有价值,这是因为深度学习模型的预测和训练相比传统机器学习模型往往耗时更长,现有数据偏移应对策略评测方法假设各环节耗时均为零所带来的评测结果不准确的问题在深度学习领域将更加凸显,从这个意义上说,本发明填补了深度学习领域当中数据偏移应对策略精确评测方法的空白。
以上为本发明实施例提供的一种数据偏移应对策略评测方法,基于同样的发明思路,本发明实施例还提供了相应的一种数据偏移应对策略评测装置,如图3所示,包括:
数据获取模块310,用于确定带有数据偏移应对策略的机器学习模型进行预测的服务,作为待评测模型服务;获取测试数据,读取首条测试数据至所述待评测模型服务中,当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务;
模型评测模块320,用于基于所述待评测模型服务的执行过程获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标。
本发明实施例还提供了相应的一种数据偏移应对策略评测设备,如图4所示,包括:
至少一个处理器402(processor)、通信接口404(Communications Interface)、存储器406(memory)和通信总线408;其中,处理器402,通信接口404,存储器406通过通信总线408完成相互间的通信;处理器402可以调用存储器406中存储的逻辑指令,以使至少一个处理器402执行上述各实施例的步骤。
基于同样的思路,本发明的一些实施例还提供了上述方法对应的介质。
本发明的一些实施例提供的一种存储介质,存储有计算机可执行指令,计算机可执行指令由处理器执行,以实现上述各实施例的步骤。
另一方面,本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,计算机程序被处理器执行时,计算机能够执行上述各实施例所提供的一种数据偏移应对策略评测方法的步骤。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备、介质和程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的设备、介质和程序产品与方法是一一对应的,因此,设备、介质和程序产品也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备、介质和程序产品的有益技术效果。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程方法商品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程方法商品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程方法商品或者方法中还存在另外的相同要素。
以上仅为本发明的实施例而已,并不用于限制本发明。虽然,上文中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (11)
1.一种数据偏移应对策略评测方法,其特征在于,包括:
确定带有数据偏移应对策略的机器学习模型进行预测的服务,作为待评测模型服务;
获取测试数据,读取首条测试数据至所述待评测模型服务中,当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务;
基于所述待评测模型服务的执行过程获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标。
2.根据权利要求1所述的数据偏移应对策略评测方法,其特征在于,所述当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务,具体包括:
根据预设时间间隔逐条将所述测试数据输入至所述待评测模型服务中;或
当检测到所述待评测模型服务处于饥饿状态时,立即向所述待评测模型服务发送下一条数据。
3.根据权利要求2所述的数据偏移应对策略评测方法,其特征在于,所述饥饿状态为所述待评测模型服务等待下一条测试数据的空闲状态。
4.根据权利要求2所述的数据偏移应对策略评测方法,其特征在于,检测所述待评测模型服务的饥饿状态,具体包括:
在所述待评测模型服务的运行过程中,获取相关活跃线程的活跃计数;
当检测到所述活跃计数为零时,确定所述待评测模型服务处于饥饿状态。
5.根据权利要求4所述的数据偏移应对策略评测方法,其特征在于,所述相关活跃线程为不依赖其他事件被动进行唤醒的线程。
6.根据权利要求4所述的数据偏移应对策略评测方法,其特征在于,在所述待评测模型服务的运行过程中,所述方法还包括:
当创建了相关线程间的通信管道,且所述通信管道的消息源于所述待评测模型服务所接收的测试数据时,则
从所述通信管道等待并取出一条消息前对所述活跃计数减一;
在向所述通信管道传入一条消息前对所述活跃计数加一。
7.根据权利要求1所述的数据偏移应对策略评测方法,其特征在于,所述测试数据为带时间戳的数据,包括输入数据和真实标签;
所述输入数据和其对应的真实标签具有相同标识。
8.根据权利要求7所述的数据偏移应对策略评测方法,其特征在于,所述获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标,具体包括:
获取通过所述待评测模型服务返回的预测值;
基于模型预测效果指标算法根据所述预测值和所述测试数据中的真实标签计算并返回所述待评测模型服务在给定测试数据上的全局平均预测效果指标。
9.一种数据偏移应对策略评测装置,其特征在于,包括:
数据获取模块,用于确定带有数据偏移应对策略的机器学习模型进行预测的服务,作为待评测模型服务;获取测试数据,读取首条测试数据至所述待评测模型服务中,当第一事件发生或第二事件发生时,将下一条测试数据发送至所述待评测模型服务;
模型评测模块,用于基于所述待评测模型服务的执行过程获取所述待评测模型服务的相关参数,根据所述相关参数得到全局平均预测效果指标。
10.一种数据偏移应对策略评测设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通过总线通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被执行,以实现如权利要求1-8任一项所述的方法。
11.一种非易失性存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令由处理器执行,以实现如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410319488.8A CN117933428B (zh) | 2024-03-20 | 2024-03-20 | 数据偏移应对策略评测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410319488.8A CN117933428B (zh) | 2024-03-20 | 2024-03-20 | 数据偏移应对策略评测方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117933428A true CN117933428A (zh) | 2024-04-26 |
CN117933428B CN117933428B (zh) | 2024-06-25 |
Family
ID=90754121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410319488.8A Active CN117933428B (zh) | 2024-03-20 | 2024-03-20 | 数据偏移应对策略评测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117933428B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190246298A1 (en) * | 2018-02-07 | 2019-08-08 | Rohde & Schwarz Gmbh & Co. Kg | Method and test system for mobile network testing as well as prediction system |
CN113704082A (zh) * | 2021-02-26 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 模型评测方法、装置、电子设备及存储介质 |
CN115719334A (zh) * | 2022-10-26 | 2023-02-28 | 中电通商数字技术(上海)有限公司 | 基于人工智能的医学影像评价方法、装置、设备及介质 |
CN116775438A (zh) * | 2023-07-10 | 2023-09-19 | 网易有道信息技术(北京)有限公司 | 模型测试方法、装置、电子设备及存储介质 |
CN117724982A (zh) * | 2024-01-12 | 2024-03-19 | 大卓智能科技有限公司 | 仿真测评方法、装置、电子设备及存储介质 |
-
2024
- 2024-03-20 CN CN202410319488.8A patent/CN117933428B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190246298A1 (en) * | 2018-02-07 | 2019-08-08 | Rohde & Schwarz Gmbh & Co. Kg | Method and test system for mobile network testing as well as prediction system |
CN113704082A (zh) * | 2021-02-26 | 2021-11-26 | 腾讯科技(深圳)有限公司 | 模型评测方法、装置、电子设备及存储介质 |
CN115719334A (zh) * | 2022-10-26 | 2023-02-28 | 中电通商数字技术(上海)有限公司 | 基于人工智能的医学影像评价方法、装置、设备及介质 |
CN116775438A (zh) * | 2023-07-10 | 2023-09-19 | 网易有道信息技术(北京)有限公司 | 模型测试方法、装置、电子设备及存储介质 |
CN117724982A (zh) * | 2024-01-12 | 2024-03-19 | 大卓智能科技有限公司 | 仿真测评方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117933428B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8713579B2 (en) | Managing job execution | |
US20110270770A1 (en) | Customer problem escalation predictor | |
CN107870948A (zh) | 任务调度方法和装置 | |
CN112769810B (zh) | 防火墙测试方法、装置、非易失性存储介质和电子装置 | |
WO2016155996A1 (en) | Production system and method for controlling same | |
CN111539540A (zh) | 一种设备管理方法、装置及存储介质 | |
CN114978883A (zh) | 网络唤醒的管理方法、装置、电子设备及存储介质 | |
CN111930357A (zh) | 一种可视化建模作业流调度引擎的构建方法 | |
CN114742250A (zh) | 一种基于数据分析的数控设备运行故障预测系统 | |
CN116775205A (zh) | 云主机的资源扩缩容方法和装置 | |
CN117933428B (zh) | 数据偏移应对策略评测方法、装置及设备 | |
US12009992B2 (en) | Methods and systems for hierarchical processing of gas data based on smart gas internet of things | |
CN111161747B (zh) | 基于Tensorflow唤醒模型的预测方法、装置和计算机设备 | |
CN109740766B (zh) | 一种工业设备维护服务规划方法 | |
CN117312512A (zh) | 一种基于大模型的问答方法、装置、电子设备及存储介质 | |
Grohmannn et al. | The vision of self-aware performance models | |
CN111522845A (zh) | 一种基于时间序列预测的流计算框架水印发放策略 | |
CN111861012A (zh) | 一种测试任务执行时间预测方法及最优执行节点选择方法 | |
CN104572266A (zh) | 制程变异下基于UPPAAL-SMC的MPSoC任务调度建模与评估方法 | |
CN116668271B (zh) | 容器集群管理系统的容器迁移方法、装置、设备及介质 | |
CN115297018B (zh) | 一种基于主动探测的运维系统负载预测方法 | |
CN113626508B (zh) | 列车特征库管理方法、装置、电子设备及可读存储介质 | |
CN118070223A (zh) | 计算资源预警方法、设备、介质及计算机程序产品 | |
US20230064755A1 (en) | Data processing method and apparatus | |
CN118153712A (zh) | 数据偏移自适应模型服务系统及其应用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |