CN115186738B - 模型训练方法、装置和存储介质 - Google Patents
模型训练方法、装置和存储介质 Download PDFInfo
- Publication number
- CN115186738B CN115186738B CN202210700375.3A CN202210700375A CN115186738B CN 115186738 B CN115186738 B CN 115186738B CN 202210700375 A CN202210700375 A CN 202210700375A CN 115186738 B CN115186738 B CN 115186738B
- Authority
- CN
- China
- Prior art keywords
- data
- processing
- feature calculation
- model
- subsets
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000012549 training Methods 0.000 title claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 191
- 230000008569 process Effects 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 125
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 6
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 21
- 230000006399 behavior Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013519 translation Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种模型训练方法、装置和存储介质,涉及人工智能技术领域,具体涉及深度学习等技术领域。具体实现方案为:在对模型进行训练的过程中,对模型所需要的原始数据集合进行划分,以得到多个小批量的数据子集合,并基于模型所对应的特征处理流程,并行地对多个小批量的数据子集合进行处理,以得到多个小批量的数据子集合各自对应的样本数据子集合,将样本数据子集合保存到指定存储空间中,根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。由此,并行对多个小批量的原始数据进行处理,可提高获取模型的样本数据的效率,进而提高模型训练的效率。
Description
技术领域
本公开涉及计算机技术领域,涉及人工智能技术领域,具体涉及深度学习等技术领域,尤其涉及模型训练方法、装置和存储介质。
背景技术
随着科技的不断发展,越来越多的领域采用模型来进行业务处理,例如,在自然语言处理领域中,通过模型对待处理的文本进行处理,或者,在图像处理领域中,通过图像分类模型对待处理的图像进行分类。
相关技术中,如何对模型进行训练,对于模型的快速应用是十分重要的。
发明内容
本公开提供了一种用于模型训练方法、装置和存储介质。
根据本公开的一方面,提供了一种模型训练方法,所述方法应用在电子设备中,所述方法包括:获取模型所需要的原始数据集合;对所述原始数据集合进行划分,以得到多个数据子集合;根据所述模型所对应的特征处理流程,并行地对所述多个数据子集合进行处理,以得到所述多个数据子集合各自的样本数据子集合;将所述样本数据子集合保存到指定存储空间中;根据所述指定存储空间中当前所存储的样本数据子集合,开始训练所述模型。
根据本公开的另一方面,提供了一种模型训练装置,所述装置应用在电子设备中,所述装置包括:获取模块,用于获取模型所需要的原始数据集合;划分模块,用于对所述原始数据集合进行划分,以得到多个数据子集合;并行处理模块,用于根据所述模型所对应的特征处理流程,并行地对所述多个数据子集合进行处理,以得到所述多个数据子集合各自的样本数据子集合;保存模块,用于将所述样本数据子集合保存到指定存储空间中;训练模块,用于根据所述指定存储空间中当前所存储的样本数据子集合,开始训练所述模型。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开的模型训练方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开实施例公开的模型训练方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本公开的模型训练方法。
上述申请中的一个实施例具有如下优点或有益效果:
在对模型进行训练的过程中,对模型所需要的原始数据集合进行划分,以得到多个小批量的数据子集合,并基于模型所对应的特征处理流程,并行地对多个小批量的数据子集合进行处理,以得到多个小批量的数据子集合各自对应的样本数据子集合,将样本数据子集合保存到指定存储空间中,根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。由此,并行对多个小批量的原始数据进行处理,可提高获取模型的样本数据的效率,进而提高模型训练的效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开第一实施例的示意图;
图2是根据本公开第二实施例的示意图;
图3是根据本公开第三实施例的示意图;
图4是根据本公开第四实施例的示意图;
图5是根据本公开第五实施例的示意图;
图6是根据本公开第六实施例的示意图;
图7是根据本公开第七实施例的示意图;
图8是本公开实施例的有向无环图的示例图;
图9是本公开实施例的层级图的示例图;
图10是根据本公开第八实施例的示意图;
图11是根据本公开第九实施例的示意图;
图12是用来实现本公开实施例的模型训练方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
相关技术中,对某个领域下的模型进行构建的一般过程为:在获取模型所需要的原始数据后,通过对原始数据进行清洗、转换等处理,以生成样本数据,并基于样本数据来训练模型。从原始数据到样本数据的过程通常由多个任务依次处理完成,具体而言,读取全量原始数据,顺序执行多个任务,依次完成对数据的清洗、修正、特征计算、格式转换等一系列操作,最终产出可供模型训练使用的样本数据。然而,从原始数据得到样本数据所需要的耗时比较长,并且,上述多个任务的处理过程通常是串联的,每一个任务均是对全量数据进行处理,每一个任务的失败概率叠加起来,造成整体处理的稳定性差。
为此,本申请所提供的模型训练方法,在对模型进行训练的过程中,对模型所需要的原始数据集合进行划分,以得到多个小批量的数据子集合,并基于模型所对应的特征处理流程,并行地对多个小批量的数据子集合进行处理,以得到多个小批量的数据子集合各自对应的样本数据子集合,将样本数据子集合保存到指定存储空间中,根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。由此,并行对多个小批量的原始数据进行处理,可提高获取模型的样本数据的效率,进而提高模型训练的效率。
下面参考附图描述本公开实施例的模型训练方法、装置和存储介质。
图1是根据本公开第一实施例的示意图,该实施例提供一种模型训练方法。
如图1所示,该模型训练方法可以包括:
步骤101,获取模型所需要的原始数据集合。
其中,本实施的模型训练方法的执行主体为模型训练装置,该模型训练装置可以由软件和/或硬件实现,该模型训练装置可以为电子设备,或者,可以配置在电子设备。
其中,该电子设备可以包括但不限于终端设备、服务器等,该实施例对电子设备不作具体限定。
其中,需要说明的是,模型可以为任意应用场景中的所使用的机器学习模型。例如,在图像识别场景中,模型可以为图像识别模型。又例如,在翻译场景中,模型中可以机器翻译模型。又例如,在对文本进行语义表示的场景中,上述模型可以为语义表示模型。
可以理解的是,在模型所对应的应用场景不同的情况下,在对模型进行训练时,模型所需要的原始数据是不同的,例如,在翻译场景中,模型为机器翻译模型,此时,机器翻译模型所需要的原始数据为两种翻译语言的平行文本语料。又例如,在图像识别场景中,模型可以为图像识别模型,此时,图像识别模型所需要的原始数据为原始图像。
步骤102,对原始数据集合进行划分,以得到多个数据子集合。
在一些示例性的实施方式,原始数据集合可以包括多条原始数据。
其中,每条原始数据对应有一个生成时间。
作为一种示例性的实施方式,可按照各条原始数据的生成时间,对多条原始数据进行划分,以得到多个数据子集合,其中,多个数据子集合所对应的时间区间是各不相同的。
例如,在上述模型用于对用户行为预测,此时,可将模型称为行为预测模型,假设原始数据集合中包括多条用户行为数据以及每条用户行为数据对应的生成时间,此时,可根据生成时间,对上述多条用户行为数据进行划分,以得到多个数据子集合。
其中,需要说明的是,本公开中所涉及的用户行为数据的收集、存储、使用、加工、传输、提供和公开等处理,均在征得用户同意的前提下进行,并且均符合相关法律法规的规定,且不违背公序良俗。
作为一种示例性的实施方式,可根据预设的多个时间窗口和多条原始数据各自对应的生成时间,以获取位于每个时间窗口内的原始数据,并将每个时间窗口内的原始数据作为一个数据子集合。
作为另一种示例性的实施方式,在原始数据集合包括多个原始数据的情况下,可按照每预设数量个原始数据为一组,对原始数据集合进行划分,以得到多个数据子集合。
其中,预设数量是预先设置的,例如,预设数量可以为10万、1万、2万、或者30万等,在实际应用中,可根据实际业务需求设置预设数量,该实施例对预设数量的取值不作具体限定。
例如,模型所对应的应用场景为图像识别应用场景,此时,模型可以为图像识别模型,假设图像识别模型所需要的原始数据集合中包括100万个原始图像,预设数量为10万,可将每10万个原始图像划分为一组,每一组原始数据即为一个数据子集合,此时,对原始数据集合进行划分,可以得到10个数据子集合。
在本公开的一个实施例中,为了减少特征处理过程中所消耗的计算资源,在一些实施例中,在确定原始数据集合中所读取的原始数据是全量数据的情况下,可根据模型所对应的特征处理流程进行特征处理时所需要的列字段名称,将原始数据集合中每个原始数据中除该列字段名称的取值之外的其他数值均删除,以得到处理后的原始数据集合。
步骤103,根据模型所对应的特征处理流程,并行地对多个数据子集合进行处理,以得到多个数据子集合各自的样本数据子集合。
其中,特征处理流程可以包括特征处理所需要的多个处理步骤以及多个处理步骤的执行依赖关系。
作为一种示例,特征处理流程可以包括数据清理、数据修正、数据拼接和特征计算等步骤。
步骤104,将样本数据子集合保存到指定存储空间中。
在一些实施例中,为了可以在同一个电子设备中实现特征处理以及模型训练,使得在训练模型时,可在电子设备中直接获取样本数据,作为一种示例,上述指定存储空间可以为电子设备中的共享存储空间。
步骤105,根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。
本公开实施例的模型训练方法,在对模型进行训练的过程中,对模型所需要的原始数据集合进行划分,以得到多个小批量的数据子集合,并基于模型所对应的特征处理流程,并行地对多个小批量的数据子集合进行处理,以得到多个小批量的数据子集合各自对应的样本数据子集合,将样本数据子集合保存到指定存储空间中,根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。由此,并行对多个小批量的原始数据进行处理,可提高获取模型的样本数据的效率,进而提高模型训练的效率。
可以理解的是,在一些实施例中,为了可以对模型进行准确训练,通常需要将样本数据集合达到一定数量后,才能开始对模型进行训练,因此,在本公开的一个实施例中,在根据指定存储空间中当前所存储的样本数据子集合,开始训练模型之前,确定指定存储空间中当前存储的样本数据子集合的数量大于或者等于预设数量阈值。
作为一种示例性的实施方式,可检测指定存储空间中当前存储的样本数据子集合的数量,并判断该数量是否大于或者等于预设数量阈值,如果该数量大于或者等于预设数量阈值,则确定指定存储空间中当前存储的样本数据子集合的数量大于或者等于预设数量阈值。
其中,需要说明的是,上述预设数量阈值是预先设置的,例如,上述预设数量阈值可以为6个,5个或者8个等。其中,可以理解的是,在实际应用中,可根据实际训练需求,来设置预设数量阈值的取值,该实施例对此不作具体限定。
在对海量的原始数据进行获取的过程中,相关技术中,通常是按行读入全量的原始数据,然后,从中提取出进行特征处理时所需要的数据,这样造成读入了大量的无用数据,浪费机器带宽。为了解决该技术问题,本实施例在原始数据表中以列式存储的方式对各条原始数据进行存储,并从原始数据表中获取模型所需要的原始数据集合时,直接读取模型所需要的列数据,以提升数据获取的性能。下面结合图2对该过程进行示例性描述。
如图2所示,上述步骤101获取模型所需要的原始数据集合的一种可能实现方式,可以包括:
步骤201,确定模型所对应的特征处理流程进行特征处理时所需要的列字段名称。
在本公开的一个实施例中,获取模型所对应的特征处理流程,并确定特征处理流程中各个处理步骤对原始数据进行处理时所需要的列字段名称,并根据各个处理步骤所需要的列字段名称,确定出特征处理流程进行特征处理时所需要的列字段名称。
步骤202,确定与模型对应的原始数据表,其中,原始数据表中以列式存储方式存储多条原始数据。
在本公开的一个实施例中,上述原始数据表可以存储在存储集群中,或者其他存储设备中,可根据实际业务需求设置原始数据表的存储位置,该实施例对此不作具体限定。
步骤203,从原始数据表中读取列字段名称对应的列数据,并将读取到的列数据中属于同一条原始数据中的列数据进行组合,以得到原始数据集合。
在示例实施例中,无需从原始数据表中读取全量的原始数据,而是直接从原始数据表中读取模型的特征处理流程进行特征处理时所需要的列数据,降低了数据读取量,可大幅提升数据读取的性能,提高获取原始数据集合的效率。
在本公开的一个实施例中,为了进一步提高获取原始数据集合的效率,可结合电子设备中的网卡、图形处理器(graphics processing unit,GPU)和中央处理器(centralprocessing unit,CPU)对分批读取到的原始数据进行流水线处理,以进一步提高获取原始数据集合的效率,下面结合如图3所示,对步骤203的一种可能实现方式进行示例性描述。
如图3所示,可以包括:
步骤301,通过网卡从原始数据表中,分批读取列字段名称对应的列数据。
其中,每批次读取的列数据的数量可以是预先设置的,在实际应用中,可根据实际业务需求,来设置每批次读取的列数据的数量,该实施例对此不作具体限定。
步骤302,将每批次列数据发送至GPU,以通过GPU对每批次列数据进行解码处理。
其中,解码处理可以包括对每次列数据进行解密处理、解压缩或者格式转换等操作中的一种或者多种,该实施例对此不作具体限定。
步骤303,将每批次列数据的解码处理结果发送至CPU,以通过CPU对解码处理结果中属于同一条原始数据中的列数据进行组合,以得到每批次列数据的原始数据子集合。
其中,可以理解的是,网卡与GPU之间是可以通信的,GPU和CPU之间是可以通信的。
作为一种示例,为了使得网卡与GPU之间可进行高效地数据传输,网卡与GPU之间可通过高速串行计算机扩展总线标准(Peripheral Component Interconnect Express,PCIE)总线进行通信。
作为一种示例,为了使得CPU和GPU之间可进行高效地数据传输,CPU和GPU之间可通过PICE总线进行通信。
步骤304,对所有批次列数据的原始数据子集合进行合并,以得到原始数据集合。
例如,该模型可以为用户行为预测模型,原始数据表中保存有多条用户原始行为数据,假设分三批对原始数据表中原始行为数据的指定的列字段名称的列数据进行读取,在网卡读取完第一批次列数据后,网卡可将第一批次列数据通过PICE总线传输给GPU,GPU可对该第一批次列数据进行解码处理,并在解码处理完成后,GPU通过PICE总线将第一批次列数据的解码结果发送给CPU。对应地,CPU对第一批次列数据的解码结果进行处理,以得到第一批次列数据对应的原始数据子集合。其中,需要说明的是,在与对第一批次列数据进行解码处理的过程同步,网卡继续读取第二批次列数据。对应地,网卡在第二批数据列数据读取完成后,可将第二批次列数据通过PICE总线传输给GPU。对应地,GPU可对该第二批次列数据进行解码处理。对应地,在解码处理完成后,GPU通过PICE总线将第二批次列数据的解码结果发送给CPU。对应地,CPU对第二批次列数据的解码结果进行处理,以得到第二批次列数据对应的原始数据子集合。其中,需要说明的是,在与对第二批次列数据进行解码处理的过程同步,网卡继续读取第三批次数据,并在读取完成后,网卡可将第三批次列数据通过PICE总线传输给GPU。对应地,GPU可对该第三批次列数据进行解码处理,并在解码处理完成后,GPU通过PICE总线将第三批次列数据的解码结果发送给CPU。对应地,CPU对第三批次列数据的解码结果进行处理,以得到第三批次列数据对应的原始数据子集合。在获取三个批次列数据对应的原始数据子集合后,可对三个批次列数据对应的原始数据子集合进行合并,以得到原始数据集合。
在本示例实施例中,通过电子设备中的网卡、GPU和CPU三者,实现了对分批读取的列数据进行流水线处理,可大幅提高数据读取的性能,进而可进一步提高获取模型所需要的原始数据集合的效率。
图4是根据本公开第四实施例的示意图。
下面结合图4对该实施例对模型训练方法的进一步细化。
如图4所示,该模型训练方法可以包括:
步骤401,获取模型所需要的原始数据集合,其中,原始数据集合包括多条原始数据。
其中,需要说明的是,关于步骤401的具体实现方式可参见上述实施例的相关描述,此处不再赘述。
步骤402,按照各条原始数据的生成时间,对多条原始数据进行划分,以得到多个数据子集合,其中,多个数据子集合所对应的时间区间是各不相同的。
步骤403,根据时间区间的时间先后顺序,确定对多个数据子集合进行处理的顺序。
作为一种示例性的实施方式,可根据时间区间的时间先后顺序,对多个数据子集合进行排序,以得到排序结果,其中,排序结果所指示的顺序,即为对多个数据子集合进行处理的顺序。
步骤404,在按照顺序对多个数据子集合进行处理的过程中,针对处理到的当前数据子集合,在特征处理流程中的第一数据处理步骤对当前数据子集合处理完成时,开始根据特征处理流程对与当前数据子集合相邻的下一个数据子集合进行处理,直至处理到最后一个数据子集合。
步骤405,将各个数据子集合的样本数据子集合保存到指定存储空间中。
其中,需要说明的是,上述数据子集合对应的样本数据子集合是通过特征处理流程对数据子集合进行特征处理所得到的。
步骤406,根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。
其中,需要说明的是,关于步骤406的具体实现方式,可参见上述实施例中的相关描述,此处对此不再赘述。
在示例实施例中,按照各条原始数据的生成时间,对原始数据集合中的多条原始数据进行划分,以得到多个数据子集合,并根据特征处理流程,对多个数据子集合进行流水线处理,以得到多个数据子集合所对应的样本数据子集合,并将样本数据子集合保存到指定存储空间,并根据指定存储空间中当前存储的样本数据子集合,开始对模型进行训练。由此,在一个电子设备上完成了原始数据地特征处理以及模型训练,并且,在特征处理时使用流水线方式对原始数据进行处理,可提高获取样本数据的效率,并且采用流水线的方式对原始数据进行处理,可提高数据处理的稳定性,减少人工介入的次数,提高了模型训练的稳定性以及效率。
为了可以清楚理解本公开,下面结合图5对该实施例的方法进行示例性描述。其中,需要说明的是,本实施例中以特征处理过程是设置在电子设备的特征处理框架中为例进行描述的。
如图5所示,可以包括:
步骤501,可读入原始数据。
其中,可从存储集群中读入原始数据。
其中,关于读入原始数据的过程,与上述对获取原始数据集合的过程类似,该实施例对此不再赘述。
步骤502,在特征处理框架中按照流水线对原始数据进行数据清洗、数据修正、数据拼接、特征计算等步骤。
例如,对原始数据进行划分,以得到三个数据子集合,基于流水线对三个数据子集合进行数据清洗、数据修正、数据拼接、特征计算等步骤的过程,如图5所示。
步骤503,可将特征处理框架输出的样本数据保持到指定存储空间。
其中,指定存储空间可以为本地磁盘或者本地共享存储空间等。
其中,可以理解的是,在实际应用中,可根据实际需求,来预先设置该指定存储空间,该实施例对此不作具体限定。
步骤504,从指定存储空间中获取样本数据,对模型进行训练。
基于上述任意一个实施例的基础上,在示例实施例中,电子设备可以包括处理器CPU和图形处理器GPU,本示例实施例中特征处理流程可以包括特征计算步骤,特征计算步骤包括多个特征计算子步骤以及多个特征计算子步骤之间的执行依赖关系,为了可以提高获取特征计算步骤的处理效率,在本公开的一个实施例中,多个特征计算子步骤中的第一特征计算子步骤被配置在GPU上运行,多个第二特征计算子步骤中除第一特征计算子步骤之外的第二特征计算子步骤被配置在CPU上运行。
在一些示例性的实施方式,对于每个特征计算子步骤,可确定该特征计算子步骤是否为可在GPU上运行的特征计算子步骤,如果是,可将该特征计算子步骤作为第一特征计算子步骤,并将该第一特征计算子步骤配置在GPU上,以使得在GPU上运行该第一特征计算子步骤。在另一些示例性的实施方式中,如果确定该特征计算子步骤可在CPU上运行的特征计算子步骤,可将该特征计算子步骤作为第二特征计算子步骤,并将该第二特征计算子步骤配置在GPU上,以使得在CPU上运行该第二特征计算子步骤。
其中,可以理解的是,针对每个数据子集合,在与特征计算步骤相邻的上一个处理步骤完成对该数据子集合地处理后,可获取上一个处理步骤的处理结果,并在特征计算步骤对该处理结果进行处理的过程中,可按照特征计算步骤中多个特征计算子步骤的依赖执行顺序,依次采用特征计算子步骤对处理结果进行处理。对应地,对于执行到的当前特征计算子步骤,在确定该当前特征计算子步骤被配置在GPU上运行的情况下,获取与该当前特征计算子步骤相邻的上一个特征计算子步骤,可获取为该上一个特征计算子步骤所预先分配的显存空间,从该显存空间中,获取与该上一个特征计算子步骤的处理结果,并在GPU上通过当前特征计算子步骤对上一个特征计算子步骤的处理结果进行处理,以得到当前特征计算子步骤的处理结果。重复上述步骤,直至得到最后一个特征计算子步骤的处理结果。其中,需要说明的是,对于当前特征计算子步骤的处理结果,可将当前特征计算子步骤的处理结果存储到为该当前特征计算子步骤所预先分配的显存空间中。
为了可以提高获取多个数据子集合各自对应的样本数据子集合的效率,如图6所示,根据模型所对应的特征处理流程,并行地对多个数据子集合进行处理,以得到多个数据子集合各自的样本数据子集合的一种可能实现方式,可以包括:
步骤601,获取特征计算步骤对应的有向无环图,其中,有向无环图是以特征计算步骤中的各个特征计算子步骤为节点,各个特征计算子步骤之间的执行依赖关系为有向边建立的。
步骤602,确定出特征处理流程中执行顺序与特征计算步骤相邻的上一个数据处理步骤。
步骤603,针对每个数据子集合,获取上一个数据处理步骤对数据子集合进行处理后所得到的至少一个处理结果。
步骤604,根据至少一个处理结果和有向无环图,确定特征计算步骤的特征计算结果。
步骤605,根据特征计算步骤的特征计算结果,确定数据子集合的样本数据子集合。
在本示例实施例中,结合特征计算步骤对应的有向无环图和与特征计算步骤相邻的上一个处理步骤的处理结果,快速确定特征计算步骤的特征计算结果,继而可快速确定出数据子集合对应的样本数据子集合。
在本公开的一些实施例中,有可能存在多个特征子步骤同时依赖同一个特征子步骤的处理结果的情况,为了可以提高获取多个数据子集合各自对应的样本数据子集合的效率,在多个特征子步骤所依赖的同一个特征子步骤处理结束后,可控制依赖该特征子步骤的多个特征子步骤并行对该特征子步骤的处理结果进行处理。
在本公开的一个实施例中,为了可以快速得到特征计算步骤的特征计算结果,如图7所示,根据至少一个处理结果和有向无环图,确定特征计算步骤的特征计算结果的一种可能实现方式,可以包括:
步骤701,根据有向无环图中各个节点之间的执行依赖关系,确定有向无环图对应的层级图。
其中,层级图包括多层级,各层级包括至少一个节点,其中,第i层级中的第一目标节点与第i-1层级中的第二目标节点之间具有执行依赖关系,其中,第一目标节点为i层级中的至少一个节点中的一个,第二目标节点为第i-1层级中的至少一个节点中的一个,i为大于1,且小于N的整数,N的取值为层级图中的层级的总数。
步骤702,针对至少一个处理结果中的每个处理结果,将处理结果输入到第j层级中的第三目标节点,其中,第三目标节点为第j层级中以处理结果为输入的节点,其中,j的初始值为1。
步骤703,将第j层级中的第三目标节点的输出结果输入到第j+1层级中的第四目标节点,其中,第四目标节点为j+1层级中与第三目标节点具有执行依赖关系的节点。
步骤704,对j进行加1处理,在j+1小于N的情况下,跳转至将第j层级中的第一目标节点的输出结果输入到第j+1层级中的第二目标节点的步骤,直至j+1等于N。
步骤705,根据层级图中的叶子结点的输出结果,确定特征计算步骤的特征计算结果。
在本示例实施例中,确定出与有向环图的层级图,并逐层级地执行节点,同一个层级的多个节点可进行并行处理,因此,可快速确定出层级图中叶子节点的输出结果,继而可提高获取特征计算步骤的特征计算结果的效率。
例如,特征计算步骤对应的有向无环图,如图8所示,其中,图8中的有向无环图中不仅示意出了计算节点,还示意出了计算节点、与输入节点和输出节点之间的关系,其中,计算节点中的各个节点与特征计算步骤中的各个特征计算子步骤对应。其中,图8中的输入节点分别为节点1和节点2;计算节点分别为节点3、节点4、节点5、节点6、节点7、节点8、节点9、节点10和节点11;输出节点分别为节点12、节点13、节点14和节点15。其中,图8中的任一有向边关联的两个节点包括始点和终点,有向边的方向表示依赖执行关系。需要说明的是,有向边的终点依赖于起点执行。对应地,可结合有向无环图中各节点之间的依赖执行关系以及各个节点是否可在GPU上运行,可确定出该有向环图对应的层级图。其中,层级图的示例图,如图9所示,其中,图9中虚线A的上部分中的节点1、节点2、节点3和节点7、节点10和节点14均被配置在CPU上执行,虚线A的下部分中的节点4、节点5、节点6、节点8、节点9、节点15、节点11、节点12和节点13均被配置在GPU上执行。其中,需要说明的是,在层级图中的节点进行执行的时候,从第一层级开始逐层遍历节点,直至遍历到最后一个层级。在对同一个层级的节点进行遍历的时候,可根据预先为该层级的节点所设置的遍历顺序,对该层级中的节点进行遍历。在将层级图中的节点遍历完后,可根据层级图中的叶子结点的输出结果,确定出特征计算步骤的特征处理结果。对于图9中的叶子结点为节点12、节点13、节点14和节点15。对应地,可根据节点12、节点13、节点14和节点15各自的输出结果,确定出特征计算步骤的特征处理结果。
为了实现上述实施例,本公开还提供一种模型训练装置。
图10是根据本公开第八实施例的示意图,该实施例提供一种模型训练装置。其中,需要说明的是,该模型训练装置应用在电子设备中。
如图10所示,该模型训练装置10可以包括获取模块101、划分模块102、并行处理模块103、保存模块104和训练模块105,其中:
获取模块101,用于获取模型所需要的原始数据集合。
划分模块102,用于对原始数据集合进行划分,以得到多个数据子集合。
并行处理模块103,用于根据模型所对应的特征处理流程,并行地对多个数据子集合进行处理,以得到多个数据子集合各自的样本数据子集合。
保存模块104,用于将样本数据子集合保存到指定存储空间中。
训练模块105,用于根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。
本公开实施例的模型训练装置,在对模型进行训练的过程中,对模型所需要的原始数据集合进行划分,以得到多个小批量的数据子集合,并基于模型所对应的特征处理流程,并行地对多个小批量的数据子集合进行处理,以得到多个小批量的数据子集合各自对应的样本数据子集合,将样本数据子集合保存到指定存储空间中,根据指定存储空间中当前所存储的样本数据子集合,开始训练模型。由此,并行对多个小批量的原始数据进行处理,可提高获取模型的样本数据的效率,进而提高模型训练的效率。
在本公开的一个实施例中,如图11所示,该模型训练装置11可以包括:获取模块111、划分模块112、并行处理模块113、保存模块114、训练模块115和确定模块116,其中,获取模块111可以包括第一确定单元1111、第二确定单元1112和处理单元1113;并行处理模块113可以包括第一获取单元1131、第三确定单元1132、第二获取单元1133、第四确定单元1134和第五确定单元1135。
其中,需要说明的是,关于划分模块112、保存模块114和训练模块115的详细描述可参见上述图10中的划分模块101、保存模块104和训练模块105的说明,此处不再进行描述。
在本公开的一个实施例中,获取模块111,包括:
第一确定单元1111,用于确定模型所对应的特征处理流程进行特征处理时所需要的列字段名称;
第二确定单元1112,用于确定与模型对应的原始数据表,其中,原始数据表中以列式存储方式存储多条原始数据;
处理单元1113,用于从原始数据表中读取列字段名称对应的列数据,并将读取到的列数据中属于同一条原始数据中的列数据进行组合,以得到原始数据集合。
在本公开的一个实施例中,电子设备包括网卡、图形处理器GPU和中央处理器CPU,处理单元1113,具体用于:
通过网卡从原始数据表中,分批读取列字段名称对应的列数据;
将每批次列数据发送至GPU,以通过GPU对每批次列数据进行解码处理;
将每批次列数据的解码处理结果发送至CPU,以通过CPU对解码处理结果中属于同一条原始数据中的列数据进行组合,以得到每批次列数据的原始数据子集合;
对所有批次列数据的原始数据子集合进行合并,以得到原始数据集合。
在本公开的一个实施例中,确定模块116,用于确定指定存储空间中当前存储的样本数据子集合的数量大于或者等于预设数量阈值。
在本公开的一个实施例中,原始数据集合包括多条原始数据,划分模块112,具体用于:按照各条原始数据的生成时间,对多条原始数据进行划分,以得到多个数据子集合,其中,多个数据子集合所对应的时间区间是各不相同的。
在本公开的一个实施例中,并行处理模块113,具体用于:根据时间区间的时间先后顺序,确定对多个数据子集合进行处理的顺序;在按照顺序对多个数据子集合进行处理的过程中,针对处理到的当前数据子集合,在特征处理流程中的第一数据处理步骤对当前数据子集合处理完成时,开始根据特征处理流程对与当前数据子集合相邻的下一个数据子集合进行处理,直至处理到最后一个数据子集合。
在本公开的一个实施例中,电子设备包括处理器CPU和图形处理器GPU,特征处理流程包括特征计算步骤,特征计算步骤包括多个特征计算子步骤以及多个特征计算子步骤之间的执行依赖关系,多个特征计算子步骤中的第一特征计算子步骤被配置在GPU上运行,多个第二特征计算子步骤中除第一特征计算子步骤之外的第二特征计算子步骤被配置在CPU上运行。
在本公开的一个实施例中,并行处理模块113可以包括:
第一获取单元1131,用于获取特征计算步骤对应的有向无环图,其中,有向无环图是以特征计算步骤中的各个特征计算子步骤为节点,各个特征计算子步骤之间的执行依赖关系为有向边建立的;
第三确定单元1132,用于确定出特征处理流程中执行顺序与特征计算步骤相邻的上一个数据处理步骤;
第二获取单元1133,用于针对每个数据子集合,获取上一个数据处理步骤对数据子集合进行处理后所得到的至少一个处理结果;
第四确定单元1134,用于根据至少一个处理结果和有向无环图,确定特征计算步骤的特征计算结果;
第五确定单元1135,用于根据特征计算步骤的特征计算结果,确定数据子集合的样本数据子集合。
在本公开的一个实施例中,第四确定单元1134,具体用于:根据有向无环图中各个节点之间的执行依赖关系,确定有向无环图对应的层级图,其中,层级图包括多层级,各层级包括至少一个节点,其中,第i层级中的第一目标节点与第i-1层级中的第二目标节点之间具有执行依赖关系,其中,第一目标节点为i层级中的至少一个节点中的一个,第二目标节点为第i-1层级中的至少一个节点中的一个,i为大于1,且小于N的整数,N的取值为层级图中的层级的总数;针对至少一个处理结果中的每个处理结果,将处理结果输入到第j层级中的第三目标节点,其中,第三目标节点为第j层级中以处理结果为输入的节点,其中,j的初始值为1;将第j层级中的第三目标节点的输出结果输入到第j+1层级中的第四目标节点,其中,第四目标节点为j+1层级中与第三目标节点具有执行依赖关系的节点;对j进行加1处理,在j+1小于N的情况下,跳转至将第j层级中的第一目标节点的输出结果输入到第j+1层级中的第二目标节点的步骤,直至j+1等于N;根据层级图中的叶子结点的输出结果,确定特征计算步骤的特征计算结果。
其中,需要说明的是,上述对模型训练方法的解释说明也适用于本实施例中的模型训练装置,该实施例对此不再赘述。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质和一种计算机程序产品。
图12示出了可以用来实施本公开的实施例的示例电子设备1200的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图12所示,该电子设备1200可以包括计算单元1201,其可以根据存储在只读存储器(ROM)1202中的计算机程序或者从存储单元1208加载到随机访问存储器(RAM)1203中的计算机程序,来执行各种适当的动作和处理。在RAM 1203中,还可存储设备1200操作所需的各种程序和数据。计算单元1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
设备1200中的多个部件连接至I/O接口1205,包括:输入单元1206,例如键盘、鼠标等;输出单元1207,例如各种类型的显示器、扬声器等;存储单元1208,例如磁盘、光盘等;以及通信单元1209,例如网卡、调制解调器、无线通信收发机等。通信单元1209允许设备1200通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1201可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1201的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1201执行上文所描述的各个方法和处理,例如模型训练方法。例如,在一些实施例中,模型训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1208。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1202和/或通信单元1209而被载入和/或安装到设备1200上。当计算机程序加载到RAM 1203并由计算单元1201执行时,可以执行上文描述的模型训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1201可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型训练方法。
本文中以上描述的装置和技术的各种实施方式可以在数字电子电路装置、集成电路装置、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上装置的装置(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程装置上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储装置、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储装置、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行装置、装置或设备使用或与指令执行装置、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体装置、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的装置和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的装置和技术实施在包括后台部件的计算装置(例如,作为数据服务器)、或者包括中间件部件的计算装置(例如,应用服务器)、或者包括前端部件的计算装置(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的装置和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算装置中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将装置的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机装置可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器可以是云服务器,也可以为分布式装置的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (12)
1.一种模型训练方法,所述方法包括:
获取模型所需要的原始数据集合;
对所述原始数据集合进行划分,以得到多个数据子集合;
根据所述模型所对应的特征处理流程,并行地对所述多个数据子集合进行处理,以得到所述多个数据子集合各自的样本数据子集合;
将所述样本数据子集合保存到指定存储空间中;
根据所述指定存储空间中当前所存储的样本数据子集合,开始训练所述模型;
在所述方法应用在电子设备中的情况下,所述电子设备包括网卡、图形处理器GPU和中央处理器CPU,所述获取模型所需要的原始数据集合,包括:
确定所述模型所对应的特征处理流程进行特征处理时所需要的列字段名称;
确定与所述模型对应的原始数据表,其中,所述原始数据表中以列式存储方式存储多条原始数据;
通过所述网卡从所述原始数据表中,分批读取所述列字段名称对应的列数据;
将每批次列数据发送至所述GPU,以通过所述GPU对每批次列数据进行解码处理;
将每批次列数据的解码处理结果发送至所述CPU,以通过所述CPU对所述解码处理结果中属于同一条原始数据中的列数据进行组合,以得到每批次列数据的原始数据子集合;
对所有批次列数据的原始数据子集合进行合并,以得到所述原始数据集合;
所述特征处理流程包括特征计算步骤,所述特征计算步骤包括多个特征计算子步骤以及所述多个特征计算子步骤之间的执行依赖关系,所述多个特征计算子步骤中的第一特征计算子步骤被配置在所述GPU上运行,所述多个特征计算子步骤中除所述第一特征计算子步骤之外的第二特征计算子步骤被配置在所述CPU上运行;
其中,所述根据所述模型所对应的特征处理流程,并行地对所述多个数据子集合进行处理,以得到所述多个数据子集合各自的样本数据子集合,包括:
根据所述多个数据子集合所对应的时间区间的时间先后顺序,确定对所述多个数据子集合进行处理的顺序;
在按照所述顺序对多个数据子集合进行处理的过程中,针对处理到的当前数据子集合,在所述特征处理流程中的第一数据处理步骤对所述当前数据子集合处理完成时,开始根据所述特征处理流程对与所述当前数据子集合相邻的下一个数据子集合进行处理,直至处理到最后一个数据子集合;
针对每个所述数据子集合,根据所述特征计算步骤对所述数据子集合计算得到的特征计算结果,确定所述数据子集合的样本数据子集合。
2.根据权利要求1所述的方法,其中,在所述根据所述指定存储空间中当前所存储的样本数据子集合,开始训练所述模型之前,所述方法还包括:
确定所述指定存储空间中当前存储的样本数据子集合的数量大于或者等于预设数量阈值。
3.根据权利要求1所述的方法,其中,所述原始数据集合包括多条原始数据,所述对所述原始数据集合进行划分,以得到多个数据子集合,包括:
按照各条原始数据的生成时间,对所述多条原始数据进行划分,以得到多个数据子集合,其中,所述多个数据子集合所对应的时间区间是各不相同的。
4.根据权利要求1所述的方法,其中,所述特征计算结果的确定方式如下:
获取所述特征计算步骤对应的有向无环图,其中,所述有向无环图是以所述特征计算步骤中的各个特征计算子步骤为节点,各个特征计算子步骤之间的执行依赖关系为有向边建立的;
确定出所述特征处理流程中执行顺序与所述特征计算步骤相邻的上一个数据处理步骤;
针对每个所述数据子集合,获取所述上一个数据处理步骤对所述数据子集合进行处理后所得到的至少一个处理结果;
根据所述至少一个处理结果和所述有向无环图,确定所述特征计算步骤的特征计算结果。
5.根据权利要求4所述的方法,其中,所述根据所述至少一个处理结果和所述有向无环图,确定所述特征计算步骤的特征计算结果,包括:
根据所述有向无环图中各个节点之间的执行依赖关系,确定所述有向无环图对应的层级图,其中,所述层级图包括多层级,各层级包括至少一个节点,其中,第i层级中的第一目标节点与第i-1层级中的第二目标节点之间具有执行依赖关系,其中,所述第一目标节点为所述i层级中的至少一个节点中的一个,所述第二目标节点为第i-1层级中的至少一个节点中的一个,i为大于1,且小于N的整数,所述N的取值为所述层级图中的层级的总数;
针对所述至少一个处理结果中的每个处理结果,将所述处理结果输入到第j层级中的第三目标节点,其中,所述第三目标节点为所述第j层级中以所述处理结果为输入的节点,其中,j的初始值为1;
将第j层级中的第三目标节点的输出结果输入到第j+1层级中的第四目标节点,其中,所述第四目标节点为所述第j+1层级中与所述第三目标节点具有执行依赖关系的节点;
对j进行加1处理,在j+1小于N的情况下,跳转至将第j层级中的第一目标节点的输出结果输入到第j+1层级中的第二目标节点的步骤,直至j+1等于N;
根据所述层级图中的叶子结点的输出结果,确定所述特征计算步骤的特征计算结果。
6.一种模型训练装置,所述装置包括:
获取模块,用于获取模型所需要的原始数据集合;
划分模块,用于对所述原始数据集合进行划分,以得到多个数据子集合;
并行处理模块,用于根据所述模型所对应的特征处理流程,并行地对所述多个数据子集合进行处理,以得到所述多个数据子集合各自的样本数据子集合;
保存模块,用于将所述样本数据子集合保存到指定存储空间中;
训练模块,用于根据所述指定存储空间中当前所存储的样本数据子集合,开始训练所述模型;
在所述装置应用在电子设备中的情况下,所述电子设备包括网卡、图形处理器GPU和中央处理器CPU,所述获取模块,包括:
第一确定单元,用于确定所述模型所对应的特征处理流程进行特征处理时所需要的列字段名称;
第二确定单元,用于确定与所述模型对应的原始数据表,其中,所述原始数据表中以列式存储方式存储多条原始数据;
处理单元,用于通过所述网卡从所述原始数据表中,分批读取所述列字段名称对应的列数据;将每批次列数据发送至所述GPU,以通过所述GPU对每批次列数据进行解码处理;将每批次列数据的解码处理结果发送至所述CPU,以通过所述CPU对所述解码处理结果中属于同一条原始数据中的列数据进行组合,以得到每批次列数据的原始数据子集合;对所有批次列数据的原始数据子集合进行合并,以得到所述原始数据集合;
所述特征处理流程包括特征计算步骤,所述特征计算步骤包括多个特征计算子步骤以及所述多个特征计算子步骤之间的执行依赖关系,所述多个特征计算子步骤中的第一特征计算子步骤被配置在所述GPU上运行,所述多个特征计算子步骤中除所述第一特征计算子步骤之外的第二特征计算子步骤被配置在所述CPU上运行;
其中,所述并行处理模块,具体用于:
根据所述多个数据子集合所对应的时间区间的时间先后顺序,确定对所述多个数据子集合进行处理的顺序;
在按照所述顺序对多个数据子集合进行处理的过程中,针对处理到的当前数据子集合,在所述特征处理流程中的第一数据处理步骤对所述当前数据子集合处理完成时,开始根据所述特征处理流程对与所述当前数据子集合相邻的下一个数据子集合进行处理,直至处理到最后一个数据子集合;
针对每个所述数据子集合,根据所述特征计算步骤对所述数据子集合计算得到的特征计算结果,确定所述数据子集合的样本数据子集合。
7.根据权利要求6所述的装置,其中,所述装置还包括:
确定模块,用于确定所述指定存储空间中当前存储的样本数据子集合的数量大于或者等于预设数量阈值。
8.根据权利要求6所述的装置,其中,所述原始数据集合包括多条原始数据,所述划分模块,具体用于:
按照各条原始数据的生成时间,对所述多条原始数据进行划分,以得到多个数据子集合,其中,所述多个数据子集合所对应的时间区间是各不相同的。
9.根据权利要求6所述的装置,其中,所述装置还包括:特征计算结果确定模块,所述特征计算结果确定模块,包括:
第一获取单元,用于获取所述特征计算步骤对应的有向无环图,其中,所述有向无环图是以所述特征计算步骤中的各个特征计算子步骤为节点,各个特征计算子步骤之间的执行依赖关系为有向边建立的;
第三确定单元,用于确定出所述特征处理流程中执行顺序与所述特征计算步骤相邻的上一个数据处理步骤;
第二获取单元,用于针对每个所述数据子集合,获取所述上一个数据处理步骤对所述数据子集合进行处理后所得到的至少一个处理结果;
第四确定单元,用于根据所述至少一个处理结果和所述有向无环图,确定所述特征计算步骤的特征计算结果。
10.根据权利要求9所述的装置,其中,所述第四确定单元,具体用于:
根据所述有向无环图中各个节点之间的执行依赖关系,确定所述有向无环图对应的层级图,其中,所述层级图包括多层级,各层级包括至少一个节点,其中,第i层级中的第一目标节点与第i-1层级中的第二目标节点之间具有执行依赖关系,其中,所述第一目标节点为所述i层级中的至少一个节点中的一个,所述第二目标节点为第i-1层级中的至少一个节点中的一个,i为大于1,且小于N的整数,所述N的取值为所述层级图中的层级的总数;
针对所述至少一个处理结果中的每个处理结果,将所述处理结果输入到第j层级中的第三目标节点,其中,所述第三目标节点为所述第j层级中以所述处理结果为输入的节点,其中,j的初始值为1;
将第j层级中的第三目标节点的输出结果输入到第j+1层级中的第四目标节点,其中,所述第四目标节点为所述第j+1层级中与所述第三目标节点具有执行依赖关系的节点;
对j进行加1处理,在j+1小于N的情况下,跳转至将第j层级中的第一目标节点的输出结果输入到第j+1层级中的第二目标节点的步骤,直至j+1等于N;
根据所述层级图中的叶子结点的输出结果,确定所述特征计算步骤的特征计算结果。
11. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700375.3A CN115186738B (zh) | 2022-06-20 | 2022-06-20 | 模型训练方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210700375.3A CN115186738B (zh) | 2022-06-20 | 2022-06-20 | 模型训练方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115186738A CN115186738A (zh) | 2022-10-14 |
CN115186738B true CN115186738B (zh) | 2023-04-07 |
Family
ID=83514830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210700375.3A Active CN115186738B (zh) | 2022-06-20 | 2022-06-20 | 模型训练方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115186738B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116090006B (zh) * | 2023-02-01 | 2023-09-08 | 北京三维天地科技股份有限公司 | 一种基于深度学习的敏感识别方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214775A (zh) * | 2020-10-09 | 2021-01-12 | 平安国际智慧城市科技股份有限公司 | 对图数据的注入式攻击方法、装置、介质及电子设备 |
CN113361574A (zh) * | 2021-05-27 | 2021-09-07 | 北京百度网讯科技有限公司 | 数据处理模型的训练方法、装置、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107179839A (zh) * | 2017-05-23 | 2017-09-19 | 三星电子(中国)研发中心 | 用于终端的信息输出方法、装置及设备 |
US11295236B2 (en) * | 2018-12-10 | 2022-04-05 | International Business Machines Corporation | Machine learning in heterogeneous processing systems |
CN114004383A (zh) * | 2020-07-14 | 2022-02-01 | 华为技术有限公司 | 时间序列预测模型的训练方法、时间序列预测方法及装置 |
CN112561078B (zh) * | 2020-12-18 | 2021-12-28 | 北京百度网讯科技有限公司 | 分布式的模型训练方法及相关装置 |
CN112884086B (zh) * | 2021-04-06 | 2022-08-30 | 北京百度网讯科技有限公司 | 模型训练方法、装置、设备、存储介质以及程序产品 |
CN113808044B (zh) * | 2021-09-17 | 2022-11-01 | 北京百度网讯科技有限公司 | 加密掩膜确定方法、装置、设备以及存储介质 |
CN114357242A (zh) * | 2021-12-20 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 基于召回模型的训练评估方法及装置、设备、存储介质 |
CN114357105B (zh) * | 2022-03-10 | 2022-06-10 | 北京百度网讯科技有限公司 | 地理预训练模型的预训练方法及模型微调方法 |
-
2022
- 2022-06-20 CN CN202210700375.3A patent/CN115186738B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112214775A (zh) * | 2020-10-09 | 2021-01-12 | 平安国际智慧城市科技股份有限公司 | 对图数据的注入式攻击方法、装置、介质及电子设备 |
CN113361574A (zh) * | 2021-05-27 | 2021-09-07 | 北京百度网讯科技有限公司 | 数据处理模型的训练方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115186738A (zh) | 2022-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573992B2 (en) | Method, electronic device, and storage medium for generating relationship of events | |
CN112560496A (zh) | 语义分析模型的训练方法、装置、电子设备及存储介质 | |
CN107301170B (zh) | 基于人工智能的切分语句的方法和装置 | |
CN113361578B (zh) | 图像处理模型的训练方法、装置、电子设备及存储介质 | |
CN111522967A (zh) | 知识图谱构建方法、装置、设备以及存储介质 | |
CN114357105A (zh) | 地理预训练模型的预训练方法及模型微调方法 | |
CN112528641A (zh) | 建立信息抽取模型的方法、装置、电子设备和可读存储介质 | |
CN113641805A (zh) | 结构化问答模型的获取方法、问答方法及对应装置 | |
CN117371508A (zh) | 模型压缩方法、装置、电子设备以及存储介质 | |
CN113641829A (zh) | 图神经网络的训练与知识图谱的补全方法、装置 | |
CN115186738B (zh) | 模型训练方法、装置和存储介质 | |
CN113344214B (zh) | 数据处理模型的训练方法、装置、电子设备及存储介质 | |
CN117992598B (zh) | 基于大模型的需求响应方法、装置、介质及设备 | |
CN113361574A (zh) | 数据处理模型的训练方法、装置、电子设备及存储介质 | |
CN113590774A (zh) | 事件查询方法、装置以及存储介质 | |
CN114897666B (zh) | 图数据存储、访问、处理方法、训练方法、设备及介质 | |
CN117688946A (zh) | 基于大模型的意图识别方法、装置、电子设备和存储介质 | |
CN116401372A (zh) | 知识图谱表示学习方法、装置、电子设备及可读存储介质 | |
CN114817476A (zh) | 语言模型的训练方法、装置、电子设备和存储介质 | |
CN115759233B (zh) | 模型的训练方法、图数据处理方法、装置及电子设备 | |
CN113836291B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN114255427B (zh) | 视频理解方法、装置、设备以及存储介质 | |
CN113011490B (zh) | 模型训练方法、装置及电子设备 | |
CN115223177A (zh) | 一种文本识别方法、装置、设备及存储介质 | |
CN113962382A (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 |