本公开涉及计算机技术领域,特别涉及一种数据处理方法、数据处理装置和计算机可读存储介质。
背景技术:
由于机器学习技术在金融、广告、推荐系统和用户行为分析等多个方面的应用不断取得成功,越来越多的企业期望借助机器学习技术来提升业务运行的效率和质量。
但是,机器学习模型的构建是一个复杂而耗时的过程,需要尝试不同的算法。而且,每种算法都有多个超参数需要根据具体的数据和任务目标进行合理的设置。
在相关技术中,主要是基于专家知识的模型选择和超参数调试。即,基于数据的探索分析和人类专家的超参数调试的经验,针对具体任务选择不同的算法模型,进行多次试验、对比分析;根据实验和分析结果,寻找在验证集上表现良好的模型和超参数设置。
技术实现要素:
本公开的发明人发现上述相关技术中存在如下问题:超参数的确定过程依赖人工因素,导致得到的机器学习模型的数据处理性能较差。
鉴于此,本公开提出了一种数据处理技术方案,能够提高机器学习模型的数据处理性能。
根据本公开的一些实施例,提供了一种数据处理方法,包括:根据待处理数据,确定待训练机器学习模型及其相应的第一超参数搜索空间;在第一超参数搜索空间中,采样候选超参数;根据候选超参数,利用第一训练数据集对待训练机器学习模型进行训练;重新采样候选超参数,根据重新采样的候选超参数重复上述训练过程,直到训练后的待训练机器学习模型满足迭代停止条件,以获取训练完毕的机器学习模型;利用训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,确定待训练机器学习模型及其相应的第一超参数搜索空间包括:确定多个待训练机器学习模型,以获取多个训练完毕的机器学习模型的及其相应的候选超参数。
在一些实施例中,对待处理数据进行处理包括:根据各相应的候选超参数,确定融合超参数用于处理待处理数据。
在一些实施例中,在第一超参数搜索空间中采样候选超参数包括:为每个待训练机器学习模型,分别确定相应的第一超参数搜索空间;在各相应的第一超参数搜索空间中确定候选超参数,分别用于训练相应的待训练机器学习模型。
在一些实施例中,对待处理数据进行处理包括:将多个训练完毕的机器学习模型中性能指标最高的机器学习模型确定为候选机器学习模型;针对候选机器学习模型,重新采样候选超参数,重复上述训练过程,直到训练后的候选机器学习模型满足迭代停止条件,以获取训练完毕的候选机器学习模型;利用训练完毕的候选机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,对待处理数据进行处理包括:根据训练完毕的机器学习模型的性能指标,对第一超参数搜索空间进行缩小或放大处理;利用处理后的第一超参数搜索空间,重新训练训练完毕的机器学习模型,用于处理待处理数据。
在一些实施例中,对待处理数据进行处理包括:利用扩大后的第一训练数据集,对训练完毕的机器学习模型进行再次训练;利用再次训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,待训练机器学习模型为根据第二超参数搜索空间训练完毕的机器学习模型,第一超参数搜索空间为进行缩小或放大处理后的第二超参数搜索空间。
在一些实施例中,待训练机器学习模型为根据第二训练数据集训练完毕的机器学习模型,第一训练数据集为进行扩大后的第二训练数据集。
在一些实施例中,确定待训练机器学习模型及其相应的第一超参数搜索空间包括:根据用户在提供的配置页面中的选择,确定待训练机器学习模型及其相应的第一超参数搜索空间。
在一些实施例中,配置页面用于用户选择候选超参数的采样方法、训练用的容器镜像、训练用的硬件类型、训练用的硬件数量、并发执行数、第一训练数据集、迭代停止条件中的至少一个。
根据本公开的另一些实施例,提供一种数据处理装置,包括:确定单元,用于根据待处理数据,确定待训练机器学习模型及其相应的第一超参数搜索空间;采样单元,用于在第一超参数搜索空间中采样候选超参数,重新采样候选超参数,直到训练后的待训练机器学习模型满足迭代停止条件;训练单元,用于根据候选超参数,利用第一训练数据集对待训练机器学习模型进行训练,根据重新采样的候选超参数重复上述训练过程,直到训练后的待训练机器学习模型满足迭代停止条件,以获取训练完毕的机器学习模型;处理单元,用于利用训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,确定单元确定多个待训练机器学习模型,以获取多个训练完毕的机器学习模型的及其相应的候选超参数。
在一些实施例中,确定单元根据各相应的候选超参数,确定融合超参数用于处理待处理数据。
在一些实施例中,确定单元为每个待训练机器学习模型,分别确定相应的第一超参数搜索空间;采样单元在各相应的第一超参数搜索空间中确定候选超参数,分别用于训练相应的待训练机器学习模型。
在一些实施例中,确定单元将多个训练完毕的机器学习模型中性能指标最高的机器学习模型确定为候选机器学习模型;针对候选机器学习模型,采样单元重新采样候选超参数,训练单元重复上述训练过程,直到训练后的候选机器学习模型满足迭代停止条件,以获取训练完毕的候选机器学习模型;处理单元利用训练完毕的候选机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,处理单元根据训练完毕的机器学习模型的性能指标,对第一超参数搜索空间进行缩小或放大处理;采样单元利用处理后的第一超参数搜索空间重新确定候选超参数,训练单元重新训练训练完毕的机器学习模型,用于处理待处理数据。
在一些实施例中,训练单元利用扩大后的第一训练数据集,对训练完毕的机器学习模型进行再次训练;处理单元利用再次训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,待训练机器学习模型为根据第二超参数搜索空间训练完毕的机器学习模型,第一超参数搜索空间为进行缩小或放大处理后的第二超参数搜索空间。
在一些实施例中,待训练机器学习模型为根据第二训练数据集训练完毕的机器学习模型,第一训练数据集为进行扩大后的第二训练数据集。
在一些实施例中,确定单元根据用户在提供的配置页面中的选择,确定待训练机器学习模型及其相应的第一超参数搜索空间。
在一些实施例中,配置页面用于用户选择候选超参数的采样方法、训练用的容器镜像、训练用的硬件类型、训练用的硬件数量、并发执行数、第一训练数据集、迭代停止条件中的至少一个。
根据本公开的又一些实施例,提供一种数据处理装置,包括:存储器;和耦接至存储器的处理器,处理器被配置为基于存储在存储器装置中的指令,执行上述任一个实施例中的数据处理方法。
根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的数据处理方法。
在上述实施例中,能够根据待处理的任务,在一定的第一超参数搜索空间中对机器学习模型的超参进行自动搜索,从而完成机器学习模型的训练训练哦用于处理任务。这样,可以实现超参数的自动优化,避免了人工因素的干扰,从而提高了机器学习模型的数据处理性能。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开:
图1示出本公开的数据处理方法的一些实施例的流程图;
图2示出本公开的数据处理装置的一些实施例的示意图;
图3示出本公开的数据处理方法的一些实施例的示意图;
图4示出本公开的数据处理方法的另一些实施例的示意图;
图5示出本公开的数据处理装置的一些实施例的框图;
图6示出本公开的数据处理装置的另一些实施例的框图;
图7示出本公开的数据处理装置的又一些实施例的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
如前所述,相关技术极度依赖于算法工程师的机器学习专业知识和超参数调优经验,而且多次试验耗时费力。这就导致业务智能化发展对机器学习模型的大量、敏捷需求难以得到高效、及时的满足。因此,需要招聘大量的机器学习专业人才,导致人工成本高昂。
另外,相关技术中的超参数搜索工具包的模型构建、第一超参数搜索空间的定义、管理、模型的输出复用以及整个试验的过程缺乏规范化管理,过程繁琐,导致产出效率低下。
针对上述技术问题,在一些实施例中,本公开通过集成完整的自动机器学习方案,实现模型超参数的自动搜索优化,从而解决机器学习模型构建构成中人工模型超参数调优耗时费力问题。
在一些实施例中,本公开设计一套完整的自动机器学习系统,对机器学习模型超参数搜索、模型的迭代优化以及与模型开发周边环境协作等繁琐流程和环节以及自动机器学习任务进行了统一的管理和优化。这样,可以提升机器学习模型产出效率和质量。
在一些实施例中,本公开设计一种免代码(codefree)构建机器学习模型的模式及其技术方案。这样,可以减少对大量机器学习专业人才的依赖,降低人力资源成本。
例如,可以通过下面的实施例来实现本公开的技术方案。
图1示出本公开的数据处理方法的一些实施例的流程图。
如图1所示,该方法包括:步骤110,确定第一超参数搜索空间;步骤120,采样候选超参数;步骤130,训练机器学习模型;步骤140,判断是否完成训练;和步骤150,处理待处理数据。
在步骤110中,根据待处理数据,确定待训练机器学习模型及其相应的第一超参数搜索空间。
在一些实施例中,可以确定多个待训练机器学习模型,以获取多个训练完毕的机器学习模型的及其相应的候选超参数。例如,可以为每个待训练机器学习模型,分别确定相应的第一超参数搜索空间。
在一些实施例中,根据用户在提供的配置页面中的选择,确定待训练机器学习模型及其相应的第一超参数搜索空间。例如,配置页面还可以用于用户选择候选超参数的采样方法、训练用的容器镜像、训练用的硬件类型、训练用的硬件数量、并发执行数、第一训练数据集、迭代停止条件中的至少一个。
在步骤120中,在第一超参数搜索空间中,采样候选超参数。例如,可以采用超参数优化算法采样候选超参数。超参数优化算法可以是贝叶斯算法,如smac(sequentialmodel-basedalgorithmconfiguration,基于序列模型的算法配置)算法、tpe(tree-structuredparzenestimator,树结构参数估计)算法等。
在一些实施例中,在为每个待训练机器学习模型分别确定了相应的第一超参数搜索空间的情况下,可以在各相应的第一超参数搜索空间中确定候选超参数,分别用于训练相应的待训练机器学习模型。
在步骤130中,根据候选超参数,利用第一训练数据集对待训练机器学习模型进行训练。例如,第一训练数据集可以包括训练集和验证集。
在步骤140中,重新采样候选超参数,根据重新采样的候选超参数重复上述训练过程,直到训练后的待训练机器学习模型满足迭代停止条件,以获取训练完毕的机器学习模型。
例如,迭代停止条件可以根据训练后的待训练机器学习模型的性能指标确定;迭代停止条件还可以根据迭代的次数或训练的时长确定。
在步骤150中,利用训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。例如,可以利用训练完毕的机器学习模型处理物品的特征数据,从而实现物品分类等;可以利用训练完毕的机器学习模型处理人脸的特征数据,从而实现身份识别等。
在一些实施例中,在步骤110中确定了多个待训练机器学习模型,因此可以获取多个训练完毕的机器学习模型的及其相应的候选超参数。在这种情况下,可以根据各相应的候选超参数,确定融合超参数用于处理待处理数据。例如,可以对各相应的候选超参数进行加权平均,以确定融合超参数。
在一些实施例中,在获取多个训练完毕的机器学习模型的及其相应的候选超参数的情况下,可以将多个训练完毕的机器学习模型中性能指标最高的机器学习模型确定为候选机器学习模型。针对候选机器学习模型,重新采样候选超参数,重复上述训练过程,直到训练后的候选机器学习模型满足迭代停止条件,以获取训练完毕的候选机器学习模型。利用训练完毕的候选机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,根据训练完毕的机器学习模型的性能指标,对第一超参数搜索空间进行缩小或放大处理。利用处理后的第一超参数搜索空间,重新采样候选超参数以便重新训练训练完毕的机器学习模型,用于处理待处理数据。
在一些实施例中,利用扩大后的第一训练数据集,对训练完毕的机器学习模型进行再次训练;利用再次训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。例如,可以先采用中等大小的第一训练数据集训练机器学习模型。完成训练后,可以利用上等大小的第一训练数据集对机器学习模型进行继续训练。
在一些实施例中,待训练机器学习模型可以是利用上述任一个实施例训练完毕的机器学习模型。可以根据更改后的参数搜索空间或者训练数据集中的至少一项,利用上述任一个实施例对待训练机器学习模型进行重新训练,从而提高机器学习模型的性能。
例如,待训练机器学习模型为根据第二超参数搜索空间训练完毕的机器学习模型,第一超参数搜索空间为进行缩小或放大处理后的第二超参数搜索空间。
例如,待训练机器学习模型为根据第二训练数据集训练完毕的机器学习模型,第一训练数据集为进行扩大后的第二训练数据集。
在上述实施例中,能够根据待处理的任务,在一定的第一超参数搜索空间中对机器学习模型的超参进行自动搜索,从而完成机器学习模型的训练训练用于处理任务。这样,可以实现超参数的自动优化,避免了人工因素的干扰,从而提高了机器学习模型的数据处理性能。
图2示出本公开的数据处理装置的一些实施例的示意图。
如图2所示,数据处理装置可以包括自动机器学习任务设计器、第一超参数搜索空间模块、超参数优化引擎、超参数优化算法仓库、模型训练评估引擎、模型仓库、自动机器学习任务监控面板等功能模块。这些功能模块与git仓库、容器镜像仓库、大数据集群、模型推理引擎进行有机整合。
git仓库为开源的分布式版本控制系统,主要用来对机器学习算法代码及其它相关文件进行版本管理。
在一些实施例中,在自动机器学习任务设计器设计具体自动学习任务时,git仓库可以提供核心算法逻辑。该核心算法逻辑的代码能够读取加载超参数优化引擎,通过自动搜索得到的超参数组合(候选超参数)。
容器镜像仓库主要为不同硬件平台(如中央处理器、图形处理器、服务器等)上的自动机器学习、模型推理等任务,提供容器镜像及镜像管理。例如,容器镜像仓库可以提供算法模型运行所需的基础算法库(基础算子库)、依赖包等软件环境,以及网络通信等基础配置。
在一些实施例中,自动机器学习任务设计器设计具体自动学习任务,在选择相应的容器镜像后,超参数优化引擎和模型训练评估引擎,通过容器镜像仓库提供的镜像启动一个或多个容器。启动的容器即可以执行超参数搜索任务,无需运维搭建运行环境。
自动机器学习(automl)任务设计器可以为模型构建人员提供设计自动机器学习任务的直观、可视化配置界面。模型构建人员可以通过配置界面进行各种配置。例如,模型构建人员可以通过配置界面从git仓库中选择待搜索超参数的机器学习模型代码。
在一些实施例中,模型构建人员可以通过配置界面从容器镜像仓库中选择自动机器学习任务运行的容器镜像。例如,可以选择安装好的scikit-learn、xgboost(extremegradientboosting,极端梯度提升)、lightgbm(轻量级梯度提升)、catboost(gradientboostingwithcategoricalfeaturessupport,分类特征支持的梯度提升)等基础算法库及依赖包的容器镜像。
在一些实施例中,模型构建人员可以通过配置界面从第一超参数搜索空间管理模块中选择根据具体任务定义的第一超参数搜索空间定义文件(存储有第一超参数搜索空间的相关信息)。
在一些实施例中,模型构建人员可以通过配置界面从大数据集群的元数据管理模块(模型元知识库)中选择模型训练需要的加工好的训练集和验证集。例如,模型构建人员可以通过配置界面配置特征变量和目标变量。
在一些实施例中,模型构建人员可以通过配置界面设置自动学习任务运行的硬件资源类型和数量、并发执行数、运行终止条件(如迭代次数、运行时长阈值、模型精度阈值等)、期望保存的性能最优模型文件以及超参数组合结果的数量等。例如,硬件资源类型可以包括cpu(centralprocessingunit,中央处理器)、gpu(graphicsprocessingunit,图形处理器)。
在一些实施例中,模型构建人员可以通过配置界面从超参数优化算法仓库选择超参数优化算法。例如,系统默认会根据学术界的公开评测,选择当前最优算法;系统还可以定期根据超参数优化算法仓库中集成的算法更新默认值。
第一超参数搜索空间管理模块包含第一超参数搜索空间数据库、超参数组合数据库两个数据库。第一超参数搜索空间管理模块提供对具体自动机器学习任务的搜索空间定义文件的管理,以及对超参数优化引擎搜索得到的最优多个超参数组合结果的管理。
在一些实施例中,第一超参数搜索空间管理模块的管理功能包括搜索空间的定义、编辑、可视化对比等。管理功能还可以包括不同超参数组合及其对应的模型性能的可视化对比、超参数组合的定义和编辑等。
超参数优化引擎根据自动机器学习任务设计器的自动机器学习任务设计,基于超参数优化算法启动对应超参数优化任务。
在一些实施例中,超参数优化引擎从定义的第一超参数搜索空间中采样超参数组合,作为参数传递到机器学习模型代码中。超参数优化引擎将给定超参数的机器学习模型训练任务分发到模型训练评估引擎中进行训练。收集模型在验证集上的性能表现,连同本轮采样的超参数组合反馈给超参数优化任务。超参数优化任务迭代更新模型参数,然后从定义的第一超参数搜索空间中采样新一轮的超参数组合。
重复上述步骤,如此循环直到满足自动机器学习任务设计器中设置的终止条件。最后,超参数优化引擎将模型性能最优的多个超参数组合保存至第一超参数搜索空间管理模块的超参数组合数据库中。
超参数优化算法仓库中存储有按照超参数优化引擎标准接口定义的超参数优化算法的管理仓库。
在一些实施例中,超参数优化算法仓库中包含系统提供默认超参数优化算法。例如,默认超参数优化算法可以包括贝叶斯优化算法、进化类算法、基于强化学习的算法等;还可以包括用户根据标准接口自定义的优化算法。
模型训练评估引擎基于kubernetes,调度、分配资源和任务。
在一些实施例中,模型训练评估引擎提供模型训练评估所需的弹性硬件资源,以及基于自动机器学习任务设计器中配置的容器镜像启动的容器。
在一些实施例中,模型训练评估引擎接收超参数优化引擎分发的模型训练评估任务;从大数据集群中加载自动机器学习任务设计器中配置的训练集和验证集,进行模型的训练和权重参数的更新;将模型训练过程的监控信息反馈至自动机器学习任务监控面板。
例如,监控信息包括具体模型采用的超参数组合、模型迭代更新过程中模型在训练集和验证集上的性能表现、运行时长、运行状态中的至少一项。
在一些实施例中,模型训练评估引擎将模型性能最优的多个模型、权重参数及模型元数据信息保存至模型仓库中。
模型仓库是保存有通过具体自动机器学习任务,学习得到的模型性能最优的多个模型、权重参数、模型元数据信息的管理仓库。
在一些实施例中,模型仓库提供模型元数据信息的预览对比、模型的多维度分类、排序、搜索等功能。
自动机器学习(automl)任务监控面板提供具体自动机器学习任务模型的训练过程信息的可视化展示、对比。例如,训练过程信息可以包括模型采用的超参数组合、模型迭代更新过程中模型在训练集和验证集上的性能表现、运行时长、运行状态、对硬件资源的使用率等中的至少一项。
在一些实施例中,模型构建人员可结合自身专业知识,通过对模型性能表现,及其对应的超参数组合、第一超参数搜索空间分析,确定模型学习指导意见。型学习指导意见可以指导第一超参数搜索空间管理模块中第一超参数搜索空间的定义优化,以及自动机器学习任务设计器中相关参数的设置。
大数据集群是多类型数据及其元数据的存储、管理平台,可以为模型训练评估引擎提供训练集和验证集。大数据集群还可以为模型推理平台(引擎)提供待推理数据(待处理数据)。
模型推理平台用于将模型仓库中的训练好的模型部署上线,提供离线或在线服务的平台。
在一些实施例中,可以通过webui(webuserinterface,网络用户界面)实现自动机器学习任务设计器中的配置页面和自动机器学习任务监控面板。
在一些实施例中,可以对cpu、gpu和memory(存储器)等资源的动态调度和弹性伸缩。
在一些实施例中,可以通过ceph和hdfs(hadoopdistributedfilesystem,hadoop分布式文件系统)等实现相关数据的分布式存储。
在一些实施例中,模型构建人员基于本公开的技术方案,可便捷地完成自动机器学习任务的设计、管理,实现模型超参数的自动搜索和优化,提升模型产出效率和质量。例如,可以通过图3中的实施例来实现上述技术方案。
图3示出本公开的数据处理方法的一些实施例的示意图。
如图3所示,用户(如模型构建人员)开发好需要进行超参数优化的机器学习模型代码,提交至git仓库。
在自动机器学习任务设计器中根据系统页面提示,完成第一超参数搜索空间的定义和自动机器学习任务相关参数的配置,然后提交任务。例如,用户可以配置硬件资源、软件环境、执行方式、终止条件、输入输出的相关配置等。
系统后台基于自动机器学习任务设计器中任务的具体参数配置,启动超参数优化引擎,并在模型训练评估引擎中,启动相应的模型训练、评估作业。例如,可以通过模型仓库和模型元数据仓库对机器学习模型进行初始化;还可以从容器镜像仓库中获取执行训练的容器镜像。
在一些实施例中,超参数优化引擎可以通过超参数优化算法仓库选择超参数优化算法;模型训练评估引擎可以通过大数据集群获取训练、评估数据。
超参数优化引擎和模型训练评估引擎相互通信、交换参数。例如,超参数优化引擎向模型训练评估引擎进行任务分发;模型训练评估引擎向超参数优化引擎进行结果反馈。超参数优化引擎和模型训练评估引擎可以通过kubernetes实现。
在一些实施例中,超参数优化引擎和模型训练评估引擎将运行过程状态反馈到自动机器学习任务监控面板。用户可以通过自动机器学习任务监控面板直到超参数调整。例如,可以调整第一超参数搜索空间的大小、超参数优化算法等。
上述模型训练步骤可以多次进行,直至获取最优的超参数组合和训练好的模型,无需模型构建人员干预。
将最优的超参数组合(topn超参数)和训练好的模型(topn模型),分别存储至第一超参数搜索空间管理模块中的超参数组合数据库和模型仓库。
在一些实施例中,可以将模型仓库中的训练好的模型在模型推理平台进行部署。用户可以通过客户端向模型推理平台发送数据处理请求,并获取数据处理应答。
在一些实施例中,由于部分机器学习构建场景的机器学习pipeline(管道)的复杂性以及超参数优化算法的局限性,在有限的硬件资源和模型超参数自动搜索优化时长下,最终输出的最优解可能难以到达理想的效果。
针对这种情况下,可以结合机器学习专家知识,进一步增强模型性能。例如,可以通过“人机协作”的模式,采用以下部分或全部可选操作。
在一些实施例中,通过自动机器学习任务监控面板,机器学习专家可以分析、对比上一版本自动机器学习任务搜索的不同超参数组合及其对应的模型性能评估指标。上一版本自动机器学习任务可以是已经完成的机器学习模型训练任务。
可以结合模型性能评估指标和专家知识,对第一超参数搜索空间的定义进行优化。例如,优化可以包括连续搜索空间超参数的缩放,离散超参数的枚举值的增删改,超参数优化算法的变更等处理。
在一些实施例中,为了充分利用历史训练模型,可以在模型初始化自动机器学习任务设计器的过程中,跳转到模型仓库模块;通过模型仓库模块预览上一版本自动机器学习任务的模型训练结果及其性能评估指标。
例如,可以自动选择性能最优的模型,来初始化新版本自动机器学习任务,从而“热启动”超参数优化引擎分发到模型训练评估引擎上的模型训练任务。这样,可以加快超参数搜索优化的速度。
在一些实施例中,在自动机器学习任务设计器设计新版本自动机器学习任务时,可以将上一版本自动机器学习任务搜索到的最优n个超参数组合,配置更大规模的第一训练数据集,以进一步提升模型性能。例如,还可以在结合机器学习专家知识优化的第一超参数搜索空间的基础上,配置更大规模的第一训练数据集。
这样,相当于采取对机器学习模型进行多次训练的方式,将有限的资源预算(硬件资源、可接受的学习时长、带标注标签的第一训练数据集等)结合专家知识合理的分配,在初步搜索学习阶段采用较少的资源进行较大范围搜索。并且,在缩小范围后,可以分配更多的资源预算,在优化筛选后的范围内进一步搜索,从而减少总体的自动机器学习的时间。
在一些实施例中,选择以上部分或全部可选操作后,基于自动机器学习任务设计器中任务的具体参数配置启动超参数优化引擎,进行自动模型超参数优化。
在一些实施例中,可以在无需模型构建人员编写代码的情况下,训练机器学习模型。即,实现免代码(codefree)的自动机器学习。例如,可以通过图4中的实施例实现上述技术方案。
图4示出本公开的数据处理方法的另一些实施例的示意图。
如图4所示,模型构建人员无需编写代码,只需在自动机器学习任务设计器中主要配置相关参数。
例如,相关参数可以包括自动学习任务的目标类型(分类、回归等)。相关参数还可以包括硬件资源类型(cpu、gpu等)及其数量、并发执行数、运行终止条件(如迭代次数、运行时长阈值、模型精度阈值等)、期望保存的性能最优模型文件、超参数组合结果的数量等。超参数组合结果的数量,即在需要输出多个训练好的机器学习模型及其超参数的情况下,训练好的机器学习模型的数量。
相关参数还可以包括从大数据集群的元数据管理模块中选择的模型训练需要的加工好的训练集和验证集。还可以包括从大数据集群的元数据管理模块中选择的模型训练需要的特征变量和目标变量。
用户提交自动学习任务(automl任务),用户不可见的系统后台引擎迭代运行自动学习任务。例如,可以将运行时长、运行状态等任务执行信息反馈至自动机器学习任务监控面板。用户通过任务执行信息指导自动机器学习任务设计器对候选超参数的采样。
将模型性能最优的n个模型、权重参数、超参数及模型元数据信息(模型文件大小、性能指标、创建时间等)保存至模型仓库中。
该模式的关键在于,系统后台引擎部分包含两个子引擎:超参数优化引擎、模型训练评估引擎。不同之处在于,与超参数优化引擎关联的超参数优化算法仓库中机器学习任务的pipeline自动构建、pipeline第一超参数搜索空间的设计、优化算法的设计。
在一些实施例中,机器学习pipeline生成可以通过基础算子库选择构建pipeline的基础算子,以生成pipeline。例如,基础算子库集成有scikit-learn中的分类类算子、回归类算子、数据预处理类算子、数据清洗类算子等。基础算子库还可以提供标准化接口,对外开放以便集成开源算子。
在一些实施例中,pipeline可以包括分类、回归、自定义三种类型。一个机器学习任务的pipeline可以包括分类算子或回归算子,还可以包括数据清洗、数据预处理中的至少一项。从基础算子库选择相应的基础算子,即可完成pipeline的构建。
例如,分类算子和回归算子的选择存在互斥关系,其它算子之间不存在互斥关系。数据清洗类和数据预处理类算子具有数据类型(类别变量、离散变量、连续变量等)适应性。
在一些实施例中,可以生成多个pipeline,一个pipeline可以对应一个待训练机器学习模型。可以根据每个pipeline包含的算子,配置pipeline级别的第一超参数搜索空间。即为每个pipeline配置一个相应的第一超参数搜索空间。
在一些实施例中,对于的超参数空间,可以基于其理论范围和学术界对分类或回归算子在多项公开数据集上的评测进行超参数空间适当缩小,预置于系统中。例如,可以根据pipeline的算子构成,从预置超参数空间进行查询组合,构成最终的第一超参数搜索空间。
在一些实施例中,基于学术界公开评测,分别对分类、回归类任务提供超参数优化算法仓库中的默认超参数优化算法设置。还可以根据学术界最新进展定期更新默认设置。例如,可以在自动机器学习任务监控面板的高级配置中,由模型构建人员自主配置默认设置。配置方式可以包括单个或多个优化算法的组合两种方式。
在一些实施例中,通过机器学习pipeline学习pipeline的参数。例如,可以基于上述四种基础算子,系统后台自动定义机器学习pipeline、最终的第一超参数搜索空间、超参数优化算法。
超参数优化引擎采样超参数组合后,将具体机器学习模型训练任务分发到模型训练评估引擎中进行训练。收集本轮训练的模型性能反馈后,进行下一轮训练的迭代。如此循环,直到达到迭代停止条件。最后,将模型性能最优的n个模型、权重参数、超参数、模型元数据信息保存至模型仓库和模型源数据仓库中。
上述实施例中,对自动机器学习任务设计器、第一超参数搜索空间管理模块、超参数优化引擎、超参数优化算法仓库、模型训练评估引擎、模型仓库、自动机器学习任务监控面板等功能模块,进行松耦合的连接交互。通过各功能模块对机器学习模型超参数搜索、模型的迭代优化、与模型开发周边环境协作等繁琐流程和环节进行了统一的管理和优化。
上述实施例中,将机器学习模型超参数自动搜索优化与机器学习技术人员的专业知识融合,并进行了人机交互设计。这样,可以进一步提升模型效果。
上述实施例中,为减少机器学习模型构建过程中对专业技术人才专业知识和超参数调优经验的依赖,提出了“免代码”构建机器学习模型的模式及其技术方案。模型构建人员无需开发代码,只需配置模型学习任务的具体目标(如分类或回归等)、相关约束条件以及模型训练集和验证集,系统后台自动完成模型的构建和超参数的搜索,并将最优的n个模型保存至模型仓库。
图5示出本公开的数据处理装置的一些实施例的框图。
如图5所示,数据处理装置5包括确定单元51、采样单元52、训练单元53、处理单元54。
确定单元51根据待处理数据,确定待训练机器学习模型及其相应的第一超参数搜索空间。
在一些实施例中,确定单元51确定多个待训练机器学习模型,以获取多个训练完毕的机器学习模型的及其相应的候选超参数。
在一些实施例中,确定单元51根据各相应的候选超参数,确定融合超参数用于处理待处理数据。
在一些实施例中,确定单元51根据用户在提供的配置页面中的选择,确定待训练机器学习模型及其相应的第一超参数搜索空间。
在一些实施例中,配置页面用于用户选择候选超参数的采样方法、训练用的容器镜像、训练用的硬件类型、训练用的硬件数量、并发执行数、第一训练数据集、迭代停止条件中的至少一个。
采样单元52在第一超参数搜索空间中采样候选超参数,重新采样候选超参数,直到训练后的待训练机器学习模型满足迭代停止条件。
训练单元53根据候选超参数,利用第一训练数据集对待训练机器学习模型进行训练,根据重新采样的候选超参数重复上述训练过程,直到训练后的待训练机器学习模型满足迭代停止条件,以获取训练完毕的机器学习模型。
处理单元54利用训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,确定单元51为每个待训练机器学习模型,分别确定相应的第一超参数搜索空间;采样单元53在各相应的第一超参数搜索空间中确定候选超参数,分别用于训练相应的待训练机器学习模型。
在一些实施例中,确定单元51将多个训练完毕的机器学习模型中性能指标最高的机器学习模型确定为候选机器学习模型;针对候选机器学习模型,采样单元重新采样候选超参数,训练单元53重复上述训练过程,直到训练后的候选机器学习模型满足迭代停止条件,以获取训练完毕的候选机器学习模型;处理单元54利用训练完毕的候选机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,处理单元54根据训练完毕的机器学习模型的性能指标,对第一超参数搜索空间进行缩小或放大处理;采样单元52利用处理后的第一超参数搜索空间重新确定候选超参数,训练单元53重新训练训练完毕的机器学习模型,用于处理待处理数据。
在一些实施例中,训练单元53利用扩大后的第一训练数据集,对训练完毕的机器学习模型进行再次训练;处理单元54利用再次训练完毕的机器学习模型及其相应的候选超参数,对待处理数据进行处理。
在一些实施例中,待训练机器学习模型为根据第二超参数搜索空间训练完毕的机器学习模型,第一超参数搜索空间为进行缩小或放大处理后的第二超参数搜索空间。
在一些实施例中,待训练机器学习模型为根据第二训练数据集训练完毕的机器学习模型,第一训练数据集为进行扩大后的第二训练数据集。
在上述实施例中,能够根据待处理的任务,在一定的第一超参数搜索空间中对机器学习模型的超参进行自动搜索,从而完成机器学习模型的训练训练哦用于处理任务。这样,可以实现超参数的自动优化,避免了人工因素的干扰,从而提高了机器学习模型的数据处理性能。
图6示出本公开的数据处理装置的另一些实施例的框图。
如图6所示,该实施例的数据处理装置6包括:存储器61以及耦接至该存储器61的处理器62,处理器62被配置为基于存储在存储器61中的指令,执行本公开中任意一个实施例中的数据处理方法。
其中,存储器61例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序、数据库以及其他程序等。
图7示出本公开的数据处理装置的又一些实施例的框图。
如图7所示,该实施例的数据处理装置7包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的数据处理方法。
存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序以及其他程序等。
数据处理装置7还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730、740、750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口。存储接口750为sd卡、u盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的数据处理方法、数据处理装置和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
1.一种数据处理方法,包括:
根据待处理数据,确定待训练机器学习模型及其相应的第一超参数搜索空间;
在所述第一超参数搜索空间中,采样候选超参数;
根据所述候选超参数,利用第一训练数据集对所述待训练机器学习模型进行训练;
重新采样候选超参数,根据重新采样的候选超参数重复上述训练过程,直到训练后的所述待训练机器学习模型满足迭代停止条件,以获取训练完毕的机器学习模型;
利用所述训练完毕的机器学习模型及其相应的候选超参数,对所述待处理数据进行处理。
2.根据权利要求1所述的数据处理方法,其中,所述确定待训练机器学习模型及其相应的第一超参数搜索空间包括:
确定多个待训练机器学习模型,以获取多个训练完毕的机器学习模型及其相应的候选超参数;
所述对所述待处理数据进行处理包括:
根据各相应的候选超参数,确定融合超参数用于处理所述待处理数据。
3.根据权利要求2所述的数据处理方法,其中,所述在所述第一超参数搜索空间中采样候选超参数包括:
为每个待训练机器学习模型,分别确定相应的第一超参数搜索空间;
在各相应的第一超参数搜索空间中确定候选超参数,分别用于训练相应的待训练机器学习模型。
4.根据权利要求2所述的数据处理方法,其中,所述利用所述训练完毕的机器学习模型及其相应的候选超参数,对所述待处理数据进行处理包括:
将所述多个训练完毕的机器学习模型中性能指标最高的机器学习模型确定为候选机器学习模型;
针对所述候选机器学习模型,重新采样候选超参数,重复上述训练过程,直到训练后的所述候选机器学习模型满足所述迭代停止条件,以获取训练完毕的候选机器学习模型;
利用所述训练完毕的候选机器学习模型及其相应的候选超参数,对所述待处理数据进行处理。
5.根据权利要求1所述的数据处理方法,其中,所述利用所述训练完毕的机器学习模型及其相应的候选超参数,对所述待处理数据进行处理包括:
根据所述训练完毕的机器学习模型的性能指标,对所述第一超参数搜索空间进行缩小或放大处理;
利用所述处理后的第一超参数搜索空间,重新采样候选超参数以便重新训练所述训练完毕的机器学习模型,用于处理所述待处理数据。
6.根据权利要求1所述的数据处理方法,其中,所述利用所述训练完毕的机器学习模型及其相应的候选超参数,对所述待处理数据进行处理包括:
利用扩大后的第一训练数据集,对所述训练完毕的机器学习模型进行再次训练;
利用再次训练完毕的机器学习模型及其相应的候选超参数,对所述待处理数据进行处理。
7.根据权利要求1所述的数据处理方法,其中,
所述待训练机器学习模型为根据第二超参数搜索空间训练完毕的机器学习模型,所述第一超参数搜索空间为进行缩小或放大处理后的所述第二超参数搜索空间。
8.根据权利要求1所述的数据处理方法,其中,
所述待训练机器学习模型为根据第二训练数据集训练完毕的机器学习模型,所述第一训练数据集为进行扩大后的所述第二训练数据集。
9.根据权利要求1-8任一项所述的数据处理方法,其中,所述确定待训练机器学习模型及其相应的第一超参数搜索空间包括:
根据用户在提供的配置页面中的选择,确定所述待训练机器学习模型及其相应的第一超参数搜索空间。
10.根据权利要求9所述的数据处理方法,其中,
所述配置页面用于用户选择所述候选超参数的采样方法、训练用的容器镜像、训练用的硬件类型、训练用的硬件数量、并发执行数、所述第一训练数据集、所述迭代停止条件中的至少一个。
11.一种数据处理装置,包括:
确定单元,用于根据待处理数据,确定待训练机器学习模型及其相应的第一超参数搜索空间;
采样单元,用于在所述第一超参数搜索空间中采样候选超参数,重新采样候选超参数,直到训练后的所述待训练机器学习模型满足迭代停止条件;
训练单元,用于根据所述候选超参数,利用第一训练数据集对所述待训练机器学习模型进行训练,根据重新采样的候选超参数重复上述训练过程,直到训练后的所述待训练机器学习模型满足所述迭代停止条件,以获取训练完毕的机器学习模型;
处理单元,用于利用所述训练完毕的机器学习模型及其相应的候选超参数,对所述待处理数据进行处理。
12.一种数据处理装置,包括:
存储器;和
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-10任一项所述的数据处理方法。
13.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-10任一项所述的数据处理方法。
技术总结