一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

自动化机器学习管道探索和部署的制作方法

2022-07-10 18:34:08 来源:中国专利 TAG:

自动化机器学习管道探索和部署


背景技术:

1.机器学习领域已被广泛接受为技术的未来的重要驱动力。现在,世界各地的组织都在寻求使用机器学习技术来解决各种各样的问题,诸如优化其产品、内部过程、客户体验等的方面。虽然机器学习的高层次视图听起来很简单——例如,向计算机提供训练数据,以允许计算机自动向训练数据学习,从而生成可对其他数据进行预测的模型——但在实践中实现机器学习可能非常困难。
2.例如,许多组织都在竞相实现他们的业务问题的ml解决方案,诸如用于欺诈检测和客户流失预测的分类模型或用于风险评估的回归模型。然而,构建这些解决方案通常需要聘请机器学习方面的专家,这些专家较为短缺且难以留用。由于缺乏数学和统计学方面的深度训练,大多数软件工程师难以对一种ml算法会优于另一种ml算法的原因形成良好的判断,更不用说找到适当的算法参数了。除此之外,用户时常需要清理数据或对数据进行预处理以便构建良好的模型,而大多数用户不具备这样做的知识或能力。相反,通常用户会按原样使用数据集,尝试易于使用的一种或两种算法,并且接受他们实现的任何质量水平——或者完全放弃。因此,组织难以获得期望模型质量。此外,即使对于拥有全面ml知识的数据科学家来说,这些科学家也可能需要花费其大量时间来利用不同ml解决方案进行试验,以便找到特定问题的最佳解决方案。
3.这些和其他困难部分是由于机器学习算法的底层算法和数学复杂性造成的,这些算法通常由本领域前沿的学术研究人员或个人开发。此外,生成、更新和部署有用的模型也很困难,这可能非常耗费时间和资源,并且充满复杂性。此外,机器学习模型往往非常集中于特定的用例和操作环境,并且因此对底层环境或用例的任何改变都可能需要完全重新生成新模型。此外,构建和部署机器学习技术与传统软件工程有很大不同,并且需要不同于传统软件工程开发团队所熟悉的实践和架构。
附图说明
4.将参考附图描述根据本公开的各种实施方案,在附图中:
5.图1是示出根据一些实施方案的用于自动化机器学习管道探索和部署的环境的图。
6.图2是示出根据一些实施方案的用于创建自动化机器学习管道探索的一个示例性用户界面的图。
7.图3是示出根据一些实施方案的用于配置用于自动化机器学习管道探索的探索预算和优选处理资源的一个示例性用户界面的图。
8.图4是示出根据一些实施方案的用于配置用于自动化机器学习管道探索的高级选项的一个示例性用户界面的图。
9.图5是示出根据一些实施方案的用于自动化机器学习管道探索和部署的处理工作的示例性集合的图。
10.图6是示出根据一些实施方案的用于监测自动化机器学习管道探索的试验的一个
示例性用户界面的图。
11.图7是示出根据一些实施方案的用于查看自动化机器学习管道探索的试验结果的一个示例性用户界面的图。
12.图8是示出根据一些实施方案的用于查看和/或修改自动化机器学习管道探索的一个示例性交互代码探索用户界面的图。
13.图9是示出根据一些实施方案的用于自动化机器学习管道探索和部署的方法的操作的流程图。
14.图10是根据一些实施方案的在其中训练和托管机器学习模型的说明性操作环境的框图。
15.图11示出根据一些实施方案的示例性提供商网络环境。
16.图12是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。
17.图13是示出可在一些实施方案中使用的示例性计算机系统的框图。
具体实施方式
18.本公开涉及用于自动化机器学习管道探索和部署的方法、设备、系统和非暂时性计算机可读存储介质。根据一些实施方案,自动化机器学习(ml)管道生成系统(或“ampgs”)允许用户通过简单地提供数据集、标识数据集中的目标列以及提供探索预算来容易地构建优化的ml管道。ml管道是共同对输入数据进行操作以生成ml推理结果的一系列处理步骤,这些处理步骤例如可包括特征和目标预处理操作(或者,整个ml管道的“特征预处理管道”,其可包括使用一个或多个ml模型),之后是推理ml模型。ampgs系统可生成单个被训练的ml管道,所述管道可部署来执行实时或批推理,并且在一些实施方案中,允许用户查看所得的ml模型的细节、导致生成ml模型的训练作业的细节、ml管道的参数和操作,以及可选地已被探索但最终被确定为性能较差的其他ml管道的这些细节中的一些或全部。在一些实施方案中,ampgs系统还产生特征处理代码和交互代码探索“笔记本”,它们关于一个或多个ml管道的部件对用户进行培训,从而提供对系统所采取步骤的解释。在一些实施方案中,ampgs因此通过向用户显示渐进步骤或作业来提供一种“白盒”方法,所述渐进步骤或作业执行来达成出于推理目的而产生的最终ml模型,这也可使得用户能够修改和重复所述过程以根据他们的特定需要迭代地微调ml管道。
19.在一些实施方案中,用户因此能够快速构建ml模型——例如,分类和回归模型——而无需任何实质性的ml知识。例如,在一些实施方案中,用户可提供表格数据集并且标识数据集中的目标列以进行预测,并且ampgs系统然后自动探索具有数据预处理器、算法和/或算法参数设置的不同组合的ml管道解决方案以找到“最佳”模型。在一些实施方案中,用户然后可将此最佳模型(就ml管道而言)直接部署到生产环境(例如,仅需单击一次)或对一个或多个推荐的解决方案进行迭代以进一步提高模型质量。
20.图1是示出根据一些实施方案的用于自动化机器学习管道探索和部署的环境的图。在图1中,作为机器学习服务110的一部分实现的自动化机器学习管道生成系统102(或“ampgs”)代表用户109开发、评估和/或部署ml管道。ampgs 102(和ml服务110)可使用一个或多个网络和/或地理位置中的一个或多个计算装置实现为软件、硬件或两者的组合。在一
些实施方案中,ampgs 102在多租户提供商网络100内实现并且作为ml服务110的一部分操作以将本文描述的ml相关操作作为服务提供给用户109。
21.提供商网络100(或“云”提供商网络)为用户109提供利用一个或多个各种类型的计算相关资源的能力,诸如:计算资源(例如,执行虚拟机(vm)实例和/或容器、执行批作业、执行代码而非预配置服务器)、数据/存储资源(例如,对象存储、块级存储、数据档案存储、数据库和数据库表等)、网络相关资源(例如,配置虚拟网络(包括多组计算资源)、内容传递网络(cdn)、域名服务(dns))、应用资源(例如,数据库、应用构建/部署服务)、访问策略或角色、身份策略或角色、机器图像、路由器及其他数据处理资源等。这些计算资源和其他计算资源可作为服务提供,所述服务诸如:可执行计算实例的硬件虚拟化服务、可存储数据对象的存储服务114等。提供商网络100的用户109(或“客户”)可利用与客户账户相关联的一个或多个用户账户,但是可依据使用的上下文稍微可互换地使用这些项。用户可经由一个或多个接口在一个或多个中间网络106(例如,互联网)上与提供商网络100交互,诸如通过使用应用程序编程接口(api)调用、经由被实现为网站或应用程序的控制台等。一个或多个接口可以是提供商网络100的控制平面的一部分,或者用作其前端,其包括支持和启用可能会更直接地提供给客户的服务的“后端”服务。
22.例如,云提供商网络(或简称为“云”)可以是指大的可访问虚拟化计算资源池(诸如计算、存储和联网资源、应用程序和服务)。云可提供对共享可配置计算资源池的便捷、按需网络访问,所述资源可响应于客户命令以编程方式提供和发布。这些资源可动态提供和重新配置以根据可变负载行进调整。云计算可因此被视作在公共可访问网络106(例如,互联网、蜂窝通信网络)上作为服务传递的应用程序以及提供那些服务的云提供商数据中心中的硬件和软件。
23.通常,提供商网络的流量和操作可广泛地细分为两类:在逻辑控制平面上承载的控制平面操作和在逻辑数据平面上承载的数据平面操作。数据平面表示用户数据通过分布式计算系统的移动,而控制平面表示控制信号通过分布式计算系统的移动。控制平面通常包括分布在一个或多个控制服务器上并且由其实现的一个或多个控制平面部件。控制平面流量通常包括管理操作,诸如系统配置和管理(例如,资源放置、硬件容量管理、诊断监测、系统状态信息)。数据平面包括在提供商网络上实现的客户资源(例如,计算实例、容器、块存储卷、数据库、文件存储)。数据平面流量通常包括非管理操作,诸如向客户资源传送客户数据和从客户资源传送客户数据。控制平面部件通常在与数据平面服务器分开的一组服务器上实现,并且控制平面流量和数据平面流量可在单独/不同的网络上发送。
24.为了提供计算资源服务,提供商网络100通常依赖于虚拟化技术。例如,虚拟化技术可用于为用户提供控制或利用计算实例(例如,使用客机操作系统(o/s)的vm,所述客机操作系统使用管理程序操作,所述管理程序可能会或可能不会进一步在底层主机o/s之上运行;可以或可以不在vm中操作的容器;可以在没有底层管理程序的“裸金属”硬件上执行的实例)的能力,其中可以使用单个电子装置来实现一个或多个计算实例。因此,用户可直接利用由提供商网络托管的计算实例(例如,由硬件虚拟化服务提供)来执行各种计算任务。附加地或替代地,用户可通过提交要由提供商网络执行的代码(例如,经由按需代码执行服务)来间接地利用计算实例,所述提供商网络继而利用计算实例来执行代码,而通常无需用户具有对所涉及的一个或多个底层计算实例的任何控制或知识。
25.例如,在各种实施方案中,“无服务器”功能可包括由用户或其他实体(诸如提供商网络本身)提供的可按需执行的代码。无服务器功能可由按需代码执行服务在提供商网络100内维护,并且可与特定用户或帐户相关联或通常可由多个用户/帐户访问。无服务器功能可能与统一资源定位符(url)、统一资源标识符(uri)或可用于调用无服务器功能的其他标记相关联。无服务器功能可在被触发或调用时由计算实例(诸如虚拟机、容器等)执行。在一些实施方案中,可通过应用程序编程接口(api)调用或特殊格式的超文本传输协议(http)请求消息来调用无服务器功能。因此,用户可定义可按需执行的无服务器功能,而无需用户维护专用基础架构来执行无服务器功能。相反,无服务器功能可使用由提供商网络100维护的资源按需执行。在一些实施方案中,这些资源可保持处于“就绪”状态(例如,具有被配置为执行无服务器功能的预初始化运行时环境),从而允许接近实时地执行无服务器功能。
26.如本文所述,在一些实施方案中,ampgs 102使ml模型构建过程更容易且更快速。ampgs 102可自动从其本地支持的高性能算法列表中选择多个不同的ml算法并且评估所述算法中的一些或其全部,而不是要求用户109决定使用哪种ml算法。ampgs 102还可自动评估那些算法的不同超参数设置,以力图提高所发现的ml模型的所得的质量。在一些实施方案中,用户109也不需要忙于数据清理或预处理,因为ampgs 102可在使数据通过ml算法以训练ml模型之前自动将不同类型的数据预处理器应用于数据。在一些实施方案中,ampgs 102还使用户可完全访问ampgs 102已评估的ml管道的细节和工件(诸如对应源代码),从而允许高级用户(诸如数据科学家)快速运行基线并且对结果进行迭代以进一步提高模型质量。
27.为了开始所述过程,在一些实施方案中,用户109可提供或以其他方式标识用于在ml管道探索中使用的数据集108。例如,如可选圆圈(1)处所示,用户109可利用由计算装置104执行的应用程序103(例如,实现提供商网络100的控制台105的网络应用程序、电子表格插件、独立应用程序、利用ampgs 102作为后端、数据库或混合sql环境等的一部分的另一个实体的另一个网络应用程序)以致使计算装置104将数据集108上传到(例如,由存储服务114(诸如提供商网络100的对象存储服务)提供的)存储位置。
28.例如,数据集108可以是包括数据值的行(或条目)的列式数据集,其中数据值可根据一个或多个列(或属性)排列并且可具有相同的数据类型或不同的数据类型。在一些情况下,数据集108可包括标题或描述列的名称或数据类型的其他元数据,尽管在一些情况下此元数据可能不存在。例如,数据集108可已经由用户提供为纯文本文件(例如,逗号分隔值(csv)或制表符分隔值(tsv)文件)、导出的数据库表或结构、特定于应用的文件(诸如电子表格)等。然而,在一些实施方案中,数据集108也可以是(例如,由提供商网络100的数据库服务或另一个系统托管的)数据库表、来自网页或网络服务的数据等。
29.用户109可在圆圈(2)处利用计算装置104来通过ampgs 102发起ml管道探索。例如,用户109可致使计算装置104向ml服务110发出一个或多个请求(例如,api调用),这可通过用户109使用一个或多个用户界面(诸如在图2至图4中描绘的那些)配置ml探索作业来发生。此类用户界面可由ml服务110(或由提供商网络的另一个服务)提供,并且用户109可经由这些界面提供用户输入,所述用户输入最终提供给ampgs 102以配置、启动和/或修改ml探索作业。
30.例如,图2是示出根据一些实施方案的用于创建自动化机器学习管道探索的一个示例性用户界面200的图。此用户界面和其他用户界面被示出为包括各种示例性数据字段和用户界面输入元素(例如,文本输入框、下拉框等);应当理解,这些是仅一个实施方案的示例和代表——本领域技术人员可在各种实施方案中实现许多其他数据字段和元素。
31.如图所示,用户界面200允许用户109为探索提供名称205和描述210。用户界面200还允许诸如通过以下方式向用户提供用户界面元素215以标识要用于模型训练目的的数据集:(例如,从存储服务内与用户账户相关联的一组存储对象中)选择文件或存储位置,提供资源标识符(例如,统一资源定位符(url)),直接上传数据集等。
32.用户界面200还包括用户界面元素220,其中用户可从数据集标识列,所述数据集包括应由模型推理的(即,模型应最终输出以作为其对给定输入数据的预测的)值。用户界面元素220可(例如,在ampgs 102已获得经由元素215标识的数据集并且已标识所述数据集中包含的列之后)提供要选择的列的列表,允许用户提供列的标识符(例如,列名称或编号)等。
33.在一些实施方案中,用户还可为ml管道探索配置探索预算信息和计算资源利用设置。此类配置选项使用户能够基于他们的具体需要来灵活地控制探索的速度、彻底性和/或费用。图3是示出根据一些实施方案的用于配置用于自动化机器学习管道探索的探索预算和优选处理资源的一个示例性用户界面300的图。在此用户界面300中,用户可例如通过以下项来控制ampgs 102如何执行ml管道探索:使用用户界面元素305来设置应在探索期间运行的训练作业的最大数目(例如,应全部或部分训练的ml模型的数目)。用户还可经由另外两个输入元素310指示任何特定训练可持续多长时间,在此示例中,所述输入元素310允许用户指示数字(在此为“4”)和对应时间单位(在此,“hrs”意指小时,尽管可选择其他选项,诸如秒、分、天、周等),在所述时间点处,可停止训练作业。在一些实施方案中,用户还可使用输入元素317来提供与ml管道探索过程相关联的最大成本(或预算),从而允许系统停止或配置其探索以防止超过这个用户指定的成本。
34.在此示例中,用户还可使用用户界面300输入元素315/320来指示什么类型的计算实例(例如,虚拟机类型,其中可以使具有不同资源特性的多个不同选项可用,例如不同的内存量、处理能力、网络可用性、存储等)将用于ml模型训练作业(经由元素315),以及在任何时间点将使用那些实例的数目(经由元素320),从而允许用户控制探索发生的速度和费用。然而,在一些实施方案中,用户可选择“自动”(或类似项,意指“自动的”),并且因此系统可例如基于先前的探索运行和/或基于用户提供的预算来选择它自己的期望类型和/或量的实例。
35.在一些实施方案中,可使具有足够ml知识的用户能够定制ml管道探索过程的附加方面。图4是示出根据一些实施方案的用于配置用于自动化机器学习管道探索的高级选项的一个示例性用户界面400的图。
36.在此用户界面400中,用户可经由输入元素405指定即将遇到什么机器学习问题类型,从而使得用户能够控制将使用什么类型的ml算法进行训练。例如,本领域技术人员已知许多不同的机器学习问题类型,诸如二元分类、多类分类、线性回归等。在一些实施方案中,用户可能够选择“自动检测”选项,因为可基于用户指定的“目标列”的类型和/或值来推理机器学习问题类型。
37.用户还可指定探索的目标度量。例如,用户界面400包括用户界面元素410,其中用户可(例如,从度量列表中)选择目标度量类型,该目标度量类型将用于评估哪个ml管道对用户而言是最好的。在一些实施方案中,目标度量可以是“自动”(自动的),从而允许ampgs102使用其自己选择的一个或多个度量来确定性能最佳的ml管道。可以使用并且本领域技术人员已知各种类型的度量,包括但不限于均方误差(mse)、分类准确度、对数损失、曲线下面积(auc)、平均绝对误差(mae)、均方根误差(rmse)、均方根对数误差(rmsle)、r平方、f1分数等。
38.在一些实施方案中,用户还可经由用户界面元素415配置哪些类型的算法可供ampgs 102测试。可能使用的特定算法的选集可使得高级用户能够排除某些算法或探索有限数目的感兴趣的特定算法。可基于所选择问题类型405在界面400中填充特定算法,因为众所周知,特定算法用于特定ml问题类型。可包括本领域技术人员已知的各种类型的算法,诸如(但不限于)xgboost、线性学习器、k最近邻(knn)、因子分解机、多层感知机(mlp)、神经网络等。
39.示例性用户界面400还包括允许用户指示(例如,是或否)ampgs102是否应探索创建基于组合多个其他模型的集成模型的元素420。在一些情况下,集成模型可例如经由应用一种组合若干基本模型以产生一个最佳预测模型的集成方法提供提高的准确度,诸如经由使用装袋方法(例如,通过数据集的不同子样本构建多个模型)、随机森林型方法、提升方法(例如,构建多个模型,其中一些模型可学习纠正另一些模型的错误)、堆叠方法(例如,监督模型或算法组合来自多个其他模型的预测)或本领域技术人员已知的其他方法。
40.示例性用户界面400还包括允许用户指示探索是否应只是“空运行”的元素425,这意指ampgs 102将标识要探索的多个管道并且向用户提供描述这些模型的数据,但是不是实际执行任何ml模型训练。在这种情况下,ampgs 102可经由(例如,控制台或交互代码应用程序的)其他用户界面提供标识用户可检查的多个候选管道的详情的细节。然后,用户可(例如,经由传输请求消息)指示ampgs 102执行完整的探索或仅执行探索的特定部分——例如,实现候选管道中的一个(或多个),或者甚至一次一个步骤地运行单独管道的部分(例如,仅执行数据预处理并返回结果,执行模型的训练等)。
41.用户界面400还可允许用户配置探索的其他方面,诸如配置特定权限设置(例如,提供由ampgs 102当在提供商网络内执行操作时使用的用户账户或“角色”的标识符)或安全设置(例如,对执行探索工作的那些实例实现网络隔离,使得它们无法进行任何出站网络调用,从而将一个或多个实例置于特定的专用网络内,根据用户提供的密钥或算法对数据进行加密或解密)。
42.此后,可向用户提供用户界面,所述用户界面允许用户开始ml管道探索,从而导致经由(作为图1的圆圈(2)发送的)请求消息向ampgs 102发出命令。附加地或替代地,这些配置设置可在不使用此类图形用户界面的情况下提供,并且作为替代可由(在提供商网络中或在提供者网络之外执行的)可能已经或可能尚未获得关于这些设置的并行用户指令的另一种类型的应用程序发出。
43.因此,经由这些示例性用户界面200/300/400或经由其他方式(例如,配置文件或数据库条目),可发起ml管道探索作业。回到图1,在接收到指示期望启动作业的消息之后,在圆圈(3)处,ampgs 102可以初始化管道推荐器系统112的使用以开始ml管道探索。
44.在一些实施方案中,管道推荐器系统112负责确定要探索以及由管道优化系统116优化的ml管道的集合。在一些实施方案中,管道推荐器系统112可分析用户提供的数据集并且基于用户标识的目标列等来推理数据集的概率模式、目标泄露、特征重要性、ml问题的类型(例如,分类、回归等)中的一者或多者。管道推荐器系统112可使用由用户提供的数据集和从所收集的元数据学习的知识来推荐有希望且多样化的特征处理管道集合以连同特征处理模型的代码一起应用于客户数据集。管道推荐器系统112还可推荐硬件(计算实例类型和计数)、要调整哪些超参数的标识符(以及可选地它们的有效搜索空间)以及管道优化系统116在探索ml管道时应使用的并行化程度。此后,管道优化器系统116可使用管道推荐器系统112推荐的管道来开始优化作业,这通常涉及运行多个训练作业以标识最高性能管道。随着优化作业的进展,管道优化器系统116可丢弃低性能模型并且可调整最高性能模型的超参数。
45.在一些实施方案中,用户可利用管道推荐器系统112(以生成候选ml管道以进行探索)以及管道优化器系统116(以探索和评估候选ml管道)两者。然而,在一些实施方案中,用户可独立地使用ampgs102的部分——例如,仅使用管道推荐器系统112来标识候选ml管道(并且此后在其他地方使用此数据),或者仅使用管道优化系统116来评估候选ml管道(例如,使用可能在使用或不使用管道推荐系统112的情况下开发的候选ml管道)。因此,在一些实施方案中,这些部件被设计成使得它们不紧密耦合,并且因此可以可选地彼此独立地使用。
46.例如,ampgs 102(和管道推荐器系统112和/或管道优化器系统116)的操作可以如关于图5所示来实现,所述图5是示出根据一些实施方案的用于自动化机器学习管道探索和部署的示例性处理作业集合的图。
47.在框505处,ampgs 102的数据构建器部件可(例如,通过基于提供的资源标识符来向存储服务发送请求)获得数据集并且对数据集执行初步操作。例如,在一些实施方案中,数据构建器将数据集分成三个部分——一者用于训练,一者用于验证,一者用于测试。在一些实施方案中,三个部分中的每个部分在大小上是相等的(例如,相同数目的行或非常相似数目的行(如鉴于1,000行的数据集,呈334行、333行和333行)),尽管在其他在实施方案中,这些部分具有不相似的大小(例如,训练数据集可能比验证数据集或测试数据集大得多)。初步操作还可包括生成描述数据集的元数据(例如,行的总数目、列的数目、列的数据类型、值分布和基于列的值的其他统计数字),所述元数据可用作后续处理、清理数据集等的部分。
48.接下来,管道推荐器系统112可(例如,经由使用一个或多个ml模型以及数据集的目标列等)分析数据集以推荐用于探索的管道(一个或多个预处理任务和机器学习算法的组合)。例如,管道推荐器系统112可利用一个或多个ml模型,这些模型已被训练来基于特定数据集的特性(例如,列的数目和/或类型、要推理的列的类型等)来标识已良好作用于那些数据集的特定管道类型。附加地或替代地,管道推荐器系统112可使用先前管道的数据库(或其他数据结构)(以及所涉及的数据集的特性)并且比较当前数据集的对应数据集/推理特性以标识可推荐的最相似的历史管道。
49.附加地或替代地,管道推荐器系统112可根据已配置的“策略”生成多个不同的预处理管道(和对应训练数据集)——例如,“基线”策略,其将对所有分类变量进行独热编码
(1he)、利用标识符对空值进行中位数插补;“二次”策略,其将对任何检测到的分类变量进行哈希编码,对数值特征进行分桶,并添加预测特征组合的笛卡尔积特征:实例-类型x实例-计数、num_layers x实例-类型、dataset_size xnum_layers;“日志分桶”策略,其将对任何分类变量进行哈希编码,对数值变量进行分桶,并对所有数值进行对数变换。例如,可使用两个机器学习作业来生成特征处理管道,所述两个机器学习作业可使用(可以批方式训练和/或托管机器学习模型的)批推理系统142来执行,如可选圆圈(3b)处所示:训练作业,其用于学习变换;以及然后批处理作业,其将变换应用于数据集以生成变换的数据集以用于探索不同ml模型。
50.管道推荐器系统112可标识用于探索的管道的固定数目或在探索配置期间由用户提供的数目。作为一个示例,管道推荐器系统112可推荐多达十个用于探索的管道,诸如(1)“应用独热编码和主成分分析(作为特征预处理器/变换),之后使用'xgboost'算法进行超参数调整”,(2)“应用独热编码和主成分分析(作为特征预处理器/变换),之后使用

