CN115879006A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN115879006A CN115879006A CN202211689485.0A CN202211689485A CN115879006A CN 115879006 A CN115879006 A CN 115879006A CN 202211689485 A CN202211689485 A CN 202211689485A CN 115879006 A CN115879006 A CN 115879006A
- Authority
- CN
- China
- Prior art keywords
- data
- model training
- data processing
- preprocessing
- initial slice
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种数据处理方法及装置,其中,该方法包括:调用数据处理系统中的调度管理模块对模型训练任务对应的样本数据集进行切片处理得到初始切片数据;调用数据处理系统中的数据处理引擎对初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据;将目标切片数据输入至模型训练模块进行训练,以得到满足训练结束条件的模型。通过将功能丰富的数据处理引擎引入数据处理系统用于执行丰富类型的样本数据读取、数据混合及预处理,实现精细化的样本打散、混合及预处理功能,使模型训练框架能够支持对多种类型的数据源中的样本数据进行训练,提升模型训练效果;数据预处理和模型训练可以并行处理,提高模型训练效率。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种数据处理方法及装置。
背景技术
在模型训练时,样本数据的编排是影响模型迭代的重要因素之一。因此为了提高模型训练效果会引入丰富的数据源,对数据源中的样本数据进行混合以及预处理,获得更加灵活的样本数据以实现更好的模型训练效果。
传统方式中,会在前置阶段由数据预处理框架完成数据预处理,之后再将处理过的样本数据交付给模型训练框架,通过模型训练框架中的训练器进行模型训练。在数据源较多且样本数据的数据类型丰富的情况下,需要部署多种类型的数据预处理框架以适配不同数据源进行混合以及预处理,这样的方式导致支持灵活多样的数据源的成本极其高。
发明内容
为了解决上述技术问题,实现支持灵活多样的数据源,提高模型训练效果,本公开提供了一种数据处理方法及装置。
第一方面,本公开提供了一种数据处理方法,包括:
调用数据处理系统中的调度管理模块对模型训练任务对应的样本数据集进行切片处理得到初始切片数据;所述初始切片数据包括一个或多个数据源的样本数据;
调用所述数据处理系统中的数据处理引擎对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据;所述数据处理引擎支持读取不同数据源的数据以及对不同数据源的数据进行混合处理和预处理;所述混合处理用于指示打散所述初始切片数据中包含的样本数据的数据顺序;所述预处理用于指示对所述初始切片数据进行信息转换和/或样本过滤;
通过将所述目标切片数据输入至所述模型训练模块进行模型训练,以得到满足训练结束条件的模型。
在一些实施例中,所述调用所述数据处理系统中的数据处理引擎对所述初始切片数据进行混合和/或预处理,包括:
调用所述数据处理引擎对所述一个或多个数据源中的数据按照时间进行排序,将基于排序结果聚合所述初始切片数据包含的样本数据;
针对各所述初始切片数据,调用所述数据处理引擎按行/按文件对所述初始切片数据包含的样本数据进行打散得到混合后的初始切片数据。
在一些实施例中,所述调用所述数据处理系统中的数据处理引擎对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据,包括:
调用所述数据处理引擎对所述初始切片数据中第一数据进行预处理得到符合模型训练模块的数据要求的第三数据;以及,检查所述初始切片数据中是否包括无需执行预处理的第二数据;
调用所述数据处理引擎将所述第三数据与检查得到的无需执行预处理的第二数据合并得到所述目标切片数据,所述第二数据符合所述模型训练模块的数据要求。
在一些实施例中,所述通过所述调度管理模块调用数据处理引擎对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据,包括:
基于预设并发数调用所述数据处理系统中相应数量的多个数据处理引擎并行地对多个所述初始切片数据进行混合处理和/或预处理得到各所述数据处理引擎分别输出的目标切片数据。
在一些实施例中,还包括:
调用所述调度管理模块检查所述数据处理引擎的执行状态;
检测到所述数据处理引擎的执行状态为失败状态时,基于预设重启策略确定重启所述数据处理引擎重新对相应的所述初始切片数据进行预处理或者结束对相应的所述初始切片数据进行混合处理和/或预处理。
在一些实施例中,所述基于预设重启策略确定重启所述数据处理引擎重新对相应的所述初始切片数据进行预处理或者结束对相应的所述初始切片数据进行混合处理和/或预处理,包括:
确定本次失败是否达到所述预设重启策略指示的最大失败次数;
若达到所述最大失败次数,则重启所述数据处理引擎重新对相应的所述初始切片数据进行混合处理和/或预处理;
若未达到所述最大失败次数,则结束对相应的所述切片数据进行混合处理和/或预处理,并将失败结果传输至所述模型训练模块。
在一些实施例中,所述通过将所述目标切片数据输入至所述模型训练模块进行模型训练,包括:
将多个所述数据处理引擎输出的目标切片数据按照切片处理的先后顺序依次输入至数据队列中;
调用所述模型训练模块从所述数据队列中读取所述目标切片数据进行模型训练。
在一些实施例中,还包括:在训练过程中,将所述模型训练模块训练过的目标切片数据从所述数据处理系统中删除。
第二方面,本公开提供了一种数据处理装置,包括:
调度管理模块,用于对模型训练任务对应的样本数据集进行切片处理得到初始切片数据;所述初始切片数据包括一个或多个数据源的样本数据;
数据处理引擎,用于对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据;所述数据处理引擎支持读取不同数据源的数据以及对不同数据源的数据进行混合处理和预处理;
模型训练模块,用于基于所述目标切片数据进行模型训练,以得到满足训练结束条件的模型。
第三方面,本公开提供了一种电子设备,包括:存储器和处理器,所述存储器被配置为存储计算机程序指令;所述处理器被配置为执行所述计算机程序指令,使得所述电子设备实现如第一方面以及第一方面任一项所述的数据处理方法。
第四方面,本公开提供了一种可读存储介质,包括:计算机程序指令;电子设备的至少一个处理器执行所述计算机程序指令,使得所述电子设备实现如第一方面以及第一方面任一项所述的数据处理方法。
第五方面,本公开提供了一种计算机程序产品,电子设备运行所述计算机程序产品,使得所述电子设备实现如第一方面以及第一方面任一项所述的数据处理方法。
本公开实施例提供一种数据处理方法及装置,其中,该方法包括:调用数据处理系统中的调度管理模块对模型训练任务对应的样本数据集进行切片处理得到初始切片数据;其中,初始切片数据包括一个或多个数据源的样本数据;调用数据处理系统中的数据处理引擎对初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据;通过将目标切片数据输入至模型训练模块进行模型训练,以得到满足训练结束条件的模型。通过将功能丰富的数据处理引擎引入数据处理系统(模型训练框架)用于执行丰富类型的样本数据读取、混合以及预处理,能够实现精细化的样本打散、混合以及预处理功能,使得模型训练框架能够支持对多种类型的数据源中的样本数据进行训练,提升模型训练效果;此外,本公开中,数据预处理和模型训练可以并行处理,提高模型训练效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一实施例提供的数据处理系统的整体框架示意图;
图2为本公开一实施例提供的数据处理方法的流程示意图;
图3为本公开另一实施例提供的数据处理方法的流程示意图;
图4为本公开另一实施例提供的数据处理方法的流程示意图;
图5为本公开一实施例提供的数据处理方法的流程示意图;
图6为本公开一实施例提供的电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
在离线模型训练场景中,模型训练框架通常支持文件(样本数据)的顺序读取,且模型训练框架对于样本数据的数据格式有所限制,例如,一些模型训练框架能够固定读取TFrecord格式的样本数据,无法读取其他格式的数据,其中,TFrecord是tensorflow使用的一种二进制数据格式。此外,一些复杂的数据预处理需要在前置阶段由数据预处理框架完成,数据预处理框架触发多个预处理子流程,并在预处理完成之后才能启动模型训练框架进行模型训练,应理解,传统的模型训练框架不具备数据预处理能力。
上述方式至少存在以下痛点:
1、目前的模型训练框架缺少数据混合能力,例如行级数据混合能力,传统方式是按照文件顺序读取,无法进行精细化的样本打散、交互逻辑,难以满足复杂的模型训练需求,例如,无法支持像shuffle、GroupBy、Repartition等精细化的样本预处理和数据混合的支持,从而限制了样本数据的多样性。
2、无法支持灵活多样的数据源,尤其是有新增的数据源出现时,若直接在每个模型训练框架中支持多种数据源读取会导致极大的开发成本。
3、存在数据处理和训练的延迟。由于传统的方式需要在数据预处理框架完成数据预处理后才能启动训练,若样本数据较多且预处理负载时,导致等待启动训练的时间过长。
4、存在计算资源浪费。训练不符合预期时,由于经过预处理的样本数据已经离线生成,当模型离线指标异常需要重新生成数据时,需要调用数据预处理框架重新进行数据预处理,训练资源则需要处于等待,会导致大量计算资源浪费。
5、存在存储资源浪费。在离线训练过程中,通常需要持久化大量的样本数据,例如一年、两年的数据,这些数据占用较多的存储资源,导致严重的存储资源浪费。
为了解决上述问题,本公开提供一种数据处理方法及装置,通过将功能丰富的数据处理引擎引入数据处理系统用于执行丰富类型的样本数据读取、数据混合以及预处理,能够实现精细化的样本打散、混合以及预处理功能,使得模型训练框架能够支持对多种类型的数据源中的样本数据进行训练,提升模型训练效果;此外,数据混合以及预处理和模型训练可以并行处理,打破了严格的先后依赖关系,提高模型训练效率。
示例性地,本公开提供的数据处理方法可以由数据处理装置实现,数据处理装置可以通过任意的软件和/或硬件的方式实现。例如,数据处理装置可以但不限于为:平板电脑、手机(如折叠屏手机、大屏手机等)、可穿戴设备、车载设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA),服务器、服务器集群、云服务器等等,本公开对电子设备的具体类型不作任何限制。数据处理装置也可以为通过软件实现的数据处理系统,也可以称为模型训练系统。
接下来通过几个实施例对本公开提供的数据处理方法及数据处理系统进行详细介绍。
图1为本公开一实施例提供的数据处理系统的整体框架示意图。请参阅图1所示,本实施例提供的数据处理系统100包括:调度管理模块101、一个或者多个数据处理引擎102以及模型训练模块103。其中,一个或多个数据处理引擎102可以理解为是数据预处理模块的一部分。
调度管理模块101,用于基于接收到的模型训练请求控制启动模型训练任务,读取样本数据集进行切片处理得到初始切片数据,以及调度数据处理引擎102执行初始切片数据中来源于不同数据源的样本数据的混合处理以及预处理。其中,本公开中模型训练任务可以为离线模型训练任务,因此,样本数据集可以是采集的预设时长内的离线样本数据,离线样本数据可以源于多个数据源,其中,数据源可以但不限于包括分布式文件存储系统(HDFS)、S3(简单存储服务)、Kafka(一种分布式发布订阅消息系统)、特征平台(FeatureStore)等中的一种或多种。样本数据包含若干个文件,每个文件包含若干行样本;每行样本包含多个列特征信息和标签。样本数据还可以包括一些外部扩展数据,如无法直接存储在数据处理系统中的数据、实时更新的最新特征信息等等,这些外部扩展数据可以在启动模型训练的时候可以动态读入。
数据处理引擎102主要负责基于调度管理模块101的控制对输入的初始切片数据中来源于不同数据源的样本数据的混合处理和/或预处理。其中,数据处理引擎102支持对多种数据源中不同数据格式的样本数据的读取,从而丰富模型训练的数据源;此外,数据处理引擎102可以打破按照文件顺序读取数据源中样本数据的限制,实现全局多个模型训练模块103的样本打散。
对样本数据进行混合处理的方式可以包括但不限于行级数据混合、文件混合等等。其中,混合处理主要包含数据聚合以及打散样本数据的数据顺序两部分操作,其中,数据聚合是指将多个数据源的样本数据按照时间进行排序,并基于排序的结果以及预先定义的规则进行数据聚合,例如,按照天、小时等将不同数据源的样本数据进行聚合。打散样本数据的数据顺序是指打乱初始切片数据所包含的样本数据之间的顺序,这样能够防止样本数据的数据顺序总是固定不变进入模型训练模块后导致训练容易受到数据物理存储顺序的影响,可以按照行进行打散,也可以按照文件进行打散。可以采用随机打散的方式实现。其中,打散样本数据的数据顺序可以通过调用预设的函数实现。
预处理可以包括但不限于:信息转换、样本过滤等等;其中,信息转换用于对样本数据中的信息进行转换以提取所需的特征或者进行特征增强,例如,根据样本数据进行正例负例计算、通过合并样本数据在多个维度上的特征产生新的特征等等;样本过滤是指对样本进行过滤,例如,动态负例过滤,根据多个数据源的信息以及负样本过滤的比例(如过滤比例为0.3)使得部分负例样本(70%的负例样本)被丢弃,部分负例样本(30%的负例样本)进入模型训练模块,提升训练速度。
需要说明的是,本公开提及的“数据预处理”可以为混合处理,也可以为预处理,还可以同时包含混合处理和预处理,基于不同模型训练任务,数据预处理具体包含的操作可能不同。
模型训练模块103主要负责基于数据处理引擎输出目标切片数据进行模型训练得到满足训练条件的模型。模型训练模块103可以包括多个训练器,多个训练器可以针对同一待训练模型从不同维度进行训练,或者,也可以针对不同待训练模型采用相同的样本数据集进行训练,本公开对此不作限定。
其中,数据处理引擎102可以将处理好的目标切片数据添加至数据队列,模型训练模块103从数据队列中读取目标切片数据输入至相应的训练器中进行模型训练。一些实施例中,数据处理引擎102向数据队列中添加目标切片数据时,可以按照进行切片处理得到的各初始切片数据的排列顺序进行添加,保证模型训练模块103能够拿到正确顺序的训练数据。
参照图1所示的架构可知,数据处理引擎102和模型训练模块103可以并行地执行,能够打破传统离线模型训练模式中数据预处理与模型训练之间严格的先后依赖关系,提高模型训练效率。
在图1所示实施例的基础上,其中,输入至数据处理引擎102的初始切片数据可以包括两种类型的数据,其中一种是需要进行预处理的,另一种是不需要进行预处理,模型训练模块103可以直接使用的,两种类型的数据需要执行不同方式的处理。因此,数据处理引擎102中可以包括两种不同的数据预处理模块,分别为第一数据处理模块和第二数据处理模块,第一数据处理模块用于对需要进行预处理的样本数据启动数据预处理任务执行相应的计算,第二数据处理模块用于对不需要执行预处理的样本数据进行拷贝、检查、完整性校验等处理,之后,再由数据处理引擎103包括的合并控制模块对第一数据处理模块和第二数据处理模块分别输出的数据进行打包,实现预处理流和直接流的混合对齐,得到能够交付给模型训练模块103使用的目标切片数据。
本公开中,数据处理系统100可以提供多个数据处理引擎102并发地对多个初始切片数据执行预处理。本公开对于并发数的大小不作限定,可根据部署数据处理系统100的硬件环境以及离线模型训练需求设定。图1所示实施例中的数据处理引擎数量可根据数据预处理速度、样本数据集大小等等多个方面的需求设置。
在图1所示实施例的基础上,数据处理引擎102是基于调度管理模块101的调度执行数据预处理的。其中,图2示例性示出了调度管理模块101如何调度数据处理引擎102的场景示意图。请参阅图2所示,调度管理模块101可以基于模型训练任务以及数据切片得到的多个初始切片数据构建调度逻辑图,如图2中虚线框所示,调度逻辑图中包括与多个初始切片数据一一对应的的多个数据预处理任务以及且通过箭头所指方向表明多个数据预处理任务之间的前后级关系,之后,调度管理模块101基于调度逻辑图调度一个或多个数据处理引擎102执行与初始切片数据对应的数据预处理任务。
在执行数据预处理任务的过程中,调度管理模块101会循环地检查数据处理引擎102中第一数据处理模块、第二数据处理模块以及合并控制模块的执行状态,并基于各模块的执行状态确定数据预处理任务执行成功或者失败,若失败,则需要按照预设重启策略进行处理。
当执行一数据预处理任务的所有模块全部成功时,则认为数据预处理任务成功;调度逻辑图中所有的数据预处理任务全部成功完成,则可以任务整个调度逻辑图中的数据预处理任务全部成功。
图3为本公开一实施例提供的数据处理方法的流程示意图。请参阅图3所示,本实施例的方法包括:
S101、调用数据处理系统中的调度管理模块对模型训练任务对应的样本数据集进行切片处理得到初始切片数据;所述初始切片数据包括一个或多个数据源的样本数据。
模型训练任务指示针对待训练模型采用样本数据集进行训练的任务,可以是数据处理系统基于用户触发操作生成。例如,数据处理系统可以向用户展示可视化交互界面,用户通过操作交互界面向数据处理系统输入指令,指示数据处理系统进行模型训练,数据处理系统接收到用户输入的指令后启动模型训练任务。其中,用户输入的指令中可以包括待训练模型的信息、样本数据集的信息、数据颗粒度(如时间窗口的大小、初始切片数据的数量、初始切片数据的数据量大小等等一项或多项信息,数据颗粒度指示了切片处理的方式)、并发数、数据预处理方式等一项或多项,其中,用户未指定的信息可以采用数据处理系统默认的配置。
数据处理系统响应用户输入的指令启动模型训练任务,读取样本数据集,并按照用户指示的数据颗粒度或者采用系统默认的配置进行切片处理。例如,在模型训练需要使用过去一年内采集的样本数据,并将一年的样本数据按照预设时间窗口(月)进行切片,得到12个初始切片数据。
其中,由于离线任务通常需要采集较长时间内的离线数据作为训练的样本数据,因此,在数据源中的数据生成后,可以每间隔预设时长从数据源将数据复制到数据处理系统的数据存储模块中进行存储,且各数据源可能采用不同数据格式存储数据,因此,数据处理系统的数据存储模块支持不同数据格式的数据。当接收到模型训练任务,可以从数据处理系统的数据存储模块中得到各数据源的样本数据。其中,数据处理系统的数据存储模块可以为数据存储系统,例如,HDFS系统。
S102、调用数据处理系统中的数据处理引擎对初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据;数据处理引擎支持读取不同数据源的数据以及对不同数据源的数据进行混合处理和预处理。
结合图1和图2所示,通过调用调度管理模块基于初始切片数据生成逻辑调度图,基于逻辑调度图和并发数调用相应数量的数据处理引擎对初始切片数据执行数据预处理,并将得到的目标切片数据添加在数据队列中。
其中,若模型训练对于训练数据的先后顺序有特殊要求,则可以按照指定的顺序构建调度逻辑图控制数据预处理的先后顺序以及控制数据队列中各目标切片数据的先后顺序。
例如,将一年的样本数据按照预设时间窗口(月)进行切片,得到12个初始切片数据,并发数为3,则调用3个数据处理引擎按照初始切片数据1至12的顺序依次执行预处理,3个数据处理引擎分别对应执行初始切片数据1至3,某个数据处理引擎执行任务结束后,可将得到的目标切片数据添加至数据队列,并启动针对初始切片数据4执行数据预处理。需要说明的是,数据队列中各目标切片数据的顺序与初始切片数据的顺序一致,假设数据处理引擎3针对初始切片数据3先执行完数据预处理,但数据处理引擎1和2未完成,则需要等到数据处理引擎1和2分别完成预处理,将目标切片数据1和2添加至数据队列之后,目标切片数据3才能够添加至数据队列中,保证数据队列中各目标切片数据具有正确的顺序。
若模型训练对于训练数据的先后顺序没有要求,则可以基于调度逻辑图调度数据处理引擎执行数据预处理任务,且按照数据处理引擎完成预处理的先后顺序向数据队列添加相应的目标切片数据。
结合图1所示,各数据处理引擎可以按照如下方式进行处理:
调用数据处理引擎包括的第一数据处理模块对初始切片数据中的第一数据进行预处理得到符合模型训练模块的数据要求的第三数据;调用数据处理引擎包括的第二数据处理模块检查初始切片数据中是否包括无需执行预处理的第二数据,并将检查到的第二数据输出给合并控制模块;调用合并控制模块对第一数据处理模块输出的第三数据与第二数据处理模块输出的第二数据进行进行合并打包添加至数据队列中。
S103、通过将目标切片数据输入至模型训练模块进行模型训练,以得到满足训练结束条件的模型。
模型训练模块中的各训练器能够分别加载待训练模型,并将从数据队列中读取的一个或多个目标切片数据输入至待训练模型中进行训练,通过不断迭代训练,直至满足训练结束条件得到训练好的模型。
待训练模型可以为任意模型,例如,图像处理模型、语音处理模型、文本处理模型、分类模型等等。
训练结束条件可以但不限于为:所有初始切片数据全部训练完成、模型迭代次数达到预设迭代次数、模型的准确度满足指定条件等等。
本实施例,通过将功能丰富的数据处理引擎引入数据处理系统用于执行丰富类型的样本数据读取、数据混合以及预处理,能够实现精细化的样本打散、混合以及预处理功能,使得模型训练框架能够支持对多种类型的数据源中的样本数据进行训练,提升模型训练效果;此外,本公开中,数据预处理和模型训练可以并行处理,提高模型训练效率。
图4为本公开另一实施例提供的数据处理方法的流程示意图。请参阅图4所示,本实施例的方法在图3所示实施例的基础上,还包括:
S104、调用调度管理模块检查数据处理引擎的执行状态。
S105、检测到数据处理引擎的执行状态为失败状态时,基于预设重启策略确定重启所述数据处理引擎重新对相应的初始切片数据进行混合处理和/或预处理,或者,结束对相应的初始切片数据进行混合处理和/或预处理。
结合前文所述,数据处理引擎中的各模块可以向调度管理模块上报执行状态使得调度管理模块基于得到的状态信息确定数据处理引擎的执行状态为失败状态或者成功,为了减小数据预处理失败对于模型训练的影响,可以在数据处理系统中部署重启策略(即预设重启策略)处理执行失败的数据预处理任务。
其中,预设重启策略可以但不限于为以下任一策略:检测到数据处理引擎执行失败时重启,或者,检测到数据处理引擎执行失败时基于数据处理系统可接受的最大失败次数确定是否重启。
其中,采用后者实现时,当检测到数据处理引擎执行失败,判断本次失败是否达到预设重启策略指示的最大失败次数;若未达到最大失败次数,则重启数据处理引擎重新对相应的初始切片数据进行预处理;若达到最大失败次数,则结束对相应的切片数据进行预处理,并将失败结果传输至模型训练模块。当样本数据量较大,且数据颗粒度越小,则可以允许一些样本数据预处理出现错误,由于这部分样本数据占比小,对于模型训练效果影响不大,因此,可以忽略,从而可以在检测到数据预处理失败时,可以不重启数据预处理任务。在一些实施例中,预设重启策略所指示的最大失败次数可根据样本数据集进行切分后得到的初始切片数据的数量与预设比例确定,或者,也可以是由用户指定,本公开对此不作限定。
可由用户根据样本数据集的大小、数据颗粒度等选择前述任一合适的方式控制数据预处理任务重启。
本实施例中,通过调度管理模块循环检测数据处理引擎的执行状态,基于执行状态保证失败的数据预处理任务能够被重启,保证样本数据的丰富性,提高模型训练效果。
可选地,在图3至图4所示实施例的基础上,为了减小存储资源浪费,还可以在训练的过程中,动态删除已经训练过的目标切片数据。其中,可以先删除最早训练过的目标切片数据,并保留一部分训练时间较近的目标切片数据,从而减小目标切片数据对存储资源的占用。
请参阅图5所示,在一个具体的实施例中,数据处理系统响应用户输入的指令,从数据处理系统的数据存储模块,如分布式文件系统(Hadoop Distributed File System,HDFS)中提取出样本数据集,创建数据流;且创建训练器以及调度管理模块;调度管理模块监听数据流的创建,获取样本数据集进行切片处理,并生成有向无环图(Directed AcyclicGraph,DAG),其中,DAG即为前文所述的调度逻辑图的一种实现方式;接下来执行DAG,数据处理引擎(如Spark)的运行时(Runtime)可以从调度管理模块的APIServer组件中读取DAG的信息以得到相应的初始切片数据执行相应的数据预处理任务得到处理好的目标切片数据,并保存至HDFS中。
基于对初始切片数据的调度,依次加载共享存储中的目标切片数据,构造新的数据流(相当于实现了数据队列),生成训练任务并向模型训练模块中的训练器交付训练数据。
此外,调度管理模块会记录数据处理引擎上报的执行状态信息,并记录至DAG中,调度管理模块通过检查DAG中记录的每个数据预处理任务对应的执行状态并按照预设重启策略重启。
示例性地,本公开还提供一种电子设备。
图6为本公开一实施例提供的电子设备的结构示意图。请参阅图6所示,本实施例提供的电子设备600包括:存储器601和处理器602。
其中,存储器601可以是独立的物理单元,与处理器602可以通过总线603连接。存储器601、处理器602也可以集成在一起,通过硬件实现等。
存储器601用于存储程序指令,处理器602调用该程序指令,执行以上任一方法实施例提供的数据处理方法。
可选地,当上述实施例的方法中的部分或全部通过软件实现时,上述电子设备600也可以只包括处理器602。用于存储程序的存储器601位于电子设备600之外,处理器602通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器602可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器602还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器601可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
本公开还提供一种可读存储介质,包括:计算机程序指令,所述计算机程序指令被电子设备的至少一个处理器执行时,使得所述电子设备实现如上任一方法实施例提供的数据处理方法。
本公开还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机实现如上任一方法实施例提供的数据处理方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
调用数据处理系统中的调度管理模块对模型训练任务对应的样本数据集进行切片处理得到初始切片数据;所述初始切片数据包括一个或多个数据源的样本数据;
调用所述数据处理系统中的数据处理引擎对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据;所述数据处理引擎支持读取不同数据源的数据以及对不同数据源的数据进行混合处理和预处理;所述混合处理用于指示打散所述初始切片数据中包含的样本数据的数据顺序;所述预处理用于指示对所述初始切片数据进行信息转换和/或样本过滤;
通过将所述目标切片数据输入至所述模型训练模块进行模型训练,以得到满足训练结束条件的模型。
2.根据权利要求1所述的方法,其特征在于,所述调用所述数据处理系统中的数据处理引擎对所述初始切片数据进行混合处理和/或预处理,包括:
调用所述数据处理引擎对所述一个或多个数据源中的数据按照时间进行排序,将基于排序结果聚合所述初始切片数据包含的样本数据;
针对各所述初始切片数据,调用所述数据处理引擎按行/按文件对所述初始切片数据包含的样本数据的数据顺序进行打散,得到混合后的初始切片数据。
3.根据权利要求1所述的方法,其特征在于,所述调用所述数据处理系统中的数据处理引擎对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据,包括:
调用所述数据处理引擎对所述初始切片数据中第一数据进行预处理得到符合模型训练模块的数据要求的第三数据;以及,检查所述初始切片数据中是否包括无需执行预处理的第二数据;
调用所述数据处理引擎将所述第三数据与检查得到的无需执行预处理的第二数据合并得到所述目标切片数据,所述第二数据符合所述模型训练模块的数据要求。
4.根据权利要求1所述的方法,其特征在于,所述通过所述调度管理模块调用数据处理引擎对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据,包括:
基于预设并发数调用所述数据处理系统中相应数量的多个数据处理引擎并行地对多个所述初始切片数据进行混合处理和/或预处理得到各所述数据处理引擎分别输出的目标切片数据。
5.根据权利要求1至4任一项所述的方法,其特征在于,还包括:
调用所述调度管理模块检查所述数据处理引擎的执行状态;
检测到所述数据处理引擎的执行状态为失败状态时,基于预设重启策略确定重启所述数据处理引擎重新对相应的所述初始切片数据进行混合处理和/或预处理或者结束对相应的所述初始切片数据进行混合处理和/或预处理。
6.根据权利要求5所述的方法,其特征在于,所述基于预设重启策略确定重启所述数据处理引擎重新对相应的所述初始切片数据进行预处理或者结束对相应的所述初始切片数据进行混合处理和/或预处理,包括:
确定本次失败是否达到所述预设重启策略指示的最大失败次数;
若达到所述最大失败次数,则重启所述数据处理引擎重新对相应的所述初始切片数据进行混合处理和/或预处理;
若未达到所述最大失败次数,则结束对相应的所述初始切片数据进行混合处理和/或预处理,并将失败结果传输至所述模型训练模块。
7.根据权利要求4所述的方法,其特征在于,所述通过将所述目标切片数据输入至所述模型训练模块进行模型训练,包括:
将多个所述数据处理引擎输出的目标切片数据按照切片处理得到多个初始切片数据的先后顺序依次输入至数据队列中;
调用所述模型训练模块从所述数据队列中读取所述目标切片数据进行模型训练。
8.根据权利要求1所述的方法,其特征在于,还包括:
在训练过程中,将所述模型训练模块训练过的目标切片数据从所述数据处理系统中删除。
9.一种数据处理装置,其特征在于,包括:
调度管理模块,用于对模型训练任务对应的样本数据集进行切片处理得到初始切片数据;所述初始切片数据包括一个或多个数据源的样本数据;
数据处理引擎,用于对所述初始切片数据进行混合处理和/或预处理得到符合模型训练模块的数据要求的目标切片数据;所述数据处理引擎支持读取不同数据源的数据以及对不同数据源的数据进行混合处理和预处理;所述混合处理用于指示打散所述初始切片数据包含的各样本数据的数据顺序;所述预处理用于指示对所述初始切片数据进行信息转换和/或样本过滤;
模型训练模块,用于基于所述目标切片数据进行模型训练,以得到满足训练结束条件的模型。
10.一种电子设备,其特征在于,包括:存储器和处理器;
所述存储器被配置为存储计算机程序指令;
所述处理器被配置为执行所述计算机程序指令,使得所述电子设备实现如权利要求1至8任一项所述的数据处理方法。
11.一种可读存储介质,其特征在于,包括:计算机程序指令;
电子设备执行所述计算机程序指令,使得所述电子设备实现如权利要求1至8任一项所述的数据处理方法。
12.一种计算机程序产品,其特征在于,电子设备运行所述计算机程序产品,使得所述电子设备实现如权利要求1至8任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211689485.0A CN115879006A (zh) | 2022-12-27 | 2022-12-27 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211689485.0A CN115879006A (zh) | 2022-12-27 | 2022-12-27 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115879006A true CN115879006A (zh) | 2023-03-31 |
Family
ID=85754818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211689485.0A Pending CN115879006A (zh) | 2022-12-27 | 2022-12-27 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115879006A (zh) |
-
2022
- 2022-12-27 CN CN202211689485.0A patent/CN115879006A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107105009B (zh) | 基于Kubernetes系统对接工作流引擎的作业调度方法和装置 | |
CN109582433B (zh) | 一种资源调度方法、装置、云计算系统及存储介质 | |
CN113535367B (zh) | 任务调度方法及相关装置 | |
WO2020258290A1 (zh) | 日志数据收集方法、日志数据收集装置、存储介质和日志数据收集系统 | |
CN110750592B (zh) | 数据同步的方法、装置和终端设备 | |
CN110750312A (zh) | 硬件资源配置方法、装置、云侧设备和存储介质 | |
CN116594757A (zh) | 利用大语言模型执行复杂任务的方法及装置 | |
CN110955640A (zh) | 跨系统数据文件的处理方法、装置、服务器和存储介质 | |
CN111026493B (zh) | 界面渲染的处理方法和装置 | |
CN112486459A (zh) | 活动页面生成方法、装置、计算机设备和可读存储介质 | |
CN103677900A (zh) | 一种计算机设备系统启动加速的方法和装置 | |
CN110750359A (zh) | 硬件资源配置方法、装置、云侧设备和存储介质 | |
CN115879006A (zh) | 数据处理方法及装置 | |
CN110019045B (zh) | 日志落地方法及装置 | |
CN115981808A (zh) | 调度方法、装置、计算机设备和存储介质 | |
CN116069500A (zh) | 一种模型训练任务处理方法、装置、电子设备及可读介质 | |
CN115114247A (zh) | 文件数据处理方法及装置 | |
CN115391004A (zh) | 一种任务编排调度系统、方法、装置及电子设备 | |
CN111881025B (zh) | 一种自动化测试任务调度方法、装置及系统 | |
CN114995982A (zh) | 任务处理方法、装置及存储介质 | |
CN115033292A (zh) | 模型训练方法及装置 | |
CN113535338A (zh) | 用于数据接入的交互方法、系统、存储介质及电子设备 | |
CN110737572A (zh) | 大数据平台资源抢占测试方法、系统、终端及存储介质 | |
CN111726418B (zh) | 云资源的调配方法、装置、终端设备及存储介质 | |
CN112835804B (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 |