线性学习器’算法进行超参数调整”,(3)“应用主成分分析(作为特征预处理器/变换),之后使用

xgboost’算法进行超参数调整”等等。
51.暂时回到图1,在一些实施方案中,在管道推荐器系统112标识要评估的不同ml管道之后,可以在可选圆圈(4)处向用户109提供关于这些管道的细节,其中用户109可提供确认以继续完成探索,停止探索,仅运行探索的部分(例如,继续所推荐的管道中的仅一些,仅运行一个管道的一些部分)等。
52.假设要继续全面探索,参考图5,特征预处理分析器510a(例如,每一者都由单独的一个或多个计算实例实现)可针对在所推荐的ml管道计划内标识的每个不同的预处理步骤/变换运行。每个特征预处理分析器510a-510m可执行预处理任务的初始化,使得所述任务可稍后由特征预处理器515a-515n实现,并且可至少部分地并行执行此分析。
53.例如,用于独热编码的特征预处理分析器510a可能需要运行ml作业以找出它应产生多少列。因此,可能的情况是,数据集的一列可具有10,000个唯一值,其中这些值中的许多值仅被引用一次或两次。因此,特征预处理分析器510a可确定仅为前x(例如,200)个值生成列,并且为任何其他值生成一列作为“全捕获”。因此,特征预处理分析器510a将执行此分析,其可包括标识列内引用了哪些所有不同类别、这些值中的每个值的计数是多少等,以最终确定应生成哪些列。可对其他类型的管道预处理任务执行类似类型的预处理分析,例如,对于主成分分析,需要学习结果(例如,应使用哪些特征)等。
54.此后,实际的预处理可由一组特征预处理器515a-515n执行,其中每个预处理器可实现特定的预处理步骤或者可实现多个预处理步骤(例如,对于一个管道)。特征预处理器515a-515n因此可以可选地至少部分地并行使用来自特征预处理分析器的数据来将预处理操作/变换应用于数据集(例如,一次一行),以产生变换的输出数据集(或其部分)。
55.值得注意的是,在预处理分析和/或实际预处理期间的一些实施方案中,ampgs 102可(例如,经由应用程序103,诸如控制台105和/或诸如jupyter notebook的交互代码应用程序107)向用户109提供更新,所述用户109可查看中间结果、停止这些任务(或整个ml管道探索)、修改任务等。
56.接下来,管道优化器系统116(也参考图1的圆圈(5))可利用预处理的数据集和管道推荐(包括用于生成ml模型的特定ml算法的标识符)并且可致使根据任何用户规定的配
置参数(例如,总共要运行多少试验、一次可运行多少试验、要使用什么类型的计算实例等)例如通过(可选地并行)调用本文描述的模型训练系统120、利用ml框架等来相应地训练多个ml模型。每次训练的结果包括模型工件以及要优化的目标度量的值。管道优化器系统116可例如经由使用另外一个或多个ml模型或数据库使用此信息,以标识可能导致生成良好模型的用于测试(例如,具有不同的超参数值)的附加ml管道变体。此类超参数调整系统和技术对于本领域技术人员来说是已知的并且可用于作用来找到越来越好的管道。
57.值得注意的是,在这些训练试验期间的一些实施方案中,ampgs102可经由应用程序103(例如,经由控制台105和/或诸如jupyter notebook的交互代码应用程序107)向用户109提供更新,所述用户109可查看中间结果、停止特定训练(或整个ml管道探索)等。
58.模型集成器525也可用于基于对所探索模型中的一些模型的使用来创建一个或多个集成模型(如果用户期望或由系统配置的话)。例如,如上所述,可使用本领域技术人员已知的一种或多种集成技术(例如,使用输出的某种聚合或选集)在集成体中使用多个模型。基于所有结果,输出生成器530可产生呈一个或多个综合结果的形式的输出,所述综合结果呈以下形式:用户要查看的更新结果数据(例如,在可选的圆圈(6)处),存储在存储位置处(参考图1的可选圆圈(7a))以稍后由用户或另一个应用程序获得的管道探索工件122(例如,可包括ml模型的用于实现预处理管道的代码123和/或一个或多个推理模型124)的包、存储到数据库的结果等。
59.返回图1,在一些场景中,用户109可查看探索的结果并选择部署管道以供使用。在这种情况下,用户的计算装置104可发出命令以部署特定的管道,并且作为响应,在可选的圆圈(7b)处,ampgs 102可向本文进一步描述的模型托管系统140发送一个或多个命令(例如,api调用)来“托管”管道——例如,启动或保留一个或多个计算实例、运行管道代码126、配置与管道相关联的(可从外部客户端接收推理请求并将请求提供给管道的)端点等。作为一个示例,命令可包括“创建模型”api调用,该调用将用于模型的代码(例如,在容器内实现的推理代码)与模型工件(例如,描述与模型的各个方面相关联的权重的数据)组合起来以产生可(例如,由模型托管系统140或批推理系统142)托管的模型,其中创建模型请求可包括以下中的一者或多者:模型的名称、具有推理代码的容器的标识符、推理管道中的其他容器的一个或多个标识符、模型在执行时的一组权限或角色、要与模型相关联的一组用户定义的标签等。一个或多个命令还可包括部署模型所需的所有管道部件(例如,创立预处理所需的一个或多个容器、实际推理所需的一个或多个容器、相关联的路由等)的“创建端点”(或在批推理的情况下为“创建变换作业”)api调用。
60.因此,如上所述,在可选圆圈(7c)处,ampgs 102可向批推理系统142发送一个或多个命令(例如,api调用)来“托管”管道以用于执行批推理。批推理系统142可与本文描述的模型托管系统140类似地实现,但可被优化用于——例如,经由存储在存储服务位置处的输入数据——按批执行推理,将结果存储回存储位置等,而不是执行实时同步推理。这样一种或多种部署也可在管道探索过程结束时自动执行,其中ampgs 102可自动部署“最佳”性能管道。此后,在提供商网络内部(诸如由通过内部服务132(诸如硬件虚拟化服务或代码执行服务)运行的应用程序执行的应用程序)或提供商网络外部(例如,通过计算装置104)的在可选的圆圈(8)处的客户端应用程序130a-130b可向与部署的管道代码126相关联的端点发出推理请求,从而使得管道能够生成推理并且将该结果返回给应用程序。
61.如通篇所示,探索的正在进行的状态和/或中间(或最终)结果可以“白盒”方式提供给用户,允许用户充分查看建议要做的事情、实际正在做的事情以及结果如何。例如,图6是示出根据一些实施方案的用于监测自动化机器学习管道探索的试验的一个示例性用户界面600的图。在此用户界面600中,第一面板605显示探索阶段——例如,预处理阶段、模型构建阶段、后处理阶段等。在此示例中,模型构建阶段正在进行中。
62.第二面板610显示了用于探索的“试验”(或模型训练)的概览——在此,正在积极地训练三个模型(称为试验55、试验56和试验57),并且表中的这些列中的一些列可能够选择查看关于每个试验的附加信息,范围为试验的中间结果的图、任何警告/问题的细节、特定试验的细节(例如,预处理的标识符、模型算法类型、正在测试的超参数)等。第三板610显示了描述迄今为止的整个探索结果的各种图表——在此,在训练模型时随时间推移的模型损失、在训练模型时随时间推移的模型准确度等。
63.对于附加细节,图7是示出根据一些实施方案的用于查看自动化机器学习管道探索的试验结果的一个示例性用户界面700的图。例如,当用户在图6的第二面板610中选择特定试验时,可显示此用户界面700,并且提供关于特定试验的附加细节。在此示例中,第一面板705在显示试验名称的同时呈现允许用户进一步探索管道和/或部署管道的用户界面输入元素(在此为按钮)。第二面板710允许用户查看/下载由数据集分割产生的数据的每个集合,而第三面板715允许用户查看/下载预处理相关信息(例如,预处理代码——诸如预处理ml模型——和/或所得的数据集),并且第四面板720允许用户查看/下载其他管道工件(例如,模型代码/权重、超参数值)。
64.图8是示出根据一些实施方案的用于查看和/或修改自动化机器学习管道探索的一个示例性交互代码探索用户界面800的图。如图8所示,可(例如,经由作为网络应用程序的网络浏览器)向用户呈现交互代码探索,所述交互代码探索允许用户探索代码、运行代码、修改和运行代码等。在一些实施方案中,可向用户呈现用于执行ml管道探索的代码,以使用户查看推荐测试哪些特定管道、将使用哪些预处理操作等。此外,用户可以代码的原始形式或以修改的形式(例如,通过用户编辑代码)“运行”此代码(例如,经由选择用户界面元素(诸如按钮),致使应用程序向提供商网络发送请求以实际执行代码)。在此示例中,交互代码探索用户界面800包括第一代码部分805,所述第一代码部分805包括一些定义性代码,例如,赋予探索名称、创立存储位置路径、从库导入代码等。
65.交互代码探索用户界面800还包括第二代码部分810,所述第二代码部分810定义了用于预处理训练数据集的多种不同方式。在此示例中,数据集被配置有用于以各种不同的方式预处理数据集以比较哪种或哪些技术效果最好的代码,所述代码可包括训练特征处理模型,以及然后运行“批”变换作业以实际应用变换。
66.如图所示,第一管道“fp_baseline”被定义为具有第一“fp0”步骤,该步骤被定义为(作为用于学习变换的训练作业)具有源目录的值、实例类型和计数以及其他未说明的值,诸如要使用的ml框架版本、要应用的标签集合、要使用的特征处理策略(例如,基线策略,其对所有分类变量执行独热编码并且利用标识符执行中位数插补空值;二次策略,其对分类变量执行哈希编码,执行数值的分桶,添加预测特征组合的笛卡尔积特征;或其他策略)的标识符。第一管道的补充“bt0”步骤也被定义(作为用于将变换应用于数据集的批处理作业),它可将此类值定义为实例类型、实例计数、输出路径、标签集合等。这两个步骤一
起可形成一个特征处理管道,并且多对这些步骤(即,许多特征处理管道)可被定义来创建多个不同的特征处理管道。
67.交互代码探索用户界面800还可包括用于显示正在运行的管道的结果的部分815,以及最终包括用于定义机器学习模型和管道的不同组合的代码部分820,每个组合包括以下项的值:名称、要使用的ml算法、超参数集合、存储由特征处理管道之一生成的输入值的特定集合的存储位置的标识符等。
68.图9是示出根据一些实施方案的用于自动化机器学习管道探索和部署的方法的操作900的流程图。操作900(或本文描述的其他过程、或其变型、和/或组合)的一些或全部在配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)实现、由硬件实现或由其组合实现。代码以例如包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读存储介质是非暂时性的。在一些实施方案中,操作900中的一个或多个(或全部)由其他附图的ampgs 102执行。
69.操作900包括,在框905处,接收由用户的计算装置发起的请求消息以至少部分地基于数据集来标识机器学习(ml)管道,所述请求消息标识数据集和探索预算。在一些实施方案中,探索预算指示要作为训练的一部分训练的ml模型的最大数目,并且其中多个ml模型的数目是最大数目。在一些实施方案中,探索预算也可以是与训练的方面相关联的最大时间量或与训练相关联的最大成本。
70.在一些实施方案中,请求消息包括数据集的存储位置的资源标识符,并且操作900还包括由多租户提供商网络的机器学习服务经由使用资源标识符从存储服务获得数据集。
71.操作900还包括,在框910处,至少部分地基于数据集来生成多个ml管道计划。
72.在一些实施方案中,操作900还包括,在框915处,向计算装置传输第一一个或多个消息以致使计算装置向用户呈现与多个ml管道计划相关联的信息,并且在框920处,接收由计算装置发起的第二请求消息以开始探索多个ml管道计划中的至少两个ml管道计划。
73.在一些实施方案中,与多个ml管道计划相关联的信息对于ml管道计划中的每个ml管道计划包括一个或多个预处理阶段和ml模型算法类型的标识符。在一些实施方案中,信息由计算装置经由交互代码应用程序呈现给用户,并且操作900还包括:接收由用户的计算装置发起的第三请求消息,所述第三请求消息指示执行多个ml管道计划中的一个ml管道计划的一个管道的请求。在一些实施方案中,操作900还包括:接收由用户的计算装置发起的第四请求消息,所述第四请求消息指示执行多个ml管道计划中的一个ml管道计划的修改的管道的请求,其中修改的管道由用户基于一个ml管道计划指定。
74.操作900还包括,在框925处,基于数据集的至少一部分和探索预算来训练对应于多个ml管道计划的多个ml模型。
75.在一些实施方案中,操作900还包括:将数据集分割成多个集合,所述多个集合包括训练集合,其中多个多个ml模型的训练至少利用训练集合。
76.在一些实施方案中,多个ml模型的训练至少部分地并行执行,因为多个ml模型中的至少两个ml模型至少部分地在相同时间点主动训练。
77.操作900还包括,在框930处,向用户的计算装置传输指示训练的结果的数据。
78.在一些实施方案中,操作900还包括:接收由用户的计算装置发起的第五请求消
息,所述第五请求消息指示部署对应于多个ml管道计划中的一个ml管道计划的ml管道的请求;传输第六请求消息以致使提供商网络的模型托管系统在端点后部署ml管道;以及向计算装置或存储位置传输端点的标识符。
79.在一些实施方案中,向用户的计算装置传输数据致使用户的计算装置将结果呈现给用户,所述结果包括对应于多个ml模型的多个试验的标识符,其中对于多个试验中的每个试验,结果包括通过对应ml模型的训练生成的目标度量的值。在一些实施方案中,请求还标识目标度量。
80.在一些实施方案中,操作900还包括基于多个ml模型中的至少两个ml模型来生成包括集成ml模型的另一个ml管道。
81.图10是根据一些实施方案的在其中训练和托管机器学习模型的说明性操作环境的框图。操作环境包括终端用户装置1002(例如,pc或移动装置,诸如计算装置104)、模型训练系统120、模型托管系统140、训练数据存储设备1060、训练度量数据存储设备1065、容器数据存储设备1070、训练模型数据存储设备1075和模型预测数据存储设备1080。本文描述的机器学习服务110可包括这些实体中的一个或多个实体,诸如模型托管系统140、模型训练系统120等。
82.在一些实施方案中,用户经由用户装置1002与模型训练系统120交互以提供致使模型训练系统120训练一个或多个机器学习模型的数据。通常,机器学习模型可被视作使用数据集合“训练”的一个或多个方程。在一些实施方案中,模型训练系统120提供ml功能作为网络服务,并且因此在用户装置1002与模型训练系统120(或提供商网络100)之间和/或在模型训练系统120(或提供商网络100)的部件之间传递消息可利用http消息传递呈机器可读文件格式(诸如xml或json)的数据。
83.用户装置1002可经由模型训练系统120的前端1029与模型训练系统120交互。例如,用户装置1002可向前端1029提供训练请求,其包括容器图像(或多个容器图像,或存储容器图像的一个或多个位置的标识符)、输入数据的指示符(例如,输入数据的地址或位置)、一个或多个超参数值(例如,指示算法将如何操作、有多少算法并行运行、要将数据分成多少集群等的值)和/或描述要在其上训练机器学习模型的计算机器的信息(例如,图形处理单元(gpu)实例类型、中央处理单元(cpu)实例类型、要分配的存储器的量、要用于训练的虚拟机实例的类型等)。
84.在一些实施方案中,容器图像可包括一个或多个层,其中每个层表示可执行指令。可执行指令中的一些或全部一起表示定义了机器学习模型的算法。可执行指令(例如,算法)可以任何编程语言(例如,python、ruby、c 、java等)进行编写。在一些实施方案中,算法由用户经由用户装置1002从算法存储库(例如,网络可访问的市场、由机器学习训练服务提供的数据存储设备等)预先生成并获得。在一些实施方案中,算法是完全用户生成的或部分用户生成的(例如,用户提供的代码修改或配置现有算法代码)。
85.在一些实施方案中,用户装置1002可在训练请求中提供以任何编程语言编写的算法,而不是在训练请求中提供容器图像(或其标识符)。模型训练系统120将算法打包至最终加载至虚拟机实例1022中的容器(可选地,利用其他代码,诸如用用户提供的代码补充的“基本”ml算法)中,以用于训练机器学习模型,如下面更详细描述的。例如,用户经由用户装置1002可使用应用程序(例如,交互式基于网络的编程环境)开发算法/代码,并且致使算
法/代码——可能作为训练请求的一部分(或在训练请求中引用)——提供给模型训练系统120,其中此算法/代码可例如独自容器化或与具有机器学习框架的现有容器一起使用。
86.在一些实施方案中,用户装置1002在训练请求中提供容器图像的指示符(例如,存储容器图像的地址或位置的指示),而不是在训练请求中提供容器图像。例如,容器图像可存储在容器数据存储设备1070中,并且此容器图像可已经由用户先前创建/上传。模型训练系统120可从指示的位置检索容器图像并且使用所检索的容器图像创建容器。然后,将容器加载至虚拟机实例1022中,以用于训练机器学习模型,如下面更详细描述的。
87.在一些实施方案中,模型训练系统120可使用由用户装置1002提供的信息来在一个或多个预建立的虚拟机实例1022中训练机器学习模型。特别地,模型训练系统120包括单个物理计算装置或使用一个或多个计算网络(未示出)互连的多个物理计算装置,其中一个或多个物理计算装置托管一个或多个虚拟机实例1022。模型训练系统120可以基于描述要在其上训练由用户装置1002提供的机器学习模型的计算机器的信息来处理计算能力的获取和配置(例如,容器、实例等,这在下面更详细地描述)。然后,模型训练系统120可以使用计算能力来训练机器学习模型,如在下面更详细描述的。模型训练系统120可基于经由前端1029从用户装置1002接收的训练请求的容量来自动地进行缩放,从而减轻了用户不得不担心过度利用(例如,获取太少的计算资源且经受性能问题)或利用不足(例如,获取了比训练机器学习模型所必需的更多的计算资源且因此过度支付)的负担。
88.在一些实施方案中,虚拟机实例1022被用来执行任务。例如,此类任务可包括训练机器学习模型。如图10所示,每个虚拟机实例1022包括操作系统(os)1024、语言运行时1026以及一个或多个ml训练容器1030。通常,ml训练容器1030是使用在虚拟机实例上可用的资源在该实例内创建的逻辑单元并且可以用于使任务的执行与在该实例中发生的其他过程(例如,任务执行)隔离。在一些实施方案中,ml训练容器1030是由一个或多个容器图像和顶部容器层形成的。每个容器图像可还包括一个或多个图像层,其中每个图像层表示可执行指令。如上所述,可执行指令中的一些或全部一起表示定义了机器学习模型的算法。对ml训练容器1030所作的改变(例如,新文件的创建、现有文件的修改、文件删除等)存储在顶部容器层中。如果删除了ml训练容器1030,则也删除顶部容器层。然而,形成删除的ml训练容器1030中的一部分的一个或多个容器图像可以保持不变。ml训练容器1030可实现例如为linux容器(lxc)、docker容器等。
89.在一些实施方案中,ml训练容器1030可单独包括运行时1034、代码1037和代码1037所需的依赖项1032。运行时1034可由形成用于形成ml训练容器1030的容器图像的至少一部分的一个或多个可执行指令(例如,定义用于在由容器图像形成的容器中运行的操作系统和/或运行时的容器图像中的一个或多个可执行指令)定义。代码1037包括一个或多个可执行指令,其形成用于形成ml训练容器1030的容器图像的至少一部分。例如,代码1037包括容器图像中的表示定义机器学习模型的算法的可执行指令,其可引用(或利用)来自依赖项1032的代码或库。运行时1034被配置为响应于用于开始机器学习模型训练的指令来执行代码1037。代码1037的执行导致模型数据的生成,如下面更详细描述的。
90.在一些实施方案中,代码1037包括表示定义了不同机器学习模型的算法的可执行指令。例如,代码1037包括一组可执行指令,其表示定义第一机器学习模型的第一算法;以及第二组可执行指令,其表示定义第二机器学习模型的第二算法。在一些实施方案中,虚拟
机实例1022执行代码1037并且训练所有的机器学习模型。在一些实施方案中,虚拟机实例1022执行代码1037,从而选择机器学习模型中的一个机器学习模型以进行训练。例如,虚拟机实例1022可标识由训练请求指示的训练数据的类型,并且选择与训练数据的所标识类型相对应的机器学习模型以进行训练(例如,执行表示定义了所选择的机器学习模型的算法的可执行指令)。
91.在一些实施方案中,运行时1034与由虚拟机实例1022利用的运行时1026相同。在一些实施方案中,运行时1034不同于由虚拟机实例1022利用的运行时1026。
92.在一些实施方案中,模型训练系统120使用包括在训练请求中的一个或多个容器图像(或响应于所接收的训练请求从容器数据存储设备1070检索的容器图像)来创建和初始化在虚拟机实例1022中的ml训练容器1030。例如,模型训练系统120创建ml训练容器1030,其包括一个或多个容器图像和/或顶部容器层。
93.在开始训练过程之前,在一些实施方案中,模型训练系统120从训练请求中所指示的位置检索训练数据。例如,在训练请求中所指示的位置可以是在训练数据存储设备1060中的位置。因此,模型训练系统120从训练数据存储设备1060中所指示的位置检索训练数据。在一些实施方案中,模型训练系统120在开始训练过程之前不检索训练数据。相反,模型训练系统120在训练过程期间使训练数据从所指示的位置流出。例如,模型训练系统120可最初检索训练数据中的一部分并且向训练机器学习模型的虚拟机实例1022提供所检索的部分。一旦虚拟机实例1022已应用并使用所检索的部分或者一旦虚拟机实例1022将要使用所有所检索的部分(例如,存储所检索的部分的缓冲器几乎是空的),模型训练系统120则可检索训练数据中的第二部分并且向虚拟机实例1022提供第二检索部分,依此类推。
94.在一些实施方案中,为了执行机器学习模型训练,虚拟机实例1022执行存储在ml训练容器1030中的代码1037。例如,代码1037包括可执行指令中的一些或全部,其形成在其中初始化的ml训练容器1030的容器图像。因此,虚拟机实例1022执行可执行指令中的一些或全部(其形成在其中初始化的ml训练容器1030的容器图像),以训练机器学习模型。虚拟机实例1022根据包括在所述训练请求中的超参数值来执行可执行指令中的一些或全部。作为说明性示例,虚拟机实例1022通过标识针对某些参数(例如,系数、权重、重心等)的值来训练机器学习模型。标识的值取决于定义如何执行训练的超参数。因此,虚拟机实例1022可执行可执行指令以发起机器学习模型训练过程,其中训练过程是使用包括在训练请求中的超参数值运行的。可执行指令的执行可包括虚拟机实例1022将由模型训练系统120检索的训练数据作为输入参数应用于所执行的指令中的一些或全部。
95.在一些实施方案中,执行可执行指令致使虚拟机实例1022(例如,ml训练容器1030)生成模型数据。例如,ml训练容器1030生成模型数据并且将模型数据存储在ml训练容器1030的文件系统中。模型数据包括正被训练的机器学习模型的特性,诸如在机器学习模型中的多个层、机器学习模型的超参数、机器学习模型的系数、机器学习模型的权重等。特别地,所生成的模型数据包括用于定义正被训练的机器学习模型的特性的值。在一些实施方案中,执行可执行指令致使修改ml训练容器1030,使得将模型数据写入ml训练容器1030的顶部容器层,和/或修改形成ml训练容器1030的一部分的一个或多个容器图像以包括模型数据。
96.虚拟机实例1022(或模型训练系统120本身)从ml训练容器1030提取生成的模型数
据并且将生成的模型数据以与虚拟机实例1022和/或正被训练的机器学习模型相关联的条目存储在训练模型数据存储设备1075中。在一些实施方案中,虚拟机实例1022生成包括模型数据的单个文件并且将单个文件存储在训练模型数据存储设备1075中。在一些实施方案中,虚拟机实例1022在训练机器学习模型的过程期间生成多个文件,其中每个文件包括模型数据。在一些实施方案中,每个模型数据文件包括相同或不同的模型数据信息(例如,一个文件标识算法的结构,另一个文件包括系数列表等)。虚拟机实例1022可在一旦训练完成时将多个文件打包成单个文件并且将单个文件存储在训练模型数据存储设备1075中。替代地,虚拟机实例1022将多个文件存储在训练模型数据存储设备1075中。在训练过程正在进行的同时和/或在训练过程完成之后,虚拟机实例1022将一个或多个文件存储在训练模型数据存储设备1075中。
97.在一些实施方案中,在训练过程正在进行时,虚拟机实例1022定期将一个或多个模型数据文件存储在训练模型数据存储设备1075中。因此,可以在训练过程期间的不同时间将一个或多个模型数据文件存储在训练模型数据存储设备1075中。对应于特定时间的每一组模型数据文件或截至特定时间存在于训练模型数据存储设备1075中的每一组模型数据文件可能是表示在训练过程的不同阶段期间部分训练的机器学习模型的不同版本的检查点。因此,在训练完成之前,用户可以经由用户装置1002以如下所述的方式提交部署和/或执行请求,以部署和/或执行部分训练的机器学习模型的一个版本(例如,截至训练过程的某个阶段的被训练的机器学习模型)。部分训练的机器学习模型的一个版本可基于存储在训练模型数据存储设备1075中的模型数据文件中的一些或全部。
98.在一些实施方案中,虚拟机实例1022执行存储在多个ml训练容器1030中的代码1037。例如,包括在容器图像中的算法可以呈允许训练过程的并行化的格式。因此,模型训练系统120可创建在训练请求中提供的容器图像的多个副本并且致使虚拟机实例1022在单独的ml训练容器1030中加载每个容器图像副本。然后,虚拟机实例1022可以并行地执行存储在ml训练容器1030中的代码1037。虚拟机实例1022还可向每个ml训练容器1030提供配置信息(例如,指示

n’个ml训练容器1030共同训练机器学习模型以及接收配置信息的特定ml训练容器1030是n个里第x个ml训练容器1030的信息),其可包括在所得的模型数据中。在一些实施方案中,通过并行化训练过程,模型训练系统120可显著地减少训练时间。
99.在一些实施方案中,多个虚拟机实例1022执行存储在多个ml训练容器1030中的代码1037。例如,用于训练特定机器学习模型的资源可超过单个虚拟机实例1022的限制。然而,包括在容器图像中的算法可以呈允许训练过程的并行化的格式。因此,模型训练系统120可创建在训练请求中提供的容器图像的多个副本、使多个虚拟机实例1022初始化并且致使每个虚拟机实例1022在一个或多个单独的ml训练容器1030中加载容器图像副本。然后,虚拟机实例1022可各自并行地执行存储在ml训练容器1030中的代码1037。模型训练系统120还可经由虚拟机实例1022向每个ml训练容器1030提供配置信息(例如,指示n个ml训练容器1030共同训练机器学习模型以及接收配置信息的特定ml训练容器1030是n个里第x个ml训练容器1030的信息,指示m个虚拟机实例1022共同训练机器学习模型以及接收配置信息的特定ml训练容器1030是在m个里第y个虚拟机实例1022中初始化的信息等),其可以包括在所得的模型数据中。如上所述,在一些实施方案中,通过并行化训练过程,模型训练系统120可显著地减少训练时间。
100.在一些实施方案中,模型训练系统120包括多个物理计算装置,并且物理计算装置中的两个或更多个物理计算装置托管执行代码1037的一个或多个虚拟机实例1022。因此,除了在不同的虚拟机实例1022和/或ml训练容器1030上之外,并行化可以发生于不同的物理计算装置上。
101.在一些实施方案中,模型训练系统120包括ml模型评估器1028。ml模型评估器1028可以在机器学习模型正被训练时监测虚拟机实例1022,从而获得生成的模型数据并且处理获得的模型数据以生成模型度量。例如,模型度量可包括质量度量,诸如正被训练的机器学习模型的错误率,正被训练的机器学习模型的统计分布,正被训练的机器学习模型的等待时间,正被训练的机器学习模型的置信水平(例如,已知正被训练的机器学习模型的准确度的置信水平等。ml模型评估器1028可以从训练数据存储设备1060获得用于正被训练的机器学习模型的模型数据和评估数据。评估数据与用于训练机器学习模型的数据分离并且包括输入数据和预期的输出(例如,已知的结果)两者,并且因此ml模型评估器1028可使用模型数据定义机器学习模型并且通过将输入数据作为输入提供给机器学习模型来执行机器学习模型。然后,ml模型评估器1028可比较机器学习模型的输出与预期的输出,并且基于该比较来确定正被训练的机器学习模型的一个或多个质量度量(例如,错误率可以是机器学习模型输出与预期的输出之间的差异或距离)。
102.在一些实施方案中,ml模型评估器1028在训练过程期间定期地生成模型度量并且将模型度量存储在训练度量数据存储设备1065中。虽然正在训练机器学习模型,但是用户可经由用户装置1002从训练度量数据存储设备1065访问并检索模型度量。然后,用户可使用模型度量来确定是否要调整训练过程和/或停止训练过程。例如,模型度量可指示机器学习模型表现不佳(例如,具有高于阈值的错误率,具有不是预期的或期望的分布(例如,不是二项分布、泊松分布、几何分布、正态分布、高斯分布等)的统计分布,具有高于阈值的执行等待时间,具有低于阈值的置信水平)和/或表现逐渐恶化(例如,质量度量随时间推移而继续恶化)。作为响应,在一些实施方案中,用户可经由用户装置1002将请求传输到模型训练系统120以修改正被训练的机器学习模型(例如,传输修改请求)。请求可包括新的或修改的容器图像、新的或修改的算法、新的或修改的超参数和/或新的或修改的描述要在其上训练机器学习模型的计算机器的信息。模型训练系统120可相应地修改机器学习模型。例如,模型训练系统120可致使虚拟机实例1022可选地删除现有的ml训练容器1030、使用包括在请求中的信息中的一些或全部来创建并初始化新的ml训练容器1030并且执行存储在新的ml训练容器1030中的代码1037以重新启动机器学习模型训练过程。作为另一个示例,模型训练系统120可致使虚拟机实例1022根据修改请求中提供的数据来修改存储在现有的ml训练容器1030中的代码的执行。在一些实施方案中,用户可经由用户装置1002将请求传输到模型训练系统120以停止机器学习模型训练过程。模型训练系统120然后可指示虚拟机实例1022删除ml训练容器1030和/或删除存储在训练模型数据存储设备1075中的任何模型数据。
103.如下所述,在一些实施方案中,存储在训练模型数据存储设备1075中的模型数据由模型托管系统140使用以部署机器学习模型。替代地或附加地,用户装置1002或另一个计算装置(未示出)可从训练模型数据存储设备1075检索模型数据以在外部装置中实现学习算法。作为说明性示例,机器人装置可包括用于捕获输入数据的传感器。用户装置1002可从
训练模型数据存储设备1075检索模型数据并且将模型数据存储在机器人装置中。模型数据定义了机器学习模型。因此,机器人装置可以向机器学习模型提供捕获的输入数据作为输入,从而产生输出。然后,机器人装置可基于所得的输出来执行动作(例如,向前移动、抬起手臂、生成声音等)。
104.虽然虚拟机实例1022在图10中被示出为虚拟机实例1022的单个分组,但本技术的一些实施方案使被主动分配为执行任务的虚拟机实例1022与未被主动分配为执行任务的那些虚拟机实例1022分离。例如,被主动分配为执行任务的那些虚拟机实例1022被分组成“主动池”,而未被主动分配为执行任务的那些虚拟机实例1022则被置于“加温池”内。在一些实施方案中,在加温池内的那些虚拟机实例1022可以响应于训练请求而以启用任务的快速执行(例如,在一个或多个ml训练容器1030中的机器学习模型训练的快速初始化)所需的操作系统、语言运行时和/或其他软件进行预初始化。
105.在一些实施方案中,模型训练系统120包括处理单元、网络接口、计算机可读介质驱动器和输入/输出装置接口,所有这些可以经由通信总线彼此通信。网络接口可向一个或多个网络或计算系统提供连接性。因此,处理单元可从其他计算系统或服务(例如,用户装置1002、模型托管系统140等)接收信息和指令。处理单元还可向和从虚拟机实例1022的存储器进行通信并且还经由输入/输出装置接口提供用于可选的显示器的输出信息。输入/输出装置接口还可从可选的输入装置接受输入。存储器可包含计算机程序指令(其在一些实施方案中被分组为模块),处理单元执行计算机程序指令以便实现本公开的一个或多个方面。
106.在一些实施方案中,模型托管系统140包括单个物理计算装置或使用一个或多个计算网络(未示出)互连的多个物理计算装置,其中一个或多个物理计算装置托管一个或多个虚拟机实例1042。模型托管系统140可基于对执行被训练的机器学习模型的需求来处理计算能力(例如,容器、实例等)的获取和配置。然后,模型托管系统140可使用计算能力来执行机器学习模型,如在下面更详细描述的。模型托管系统140可基于经由模型托管系统140的前端1049从用户装置1002接收的执行请求的容量来自动地进行缩放,从而减轻了用户不得不担心过度利用(例如,获取太少的计算资源且经受性能问题)或利用不足(例如,获取了比运行机器学习模型所必需的更多的计算资源且因此过度支付)的负担。
107.在一些实施方案中,虚拟机实例1042被用来执行任务。例如,这些任务可包括执行机器学习模型。如图10所示,每个虚拟机实例1042包括操作系统(os)1044、语言运行时1046以及一个或多个ml评分容器1050。ml评分容器1050与ml训练容器1030的相似之处在于ml评分容器1050是使用在虚拟机实例上可用的资源在该实例内创建的逻辑单元,并且可用于使任务的执行与在该实例中发生的其他过程(例如,任务执行)隔离。在一些实施方案中,ml评分容器1050是由一个或多个容器图像和顶部容器层形成的。每个容器图像还包括一个或多个图像层,其中每个图像层表示可执行指令。如上所述,可执行指令中的一些或全部一起表示定义了机器学习模型的算法。对ml评分容器1050所作的改变(例如,新文件的创建、现有文件的修改、文件删除等)存储在顶部容器层中。如果删除了ml评分容器1050,则也删除顶部容器层。然而,形成删除的ml评分容器1050中的一部分的一个或多个容器图像可保持不变。ml评分容器1050可实现例如为linux容器。
108.在一些实施方案中,ml评分容器1050各自包括运行时1054、代码1056和代码1056
所需的依赖项1052(例如,支持软件,诸如库)。运行时1054可由形成用于形成ml评分容器1050的容器图像的至少一部分的一个或多个可执行指令(例如,定义用于在由容器图像形成的容器中运行的操作系统和/或运行时的容器图像中的一个或多个可执行指令)定义。代码1056包括一个或多个可执行指令,其形成用于形成ml评分容器1050的容器图像的至少一部分。例如,代码1056包括容器图像中的表示定义机器学习模型的算法的可执行指令,其可引用依赖项1052。代码1056还可包括表示所定义的机器学习模型的特性的模型数据,如下面更详细描述的。运行时1054被配置为响应于用于开始执行机器学习模型的指令来执行代码1056。代码1056的执行导致输出(例如,预测或“推理”结果)的生成,如下面更详细描述的。
109.在一些实施方案中,运行时1054与由虚拟机实例1042利用的运行时1046相同。在一些实施方案中,运行时1054不同于由虚拟机实例1042利用的运行时1046。
110.在一些实施方案中,模型托管系统140使用包括在部署请求中的一个或多个容器图像(或响应于所接收的部署请求从容器数据存储设备1070检索的容器图像)来创建和初始化在虚拟机实例1042中的ml评分容器1050。例如,模型托管系统140创建ml评分容器1050,其包括一个或多个容器图像和/或顶部容器层。
111.如上所述,在一些实施方案中,用户装置1002可经由前端1049向模型托管系统140提交部署请求和/或执行请求。部署请求致使模型托管系统140将被训练的机器学习模型部署到虚拟机实例1042中。例如,所述部署请求可包括对端点(例如,端点名称,诸如http端点名称)的标识以及对一个或多个被训练的机器学习模型(例如,存储在训练模型数据存储设备1075中的一个或多个模型数据文件的位置)的标识。可选地,部署请求还包括对存储在容器数据存储设备1070中的一个或多个容器图像的标识。
112.在接收到部署请求时,模型托管系统140使在一个或多个托管的虚拟机实例1042中的一个或多个ml评分容器1050初始化。在部署请求包括对一个或多个容器图像的标识的实施方案中,模型托管系统140从一个或多个所标识的容器图像形成一个或多个ml评分容器1050。例如,在部署请求中标识的容器图像可以是用于形成ml训练容器1030的相同的容器图像,所述ml训练容器1030用于训练对应于部署请求的机器学习模型。因此,一个或多个ml评分容器1050的代码1056包括在一个或多个容器图像中的一个或多个可执行指令,其表示定义机器学习模型的算法。在部署请求不包括对容器图像的标识的实施方案中,模型托管系统140从适于执行一个或多个所标识的被训练的机器学习模型的存储在容器数据存储设备1070中的一个或多个容器图像形成一个或多个ml评分容器1050。例如,适当的容器图像可以是包括可执行指令的容器图像,所述可执行指令表示定义了一个或多个所标识的被训练的机器学习模型的算法。
113.在一些实施方案中,模型托管系统140还通过检索对应于一个或多个所标识的被训练的机器学习模型的模型数据来形成一个或多个ml评分容器1050。例如,部署请求可标识存储在训练模型数据存储设备1075中的一个或多个模型数据文件的位置。在部署请求中标识了单个模型数据文件的实施方案中,模型托管系统140从训练模型数据存储设备1075检索所标识的模型数据文件并且将模型数据文件插入单个ml评分容器1050中,这形成了代码1056的一部分。在一些实施方案中,模型数据文件进行归档或压缩(例如,从单独文件的包形成)。因此,模型托管系统140将模型数据文件解档或解压缩以获得多个单独的文件,并
且将单独的文件插入ml评分容器1050中。在一些实施方案中,模型托管系统140将模型数据文件存储在与模型数据文件在生成模型数据文件的ml训练容器1030中的存储位置相同的位置中。例如,模型数据文件最初以一定的偏移存储在ml训练容器1030的顶部容器层中,并且模型托管系统140然后将模型数据文件以相同的偏移存储在ml评分容器1050的顶部容器层中。
114.在部署请求中标识了多个模型数据文件的实施方案中,模型托管系统140从训练模型数据存储设备1075检索所标识的模型数据文件。模型托管系统140可将模型数据文件插入同一ml评分容器1050中,插入在同一虚拟机实例1042中初始化的不同ml评分容器1050中,或插入在不同的虚拟机实例1042中初始化的不同ml评分容器1050中。作为说明性示例,部署请求可标识对应于不同的被训练的机器学习模型的多个模型数据文件,这是因为被训练的机器学习模型是相关的(例如,一个被训练的机器学习模型的输出被用作另一个被训练的机器学习模型的输入)。因此,用户可能期望部署多个机器学习模型,以最终接收依赖于多个机器学习模型的输出的单个输出。
115.在一些实施方案中,模型托管系统140将一个或多个初始化的ml评分容器1050与在部署请求中标识的端点相关联。例如,一个或多个初始化的ml评分容器1050中的每个初始化的ml评分容器可与网络地址相关联。模型托管系统140可将一个或多个网络地址映射到所标识的端点,并且模型托管系统140或另一个系统(例如,路由系统,未示出)可存储映射。因此,用户装置1002可使用端点参考存储在一个或多个ml评分容器1050中的一个或多个被训练的机器学习模型。这允许ml评分容器1050的网络地址变化,而不会致使操作用户装置1002的用户改变用户参考被训练的机器学习模型的方式。
116.一旦一个或多个ml评分容器1050被初始化,一个或多个ml评分容器1050则准备好执行一个或多个被训练的机器学习模型。在一些实施方案中,用户装置1002经由前端1049将执行请求传输到模型托管系统140,其中执行请求标识端点并且包括至机器学习模型的输入(例如,一组输入数据)。模型托管系统140或另一个系统(例如,路由系统,未示出)可以获得执行请求、标识对应于所标识的端点的一个或多个ml评分容器1050以及将输入路由至一个或多个所标识的ml评分容器1050。
117.在一些实施方案中,虚拟机实例1042响应于模型托管系统140接收到执行请求,执行存储在所标识的ml评分容器1050中的代码1056。特别地,代码1056的执行致使对应于算法的代码1056中的可执行指令读取存储在ml评分容器1050中的模型数据文件、使用包括在执行请求中的输入作为输入参数并且生成对应输出。作为说明性示例,算法可包括系数、权重、层、集群重心等。对应于算法的代码1056中的可执行指令可读取模型数据文件以确定用于系数、权重、层、集群重心等的值。可执行指令可包括输入参数,并且包括在执行请求中的输入可由虚拟机实例1042作为输入参数供给。在提供了机器学习模型特性和输入参数的情况下,可完成虚拟机实例1042对可执行指令的执行,从而产生输出。
118.在一些实施方案中,虚拟机实例1042将输出存储在模型预测数据存储设备1080中。替代地或另外地,虚拟机实例1042经由前端1049将输出传输到用户装置1002,提交执行结果。
119.在一些实施方案中,执行请求对应于一组相关的被训练的机器学习模型。因此,ml评分容器1050可将输出传输到在相同的虚拟机实例1042中或在不同的虚拟机实例1042中
初始化的第二ml评分容器1050。然后,使第二ml评分容器1050初始化的虚拟机实例1042可以执行存储在第二ml评分容器1050中的第二代码1056,从而将接收的输出作为输入参数提供给第二代码1056中的可执行指令。第二ml评分容器1050还包括存储在其中的模型数据文件,其是由第二代码1056中的可执行指令读取的,以确定用于定义机器学习模型的特性的值。第二代码1056的执行产生第二输出。然后,使第二ml评分容器1050初始化的虚拟机实例1042可经由前端1049将第二输出传输到模型预测数据存储设备1080和/或用户装置1002(例如,如果不需要更多的被训练的机器学习模型以生成输出)或将第二输出传输到在相同或不同的虚拟机实例1042中初始化的第三ml评分容器1050(例如,如果需要来自一个或多个附加的被训练的机器学习模型的输出),并且可相对于第三ml评分容器1050来重复上面提及的过程。
120.虽然虚拟机实例1042在图10中被示出为虚拟机实例1042的单个分组,但本技术的一些实施方案使被主动分配为执行任务的虚拟机实例1042与未被主动分配为执行任务的那些虚拟机实例1042分离。例如,被主动分配为执行任务的那些虚拟机实例1042被分组成“主动池”,而未被主动分配为执行任务的那些虚拟机实例1042则被置于“加温池”内。在一些实施方案中,在加温池内的那些虚拟机实例1042可响应于部署和/或执行请求而以启用任务的快速执行(例如,一个或多个ml评分容器1050的快速初始化、在一个或多个ml评分容器中的代码1056的快速执行等)所需的操作系统、语言运行时和/或其他软件进行预初始化。
121.在一些实施方案中,模型托管系统140包括处理单元、网络接口、计算机可读介质驱动器和输入/输出装置接口,所有这些可以经由通信总线彼此通信。网络接口可向一个或多个网络或计算系统提供连接性。因此,处理单元可从其他计算系统或服务(例如,用户装置1002、模型训练系统120等)接收信息和指令。处理单元还可向和从虚拟机实例1042的存储器进行通信并且还经由输入/输出装置接口提供用于可选的显示器的输出信息。输入/输出装置接口还可从可选的输入装置接受输入。存储器可包含计算机程序指令(其在一些实施方案中被分组为模块),处理单元执行计算机程序指令以便实现本公开的一个或多个方面。
122.在一些实施方案中,操作环境支持多种不同类型的机器学习模型,诸如多臂老虎机模型、强化学习模型、集成机器学习模型、深度学习模型等。
123.图10中描绘的模型训练系统120和模型托管系统140不旨在限制。例如,模型训练系统120和/或模型托管系统140也可在具有比图10所示的更少或更多数目的装置的计算环境内操作。因此,图10中的模型训练系统120和/或模型托管系统140的描述可被视作说明性的,而不是对本公开的限制。例如,模型训练系统120和/或模型托管系统140或其各种组成部分可以实现各种网络服务部件、托管或“云”计算环境和/或点对点网络配置,以实现本文所述过程的至少一部分。在一些实施方案中,模型训练系统120和/或模型托管系统140直接在硬件或由硬件装置执行的软件中实现,且可以例如包括在被配置为执行计算机可执行指令以用于执行本文所述的各种特征的物理计算机硬件上实现的一个或多个物理或虚拟服务器。一个或多个服务器可以是地理分散或地理同位例如在一个或多个存在点(pop)或区域数据中心中。
124.前端1029处理从用户装置1002接收的所有训练请求并且供应虚拟机实例1022。在
一些实施方案中,前端1029用作至由模型训练系统120提供的所有其他服务的前门。前端1029处理请求并且确保请求被适当地授权。例如,前端1029可确定与训练请求相关联的用户是否被授权发起训练过程。
125.类似地,前端1049处理从用户装置1002接收的所有部署和执行请求并且供应虚拟机实例1042。在一些实施方案中,前端1049用作至由模型托管系统140提供的所有其他服务的前门。前端1049处理请求并且确保请求被适当地授权。例如,前端1049可确定与部署请求或执行请求相关联的用户是否被授权访问所指示的模型数据和/或执行所指示的机器学习模型。
126.训练数据存储设备1060存储训练数据和/或评估数据。训练数据可以是用于训练机器学习模型的数据并且评估数据可以是用于评估机器学习模型的性能的数据。在一些实施方案中,训练数据和评估数据有共同的数据。在一些实施方案中,训练数据和评估数据没有共同的数据。在一些实施方案中,训练数据包括输入数据和预期的输出。虽然训练数据存储设备1060被描绘为位于模型训练系统120和模型托管系统140的外部,但是这不旨在限制。例如,在未示出的一些实施方案中,训练数据存储设备1060位于模型训练系统120或模型托管系统140中的至少一者的内部。
127.在一些实施方案中,训练度量数据存储设备1065存储模型度量。虽然训练度量数据存储设备1065被描绘为位于模型训练系统120和模型托管系统140的外部,但是这不旨在限制。例如,在未示出的一些实施方案中,训练度量数据存储设备1065位于模型训练系统120或模型托管系统140中的至少一者的内部。
128.容器数据存储设备1070存储容器图像,诸如用于形成ml训练容器1030和/或ml评分容器1050的容器图像,其可以由各种虚拟机实例1022和/或1042检索到。虽然容器数据存储设备1070被描绘为位于模型训练系统120和模型托管系统140的外部,但是这不旨在限制。例如,在未示出的一些实施方案中,容器数据存储设备1070位于模型训练系统120和模型托管系统140中的至少一者的内部。
129.训练模型数据存储设备1075存储模型数据文件。在一些实施方案中,模型数据文件中的一些模型数据文件由单个文件组成,而其他模型数据文件则是多个单独文件的包。虽然训练模型数据存储设备1075被描绘为位于模型训练系统120和模型托管系统140的外部,但是这不旨在限制。例如,在未示出的一些实施方案中,训练模型数据存储设备1075位于模型训练系统120或模型托管系统140中的至少一者的内部。
130.在一些实施方案中,模型预测数据存储设备1080存储由ml评分容器1050生成的输出(例如,执行结果)。虽然模型预测数据存储设备1080被描绘为位于模型训练系统120和模型托管系统140的外部,但是这不旨在限制。例如,在未示出的一些实施方案中,模型预测数据存储设备1080位于模型训练系统120和模型托管系统140中的至少一者的内部。
131.尽管模型训练系统120、模型托管系统140、训练数据存储设备1060、训练度量数据存储设备1065、容器数据存储设备1070、训练模型数据存储设备1075和模型预测数据存储设备1080被示出为单独的部件,但是这不旨在限制。在一些实施方案中,这些部件中的任一个或所有可以进行组合以执行本文所述的功能。例如,这些部件中的任一个或所有可以由单个计算装置、或由在逻辑上或物理上一起分组以共同地用作服务器系统的多个不同的计算装置诸如计算机服务器来实现。这些部件中的任一个或所有可经由共享的内部网络进行
通信,并且集体系统(例如,在本文也称为机器学习服务)可经由一个或多个网络106与用户装置1002中的一个或多个用户装置通信。
132.各种示例性用户装置1002示出于图10中,其包括台式计算机、膝上型计算机和移动电话,每一者均通过说明的方式提供。通常,用户装置1002可以是任何计算装置,诸如台式计算机、膝上型计算机或平板计算机、个人计算机、可穿戴计算机、服务器、个人数字助理(pda)、混合pda/移动手机、移动手机、电子书阅读器、机顶盒、语音命令装置、相机、数字媒体播放器等。在一些实施方案中,模型训练系统120和/或模型托管系统140向用户装置1002提供一个或多个用户接口、命令行接口(cli)、应用编程接口(api)和/或其他编程接口,其用于提交训练请求、部署请求和/或执行请求。在一些实施方案中,用户装置1002可执行与模型训练系统120和/或模型托管系统140交互的独立应用,以提交训练请求、部署请求和/或执行请求。
133.在一些实施方案中,网络106包括任何有线网络、无线网络或其组合。例如,网络106可以是个域网、局域网、广域网、空中广播网络(例如,用于收音机或电视)、电缆网络、卫星网络、蜂窝电话网络或其组合。作为另一个示例,网络106可以是可能由各种不同方操作的链接网络的可公开访问的网络,诸如互联网。在一些实施方案中,网络106可以是专用或半专用网络,诸如公司或大学内联网。网络106可包括一个或多个无线网络,诸如全球移动通信系统(gsm)网络、码分多址(cdma)网络、长期演进(lte)网络或任何其他类型的无线网络。网络106可使用经由互联网或其他前述类型的网络中的任一种进行通信的协议和部件。例如,由网络106使用的协议可包括http、http安全(https)、消息队列遥测传输(mqtt)、受约束应用协议(coap)等。经由互联网或其他前述类型的通信网络中的任一种进行通信的协议和部件是本领域的技术人员所公知的,且因此未在本文进行更详细的描述。
134.图11示出了根据一些实施方案的示例性提供商网络(或“服务提供商系统”)环境。提供商网络1100可经由一个或多个虚拟化服务1110向客户提供资源虚拟化,所述一个或多个虚拟化服务允许客户购买、租借或以其他方式获得在一个或多个数据中心中的一个或多个提供商网络内的装置上实现的虚拟化资源(包括但不限于计算资源和存储资源)的实例1112。本地互联网协议(ip)地址1116可以与资源实例1112相关联;本地ip地址是提供商网络1100上的资源实例1112的内部网络地址。在一些实施方案中,提供商网络1100还可提供客户可从提供商1100获得的公共ip地址1114和/或公共ip地址范围(例如,互联网协议版本4(ipv4)或互联网协议版本6(ipv6)地址)。
135.常规上,提供商网络1100可经由虚拟化服务1110来允许服务提供商的客户(例如,操作包括一个或多个客户装置1152的一个或多个客户端网络1150a-1150c的客户)使指派或分配给客户的至少一些公共ip地址1114与指派给客户的特定资源实例1112动态地相关联。提供商网络1100还可允许客户将先前映射到分配给客户的一个虚拟化计算资源实例1112的公共ip地址1114重新映射到也分配给客户的另一个虚拟化计算资源实例1112。例如,服务提供商(诸如,一个或多个客户网络1150a-1150c的运营商)的客户可使用由服务提供商提供的虚拟化计算资源实例1112和公共ip地址1114来实现客户特定的应用并且在诸如互联网的中间网络1140上呈现客户的应用。然后,中间网络1140上的其他网络实体1120可以生成到由一个或多个客户网络1150a-1150c发布的目的地公共ip地址1114的流量;所述流量被路由到服务提供商数据中心,并且在数据中心处经由网络底层路由到虚拟化计算
资源实例1112的当前映射到目的地公共ip地址1114的本地ip地址1116。类似地,来自虚拟化计算资源实例1112的响应流量可以经由网络底层路由回到中间网络1140上到源实体1120。
136.如本文中所使用的,本地ip地址是指例如提供商网络中的资源实例的内部或“私有”网络地址。本地ip地址可以在由互联网工程任务组(ietf)的注释请求(rfc)1918保留的地址块内和/或具有由ietf rfc 4193指定的地址格式并且可以在提供商网络内更改。源自提供商网络外部的网络流量不会直接路由到本地ip地址;而是,流量使用映射到资源实例的本地ip地址的公共ip地址。提供商网络可以包括提供网络地址转换(nat)或类似功能以执行从公共ip地址到本地ip地址的映射且反之亦然的网络装置或设备。
137.公共ip地址是由服务提供商或客户分配给资源实例的互联网可变网络地址。路由到公共ip地址的流量例如经由1:1nat被转换,并且转发到资源实例的相应本地ip地址。
138.一些公共ip地址可由提供商网络基础架构分配给特定资源实例;这些公共ip地址可称为标准公共ip地址,或简称为标准ip地址。在一些实施方案中,标准ip地址到资源实例的本地ip地址的映射是所有资源实例类型的默认启动配置。
139.至少一些公共ip地址可被分配给提供商网络1100的客户或由提供商网络的客户获得;然后,客户可将其分配到的公共ip地址指派给分配给客户的特定资源实例。这些公共ip地址可称为客户公共ip地址,或简称为客户ip地址。代替如在标准ip地址的情况下由提供商网络1100指派给资源实例,客户ip地址可由客户例如经由服务提供商提供的api指派给资源实例。与标准ip地址不同,客户ip地址被分配给客户帐户,并且可根据需要或期望由相应客户重新映射到其他资源实例。客户ip地址与客户账户(而不是特定的资源实例)相关联,并且客户控制该ip地址,直到客户选择释放它为止。与常规的静态ip地址不同,客户ip地址允许客户通过将客户的公共ip地址重新映射到与客户账户相关联的任何资源实例来掩盖资源实例或可用性区域故障。例如,客户ip地址使客户能够通过将客户ip地址重新映射到替换资源实例来解决客户资源实例或软件的问题。
140.图12是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。硬件虚拟化服务1220向客户提供多个计算资源1224(例如,vm)。例如,可以将计算资源1224租借或租赁给提供商网络1200的客户(例如,实现客户网络1250的客户)。每个计算资源1224可设置有一个或多个本地ip地址。提供商网络1200可被配置为将分组从计算资源1224的本地ip地址路由到公共互联网目的地,以及从公共互联网源路由到计算资源1224的本地ip地址。
141.提供商网络1200可为例如经由本地网络1256耦合到中间网络1240的客户网络1250提供经由耦合到中间网络1240和提供商网络1200的硬件虚拟化服务1220实现虚拟计算系统1292的能力。在一些实施方案中,硬件虚拟化服务1220可提供一个或多个api 1202(例如,网络服务接口),经由所述api,客户网络1250可例如经由控制台1294(例如,基于网络的应用程序、独立应用程序、移动应用程序等)访问由硬件虚拟化服务1220提供的功能。在一些实施方案中,在提供商网络1200处,客户网络1250处的每个虚拟计算系统1292可以对应于被租赁、租借或以其他方式提供给客户网络1250的计算资源1224。
142.客户可以例如经由一个或多个api 1202从虚拟计算系统1292和/或另一个客户装置1290(例如,经由控制台1294)的实例访问存储服务1210的功能性,以从提供商网络1200
所提供的虚拟数据存储设备1216(例如,文件夹或“桶”、虚拟化卷、数据库等)的存储资源1218a-1218n中访问数据以及将数据存储到所述存储资源。在一些实施方案中,可在客户网络1250处提供虚拟化数据存储网关(未示出),所述虚拟化数据存储网关可以在本地高速缓存至少一些数据(例如,频繁访问的或关键的数据),并且可经由一个或多个通信信道与存储服务1210通信以从本地高速缓存上传新的或修改的数据,使得维护数据的主存储设备(虚拟化数据存储设备1216)。在一些实施方案中,用户经由虚拟计算系统1292和/或在另一个客户装置1290上可以经由充当存储虚拟化服务的存储服务1210安装和访问虚拟数据存储设备1216卷,并且这些卷在用户看来可以是本地(虚拟化)存储装置1298。
143.虽然在图12中未示出,但是还可以经由一个或多个api 1202从提供商网络1200内的资源实例访问一个或多个虚拟化服务。例如,客户、设备服务提供商或其他实体可以经由api 1202从提供商网络1200上的相应的虚拟网络内部访问虚拟化服务,以请求在虚拟网络内或另一个虚拟网络内分配一个或多个资源实例。
144.说明性系统
145.在一些实施方案中,实现本文描述的技术的一部分或全部的系统可包括通用计算机系统,所述通用计算机系统包括或被配置为访问一个或多个计算机可访问介质,诸如图13所示的计算机系统1300。在所说明的实施方案中,计算机系统1300包括经由输入/输出(i/o)接口1330耦合到系统存储器1320的一个或多个处理器1310。计算机系统1300还包括耦合到i/o接口1330的网络接口1340。虽然图13将计算机系统1300示出为单个计算装置,但在各种实施方案中,计算机系统1300可包括一个计算装置或被配置为作为单个计算机系统1300一起工作的任何数目的计算装置。
146.在各种实施方案中,计算机系统1300可以是包括一个处理器1310的单处理器系统或者包括若干处理器1310(例如,两个、四个、八个或另一合适数目)的多处理器系统。处理器1310可以是能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器1310可以是实现多种指令集架构(isa)中的任一种(诸如x86、arm、powerpc、sparc、或mips isa或任何其他合适的isa)的通用或嵌入式处理器。在多处理器系统中,处理器1310中的每一个通常可以(但不一定)实现相同的isa。
147.系统存储器1320可以存储可由一个或多个处理器1310访问的指令和数据。在各种实施方案中,可以使用任何合适的存储器技术(诸如随机存取存储器(ram)、静态ram(sram)、同步动态ram(sdram)、非易失性/快闪型存储器或任何其他类型的存储器)来实现系统存储器1320。在示出的实施方案中,实现一个或多个期望功能的程序指令和数据(诸如,上述那些方法、技术和数据)被示出为作为ampgs代码1325和数据1326存储在系统存储器1320内。
148.在一个实施方案中,i/o接口1330可被配置为协调装置中的处理器1310、系统存储器1320与任何外围装置(包括网络接口1340或其他外围接口)之间的i/o流量。在一些实施方案中,i/o接口1330可以执行任何必需协议、时序或其他数据变换以将来自一个部件(例如,系统存储器1320)的数据信号转换成适于供另一个部件(例如,处理器1310)使用的格式。在一些实施方案中,i/o接口1330可包括支持通过各种类型的外围总线(例如,诸如外围部件互连(pci)总线标准或通用串行总线(usb)标准的变型)附接的装置。在一些实施方案中,i/o接口1330的功能可分割成两个或更多个单独的部件,例如,诸如北桥和南桥。而且,
在一些实施方案中,i/o接口1330(诸如至系统存储器1320的接口)的功能性中的一些或全部可以直接并入处理器1310中。
149.网络接口1340可被配置为允许在计算机系统1300与附接到一个或多个网络1350的其他装置1360(例如诸如,其他计算机系统或如图1中示出的装置)之间交换数据。在各种实施方案中,网络接口1340可以支持经由任何合适的有线或无线通用数据网络(例如,诸如以太网网络类型)进行的通信。另外,网络接口1340可以支持经由电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、经由存储区域网(san)(诸如光纤通道san)或经由i/o任何其他合适类型的网络和/或协议进行的通信。
150.在一些实施方案中,计算机系统1300包括一个或多个卸载卡1370(包括一个或多个处理器1375,并且可能包括一个或多个网络接口1340),所述一个或多个卸载卡使用i/o接口1330(例如,实现快速外围组件互连快速(pci-e)标准的一个版本或诸如快速路径互连(qpi)或超路径互连(upi)的另一互连的总线)来连接。例如,在一些实施方案中,计算机系统1300可充当托管计算实例的主机电子装置(例如,作为硬件虚拟化服务的一部分进行操作),并且一个或多个卸载卡1370执行可管理在主机电子装置上执行的计算实例的虚拟化管理器。作为示例,在一些实施方案中,一个或多个卸载卡1370可执行计算实例管理操作,诸如暂停和/或取消暂停计算实例、启动和/或终止计算实例、执行存储器转移/复制操作等。在一些实施方案中,这些管理操作可由一个或多个卸载卡1370与由计算机系统1300的其他处理器1310a-1310n执行的管理程序(例如,根据来自管理程序的请求)协作来执行。然而,在一些实施方案中,由一个或多个卸载卡1370实现的虚拟化管理器可以容纳来自其他实体(例如,来自计算实例本身)的请求,并且可以不与任何单独的管理程序协作(或不服务于任何单独的管理程序)。
151.在一些实施方案中,系统存储器1320可以是被配置为存储如上所述的程序指令和数据的计算机可访问介质的一个实施方案。然而,在其他实施方案中,程序指令和/或数据可以在不同类型的计算机可访问介质上接收、发送或存储。一般来说,计算机可访问介质可包括非暂时性存储介质或存储器介质,诸如磁性介质或光学介质,例如经由i/o接口1330耦合到计算机系统1300的磁盘或dvd/cd。非暂时性计算机可访问存储介质还可包括任何易失性或非易失性介质,诸如ram(例如,sdram、双倍数据速率(ddr)sdram、sram等)、只读存储器(rom)等,它们可作为系统存储器1320或另一种类型的存储器包括在计算机系统1300的一些实施方案中。此外,计算机可访问介质可以包括经由通信介质(诸如网络和/或无线链路,诸如可以经由网络接口1340实现)传达的传输介质或信号,诸如电信号、电磁信号或数字信号。
152.本文所讨论或提出的各种实施方案可在多种多样的操作环境中实现,在一些情况下,所述操作环境可包括能够被用来操作若干应用中的任一个的一个或多个用户计算机、计算装置或处理装置。用户或客户端装置可包括:若干通用个人计算机中的任一个,诸如运行标准操作系统的台式计算机或笔记本计算机;以及运行移动软件并且能够支持若干联网协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括若干工作站,所述工作站运行多种可商购获得的操作系统和用于诸如开发和数据库管理等目的的其他已知应用中的任一个。这些装置还可包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和/或能够经由网络通信的其他装置。
153.大多数实施方案利用本领域技术人员将熟悉的至少一个网络来支持使用多种广泛可用的协议中的任一个进行通信,所述协议诸如传输控制协议/互联网协议(tcp/ip)、文件传送协议(ftp)、通用即插即用(upnp)、网络文件系统(nfs)、公共互联网文件系统(cifs)、可扩展消息传递和现场协议(xmpp)、appletalk等。所述一个或多个网络可包括例如局域网(lan)、广域网(wan)、虚拟专用网(vpn)、互联网、内联网、外联网、公用电话交换网(pstn)、红外网络、无线网络以及它们的任何组合。
154.在使用网络服务器的实施方案中,网络服务器可以运行各种服务器或中间层应用中的任一种,包括http服务器、文件传输协议(ftp)服务器、通用网关接口(cgi)服务器、数据服务器、java服务器、业务应用服务器等。服务器还能够响应来自用户装置的请求而执行程序或脚本,如通过执行可以实施为以任何编程语言(如c、c#或c )或任何脚本语言(如perl、python、php或tcl)以及其组合写成的一个或多个脚本或程序的一个或多个网络应用。所述一个或多个服务器还可包括数据库服务器,包括但不限于可从oracle(r)、microsoft(r)、sybase(r)、ibm(r)等购得的数据库服务器。数据库服务器可为关系型或非关系型(例如,“nosql”)、分布式或非分布式等。
155.本文所公开的环境可包括如上文所讨论的多种数据存储区以及其他存储器和存储介质。这些可驻留在多种位置,诸如驻留在计算机中的一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或驻留在跨网络位于计算机中的任一个或全部计算机远程的存储介质上。在实施方案的特定集中,信息可驻留在本领域技术人员熟悉的存储区域网(san)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要的文件可视情况本地和/或远程存储。在系统包括计算机化装置的情况下,这个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(cpu)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和/或至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可包括一个或多个存储装置,诸如硬盘驱动器、光存储装置和诸如随机存取存储器(ram)或只读存储器(rom)的固态存储装置、以及可移动媒体装置、存储卡、闪存卡等。
156.此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上文所论述。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储装置以及用于暂时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用或网络浏览器。应当了解,替代实施方案可具有与上述实施方案不同的众多变体。例如,也可使用定制硬件,和/或特定元件可在硬件、软件(包括可移植软件,诸如小程序)或两者中实现。此外,可采用与诸如网络输入/输出装置的其他计算装置的连接。
157.用于含有代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移动和不可移动的介质,包括ram、rom、电可擦可编程只读存储器(eeprom)、快闪存储器或其他存储器技术、光盘只读存储器(cd-rom)、数字通用光盘(dvd)或其他光学
存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教示,本技术领域普通技术人员将了解实现各种实施方案的其他方式和/或方法。
158.在前面的描述中,描述了各种实施方案。出于解释的目的,阐述了具体的配置和细节,以便提供对实施方案的透彻理解。然而,对本领域的技术人员也将明显的是,可以在没有具体细节的情况下实践所述实施方案。此外,为了不使所描述的实施方案变得模糊,可能会省略或简化众所周知的特征。
159.在本文中使用带有虚线边框(例如,大破折号、小破折号、点破折号和点)的带括号的文本和块来说明向一些实施方案添加附加特征的可选操作。然而,这种表示法不应被视为意味着这些是仅有的选项或可选操作和/或在某些实施方案中带有实线边界的框不是可选的。
160.在各种实施方案中,具有后缀字母的附图标记(例如,1218a-1218n)可以用于指示所引用实体可有一个或多个实例,并且当存在多个实例时,每个实例不必相同,而是可以替代地共享一些一般特征或按惯例行事。此外,除非有相反的明确说明,否则所使用的特定后缀并非意在暗示存在特定量的实体。因此,在各种实施方案中,使用相同或不同后缀字母的两个实体可以具有或可以不具有相同数目的实例。
161.提及“一个实施方案”、“实施方案”、“示例性实施方案”等指示所描述的实施方案可以包括特定特征、结构或特性,但是每个实施方案可能不一定包括所述特定特征、结构或特性。此外,此类短语不一定是指同一实施方案。此外,当结合实施方案来描述特定特征、结构或特性时,应认为,无论是否有明确描述,结合其他实施方案来实现此类特征、结构或特性也在本领域技术人员的知识范围内。
162.此外,在上述各种实施方案中,除非另外特别指出,否则诸如词语“a、b或c中的至少一个”的析取语言意图被理解为表示a、b或c或其任何组合(例如,a、b和/或c)。因此,析取语言通常不意图并且不应被理解为暗示给定实施方案要求a中的至少一个、b中的至少一个和c中的至少一个各自存在。
163.可根据以下条款描述所公开的技术的至少一些实施方案:
164.1.一种计算机实现的方法,其包括:
165.在提供商网络的端点处接收由用户的计算装置发起的请求消息以至少部分地基于数据集来标识机器学习(ml)管道,所述请求消息标识所述数据集、探索预算和目标度量;
166.至少部分地基于所述数据集来生成多个ml管道计划,其中每个ml管道计划标识至少一个预处理阶段和一种ml模型算法类型;
167.向所述用户的所述计算装置发送标识所述多个ml管道计划的消息;
168.接收由所述计算装置发起的消息,所述消息指示基于所述多个ml管道计划中的一个或多个ml管道计划来执行ml管道探索的请求;
169.发起所述ml管道探索,所述ml管道探索包括:
170.至少部分地并行执行在所述多个ml管道计划内标识的多个预处理阶段以产生多个经处理的数据集,其中所述预处理阶段中的每个预处理阶段利用所述数据集的至少一些值或基于所述数据集来导出的值;以及
171.至少部分地并行执行多个ml模型训练作业,每次执行利用所述多个经处理的数据
集中的至少一个经处理的数据集来使用所述ml模型算法类型中的一个ml模型算法类型训练ml模型;以及
172.向所述用户的所述计算装置传输指示所述ml管道探索的结果的数据,所述结果指示所述多个ml模型训练作业中的每个ml模型训练作业的所述目标度量的值。
173.2.如条款1所述的计算机实现的方法,其中所述探索预算指示以下中的至少一者:
174.要执行的ml模型训练作业的最大数目;
175.与所述ml管道探索的方面相关联的最大时间量;或
176.与所述ml管道探索相关联的最大成本。
177.3.如条款1-2中任一项所述的计算机实现的方法,其还包括:
178.接收由所述用户的所述计算装置发起的第二请求消息,所述第二请求消息指示部署对应于所述多个ml模型训练作业中的一个ml模型训练作业的ml管道的请求;
179.传输消息以致使所述提供商网络的模型托管系统在端点后部署所述ml管道;以及
180.向所述计算装置或存储位置传输所述端点的标识符。
181.4.一种计算机实现的方法,其包括:
182.接收由用户的计算装置发起的第一请求消息以至少部分地基于数据集来标识机器学习(ml)管道,所述第一请求消息标识所述数据集和探索预算;
183.至少部分地基于所述数据集来生成多个ml管道计划;
184.向所述计算装置传输第一一个或多个消息以致使所述计算装置将与所述多个ml管道计划相关联的信息呈现给所述用户;
185.接收由所述计算装置发起的第二请求消息以开始探索所述多个ml管道计划中的至少两个ml管道计划;
186.基于所述数据集的至少一部分和所述探索预算来训练对应于所述至少两个ml管道计划的多个ml模型;以及
187.向所述用户的所述计算装置传输指示所述训练的结果的第二一个或多个消息。
188.5.如条款4所述的计算机实现的方法,其中所述探索预算指示以下中的至少一者:
189.要作为所述训练的一部分训练的ml模型的最大数目;
190.与所述训练的方面相关联的最大时间量;或
191.与所述训练相关联的最大成本。
192.6.如条款4-5中任一项所述的计算机实现的方法,其中所述请求消息包括所述数据集的存储位置的资源标识符,并且其中所述方法还包括:
193.由多租户提供商网络的机器学习服务经由使用所述资源标识符从存储服务获得所述数据集。
194.7.如条款6所述的计算机实现的方法,其还包括:
195.将所述数据集分割成多个集合,所述多个集合包括训练集合,
196.其中所述多个所述多个ml模型的所述训练至少利用所述训练集合。
197.8.如条款4-7中任一项所述的计算机实现的方法,其中所述多个ml模型的所述训练至少部分地并行执行,因为所述多个ml模型中的至少两个ml模型至少部分地在相同时间点主动训练。
198.9.如条款4-8中任一项所述的计算机实现的方法,其中对于所述多个ml管道计划
中的每个ml管道计划,所述信息标识一个或多个预处理阶段和ml模型算法类型。
199.10.如条款9所述的计算机实现的方法,其中所述信息由所述计算装置经由交互代码应用程序呈现给所述用户,并且其中所述方法还包括:
200.接收由所述用户的所述计算装置发起的第三请求消息,所述第三请求消息指示执行所述多个ml管道计划中的一个ml管道计划的一个阶段的请求。
201.11.如条款10所述的计算机实现的方法,其还包括:
202.接收由所述用户的所述计算装置发起的第四请求消息,所述第四请求消息指示执行所述多个ml管道计划中的一个ml管道计划的修改的管道的请求,其中所述修改的管道由所述用户基于所述一个ml管道计划生成。
203.12.如条款4-10中任一项所述的计算机实现的方法,其还包括:
204.接收由所述用户的所述计算装置发起的第五请求消息,所述第五请求消息指示部署对应于所述多个ml管道计划中的一个ml管道计划的ml管道的请求;
205.传输第六请求消息以致使提供商网络的模型托管系统在端点后部署所述ml管道;以及
206.向所述计算装置或存储位置传输所述端点的标识符。
207.13.如条款4-12中任一项所述的计算机实现的方法,其中所述向所述用户的所述计算装置传输数据致使所述用户的所述计算装置将所述结果呈现给所述用户,所述结果包括对应于所述多个ml模型的多个试验的标识符,其中对于所述多个试验中的每个试验,所述结果包括通过所述对应ml模型的所述训练生成的目标度量的值。
208.14.如条款13所述的计算机实现的方法,其中所述请求还标识所述目标度量。
209.15.如条款4-14中任一项所述的计算机实现的方法,其还包括:
210.基于所述多个ml模型中的至少两个ml模型来生成包括集成ml模型的另一个ml管道。
211.16.一种系统,其包括:
212.存储服务,所述存储服务由提供商网络的第一一个或多个电子装置实现,所述存储服务用于接收代表用户传输的数据集并且将所述数据集存储到存储位置;以及
213.机器学习(ml)服务,所述ml服务由所述提供商网络的第二一个或多个电子装置实现,所述ml服务包括指令,所述指令在执行时致使所述ml服务:
214.接收由所述用户的计算装置发起的请求消息以至少部分地基于数据集来标识ml管道,所述请求消息标识所述数据集和探索预算;
215.至少部分地基于所述数据集来生成多个ml管道计划;
216.向所述计算装置传输与所述多个ml管道计划相关联的信息;
217.基于所述数据集的至少一部分和所述探索预算来训练对应于所述多个ml管道计划的多个ml模型;并且
218.向所述用户的所述计算装置传输指示所述训练的结果的数据。
219.17.如条款16所述的系统,其中所述ml服务致使所述多个ml模型至少部分地并行训练,因为所述多个ml模型中的至少两个ml模型至少部分地在相同时间点主动训练。
220.18.如条款16-17中任一项所述的系统,其中与所述多个ml管道计划相关联的所述信息对于所述多个ml管道计划中的每个ml管道计划包括一个或多个预处理阶段和ml模型
算法类型的标识符。
221.19.如条款16-18中任一项所述的系统,其中所述信息由所述计算装置经由交互代码应用程序呈现给所述用户,并且其中所述指令在执行时还致使所述ml服务:
222.接收由所述用户的所述计算装置发起的第二请求消息,所述第二请求消息指示执行所述多个ml管道计划中的一个ml管道计划的一个阶段或管道的请求;并且
223.致使执行所述一个阶段或管道。
224.20.如条款19所述的系统,其中所述指令在执行时还致使所述ml服务:
225.接收由所述用户的所述计算装置发起的第三请求消息,所述第三请求消息指示执行所述多个ml管道计划中的一个ml管道计划的修改的阶段的请求,其中所述修改的阶段由所述用户基于所述一个阶段指定;并且
226.导致执行所述修改的阶段。
227.因此,说明书和附图应被认为是说明性的而不是限制性的。然而,将显而易见的是,在不脱离如在权利要求中阐述的本公开的更宽泛精神和范围的情况下,可对其做出各种修改和改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献