CN111448550B - 网络可访问的机器学习模型训练和托管*** - Google Patents

网络可访问的机器学习模型训练和托管*** Download PDF

Info

Publication number
CN111448550B
CN111448550B CN201880074178.7A CN201880074178A CN111448550B CN 111448550 B CN111448550 B CN 111448550B CN 201880074178 A CN201880074178 A CN 201880074178A CN 111448550 B CN111448550 B CN 111448550B
Authority
CN
China
Prior art keywords
training
container
model
virtual machine
data
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
Application number
CN201880074178.7A
Other languages
English (en)
Other versions
CN111448550A (zh
Inventor
小托马斯·艾伯特·福尔哈伯
斯特凡诺·斯特凡尼
欧文·托马斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN111448550A publication Critical patent/CN111448550A/zh
Application granted granted Critical
Publication of CN111448550B publication Critical patent/CN111448550B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Image Analysis (AREA)

Abstract

本文提供了一种网络可访问的机器学习服务。例如,所述网络可访问的机器学习服务提供商可以操作一个或多个物理计算装置,用户装置可经由网络访问所述一个或多个物理计算装置。这些物理计算装置可以托管虚拟机实例,其被配置为使用用户装置参考的训练数据来训练机器学习模型。这些物理计算装置可以进一步托管虚拟机实例,其被配置为响应于用户提供的输入来执行训练的机器学习模型,从而生成经由所述网络存储和/或传输到用户装置的输出。

Description

网络可访问的机器学习模型训练和托管***
背景技术
计算装置可以利用通信网络来交换数据。公司和组织操作使许多计算装置互连以支持操作或向第三方提供服务的计算机网络。计算***可以位于单个地理位置中或位于多个不同的地理位置(例如,经由私有或公共通信网络互连)中。具体地说,数据中心或数据处理中心(本文通常称为“数据中心”)可以包括许多互连的计算***以向数据中心的用户提供计算资源。为了便于提高对数据中心资源的利用,虚拟化技术允许单个物理计算装置为数据中心的用户托管作为独立的计算装置来呈现和操作的虚拟机的一个或多个实例。
附图说明
在整个附图中,附图标记可以重复使用以指示在引用元件之间的对应性。提供了附图以示出本文所述的示例实施例且附图不旨在限制本公开的范围。
图1是在一些实施例中训练和托管了机器学习模型的说明性操作环境的框图。
图2是根据一些实施例的图1的操作环境的框图,其示出了由操作环境的部件执行以训练机器学习模型的操作。
图3是根据一些实施例的图1的操作环境的框图,其示出了由操作环境的部件执行以修改机器学习模型训练的操作。
图4是根据一些实施例的图1的操作环境的框图,其示出了由操作环境的部件执行以并行化机器学习模型训练过程的操作。
图5A是根据一些实施例的图1的操作环境的框图,其示出了由操作环境的部件执行以部署训练的机器学习模型的操作。
图5B是根据一些实施例的图1的操作环境的框图,其示出了由操作环境的部件执行以执行训练的机器学习模型的操作。
图6是根据一些实施例的图1的操作环境的框图,其示出了由操作环境的部件执行以执行相关机器学习模型的操作。
图7是根据一些实施例的流程图,其描绘了说明性地由模型训练***实施的机器学习模型训练例程。
图8描绘了根据本申请的训练和/或托管机器学习模型的说明性模型***诸如模型训练***和模型托管***的架构的一些实施例。
图9描绘了根据本申请的可以接收数据、准备数据、将训练请求传输到模型训练***以及将部署和/或执行请求传输到模型托管***的说明性终端用户装置的架构的一些实施例。
具体实施方式
如上所述,实施例使得单个物理计算装置(或多个物理计算装置)能够为用户托管作为独立的计算装置来呈现和操作的虚拟机的一个或多个实例。在一些实施例中,服务提供商可以利用虚拟化技术来提供网络可访问的机器学习服务,诸如本文所述的网络可访问的机器学习模型训练和托管***。例如,服务提供商可以操作用户装置可经由网络访问的一个或多个物理计算装置。这些物理计算装置可以托管虚拟机实例,其被配置为响应于从用户装置接收的命令来训练和/或执行机器学习模型。
本文所述的实施例提供了优于被配置为训练机器学习模型的常规计算***的若干技术效益。例如,训练机器学习模型可以导致大量的处理功率的使用,这是因为机器学习模型可能是非常复杂的,并且用于训练模型的数据量可能非常大(例如,为吉字节、太字节、拍字节等)。因此,一些用户获得物理上的大型常规计算机器来执行训练。然而,用户可以定制带有特定软件的这些常规计算机器以执行期望的模型训练。在另一方面,本文所述的实施例提供了用户不必生成并实施大量的定制代码的环境。相反,用户可以简单地提供刚好足以定义一种类型的机器学习模型以进行训练的信息,并且本文所述的实施例可以自动地使虚拟机实例初始化、使容器初始化和/或执行其他操作以实施模型训练服务。
在另一方面,本文所述的实施例被配置为在一些实施例中跨不同的物理计算装置分布训练。因此,可以显著地减少用于训练模型的时间。
如果所产生的训练模型证明是不准确的,则可能会损失宝贵的时间。在另一方面,本文所述的实施例可以在训练过程期间定期评估模型并且输出对应于评估的度量。因此,用户可以查看度量来确定例如正被训练的机器学习模型是否不准确以及要停止训练工作是否可能有益。
如果常规的计算机器已经在训练另一个模型的过程中,用户则可能体验到显著的机器学习模型训练延迟。在另一方面,本文所述的实施例在一些实施例中动态地分配计算资源以基于用户需求来执行模型训练。因此,如果单个用户或多个用户期望在重叠的时间周期期间训练多个机器学习模型,则可以同时执行训练。
然而,这些常规的服务通常被限制于单一类型的机器学习模型并且仅允许规定的数据输入格式。在另一方面,用户可能期望训练和使用可以接收不同类型的输入数据格式的许多不同类型的机器学习模型。不同于这些常规服务,本文所述的实施例提供了灵活的执行环境,其中可以训练和执行机器学习模型,而与机器学习模型的类型、定义机器学习模型的编程语言、机器学习模型的数据输入格式和/或机器学习模型的数据输出格式无关。
示例机器学习模型训练和托管环境
图1是在一些实施例中训练和托管了机器学习模型的说明性操作环境100的框图。操作环境100包括终端用户装置102、模型训练***120、模型托管***140、训练数据存储设备160、训练度量数据存储设备165、容器数据存储设备170、训练模型数据存储设备175和模型预测数据存储设备180。
示例模型训练***
在一些实施例中,用户经由用户装置102与模型训练***120交互以提供使模型训练***120训练一个或多个机器学习模型的数据。用户装置102可以经由模型训练***120的前端129与模型训练***120交互。例如,用户装置102可以向前端129提供训练请求,其包括容器图像(或多个容器图像)、输入数据的指示符(例如,输入数据的地址或位置)、超参数值(例如,指示算法将如何操作、有多少算法并行运行、要将数据分成多少集群等的值)和/或描述要在其上训练机器学习模型的计算机器的信息(例如,图形处理单元(GPU)实例类型、中央处理单元(CPU)实例类型、要分配的存储器的量、要用于训练的一种类型的虚拟机实例等)。
在一些实施例中,容器图像可以包括一个或多个层,其中每个层表示可执行指令。可执行指令中的一些或全部一起表示定义了机器学习模型的算法。可执行指令(例如,算法)可以以任何编程语言(例如,Python、Ruby、C++、Java等)进行编写。在一些实施例中,算法由用户经由用户装置102从算法存储库(例如,网络可访问的市场、由机器学习训练服务提供的数据存储设备等)预先生成并获得。在一些实施例中,算法是用户生成的。
在一些实施例中,用户装置102仅在训练请求中提供以任何编程语言编写的算法,而不是在训练请求中提供容器图像。模型训练***120随后将算法打包至最终加载至虚拟机实例122中的容器中,以用于训练机器学习模型,如下面更详细描述的。
在一些实施例中,用户装置102在训练请求中提供容器图像的指示符(例如,容器图像的地址或存储位置的指示符),而不是在训练请求中提供容器图像。例如,该容器图像可以存储在容器数据存储设备170中。然后,模型训练***120可以从指示的位置检索容器图像并且使用检索的容器图像创建容器。随后,将容器加载至虚拟机实例122中,以用于训练机器学习模型,如下面更详细描述的。
在一些实施例中,模型训练***120可以使用由用户装置102提供的信息来在一个或多个预建立的虚拟机实例122中训练机器学习模型。特别地,模型训练***120包括单个物理计算装置或使用一个或多个计算网络(未示出)互连的多个物理计算装置,其中物理计算装置托管一个或多个虚拟机实例122。模型训练***120可以基于描述要在其上训练由用户装置102提供的机器学习模型的计算机器的信息来处理计算能力的获取和配置(例如,容器、实例等,这在下面更详细地描述)。然后,模型训练***120可以使用计算能力来训练机器学习模型,如在下面更详细描述的。模型训练***120可以基于经由前端129从用户装置102接收的训练请求的容量自动地进行缩放,从而减轻了用户不得不担心过度利用(例如,获取太少的计算资源且经受性能问题)或利用不足(例如,获取了比训练机器学习模型所必需的更多的计算资源且因此过度支付)的负担。
在一些实施例中,虚拟机实例122被用来执行任务。例如,这些任务可以包括训练机器学习模型。如图1所示,每个虚拟机实例122包括操作***(OS)124、语言运行时126以及一个或多个机器学习(ML)训练容器130。通常,ML训练容器130是使用在虚拟机实例上可用的资源在该实例内创建的逻辑单元,并且可以用于使任务的执行与在该实例中发生的其他过程(例如,任务执行)隔离。在一些实施例中,ML训练容器130是由一个或多个容器图像和顶部容器层形成的。每个容器图像还包括一个或多个图像层,其中每个图像层表示可执行指令。如上所述,可执行指令中的一些或全部一起表示定义了机器学习模型的算法。对ML训练容器130所作的改变(例如,新文件的创建、现有文件的修改、文件删除等)存储在顶部容器层中。如果删除了ML训练容器130,则也删除顶部容器层。然而,形成删除的ML训练容器130中的一部分的容器图像可以保持不变。ML训练容器130可以实现例如为Linux容器。
在一些实施例中,ML训练容器130各自包括OS 132、运行时134和代码136的单独副本。OS 132和/或运行时134可以由形成用于形成ML训练容器130的容器图像的至少一部分的一个或多个可执行指令(例如,定义用于在由容器图像形成的容器中运行的操作***和/或运行时的容器图像中的可执行指令)定义。代码136包括一个或多个可执行指令,其形成用于形成ML训练容器130的容器图像的至少一部分。例如,代码136包括容器图像中的表示定义机器学习模型的算法的可执行指令。OS 132和/或运行时134被配置为响应于用于开始机器学习模型训练的指令来执行代码136。代码136的执行导致模型数据的生成,如下面更详细描述的。
在一些实施例中,代码136包括表示定义了不同机器学习模型的算法的可执行指令。例如,代码136包括一组可执行指令,其表示定义第一机器学习模型的第一算法;以及第二组可执行指令,其表示定义第二机器学习模型的第二算法。在一些实施例中,虚拟机实例122执行代码136并且训练所有的机器学习模型。在一些实施例中,虚拟机实例122执行代码136,从而选择机器学习模型中的一个以进行训练。例如,虚拟机实例122可以识别由训练请求指示的一种类型的训练数据,并且选择与识别类型的训练数据相对应的机器学习模型以进行训练(例如,执行表示定义了所选择的机器学习模型的算法的可执行指令)。
在一些实施例中,OS 132和运行时134与由虚拟机实例122利用的OS 124和运行时126相同。在一些实施例中,OS 132和/或运行时134不同于由虚拟机实例122利用的OS 124和/或运行时126。
在一些实施例中,模型训练***120使用包括在训练请求中的一个或多个容器图像(或响应于所接收的训练请求从容器数据存储设备170检索的容器图像)来创建和初始化在虚拟机实例122中的ML训练容器130。例如,模型训练***120创建ML训练容器130,其包括容器图像和/或顶部容器层。
在开始训练过程之前,在一些实施例中,模型训练***120从训练请求中所指示的位置检索训练数据。例如,在训练请求中所指示的位置可以是在训练数据存储设备160中的位置。因此,模型训练***120从训练数据存储设备160中所指示的位置检索训练数据。在一些实施例中,模型训练***120在开始训练过程之前不检索训练数据。相反,模型训练***120在训练过程期间使训练数据从所指示的位置流出。例如,模型训练***120可以最初检索训练数据中的一部分并且向训练机器学习模型的虚拟机实例122提供检索的部分。一旦虚拟机实例122已申请并使用所检索的部分或者一旦虚拟机实例122将要使用所有检索的部分(例如,存储所检索的部分的缓冲器几乎是空的),模型训练***120则可以检索训练数据中的第二部分并且向虚拟机实例122提供第二检索部分,依此类推。
在一些实施例中,为了执行机器学习模型训练,虚拟机实例122执行存储在ML训练容器130中的代码136。例如,代码136包括可执行指令中的一些或全部,其形成在其中初始化的ML训练容器130的容器图像。因此,虚拟机实例122执行可执行指令中的一些或全部(其形成在其中初始化的ML训练容器130的容器图像),以训练机器学习模型。虚拟机实例122根据包括在所述训练请求中的超参数值来执行可执行指令中的一些或全部。作为说明性示例,虚拟机实例122通过识别针对某些参数(例如,系数、权重、重心等)的值来训练机器学习模型。识别的值取决于定义如何执行训练的超参数。因此,虚拟机实例122可以执行可执行指令以发起机器学习模型训练过程,其中训练过程是使用包括在训练请求中的超参数值运行的。可执行指令的执行可以包括虚拟机实例122将由模型训练***120检索的训练数据作为输入参数应用于所执行的指令中的一些或全部。
在一些实施例中,执行可执行指令使得虚拟机实例122(例如,ML训练容器130)生成模型数据。例如,ML训练容器130生成模型数据并且将模型数据存储在ML训练容器130的文件***中。模型数据包括正被训练的机器学习模型的特性,诸如在机器学习模型中的多个层、机器学习模型的超参数、机器学习模型的系数、机器学习模型的权重等。特别地,所生成的模型数据包括用于定义正被训练的机器学习模型的特性的值。在一些实施例中,执行可执行指令使得修改ML训练容器130,使得将模型数据写入ML训练容器130的顶部容器层,和/或修改形成ML训练容器130的一部分的容器图像以包括模型数据。
虚拟机实例122(或模型训练***120本身)从ML训练容器130提取生成的模型数据并且将生成的模型数据以与虚拟机实例122和/或正被训练的机器学习模型相关联的条目存储在训练模型数据存储设备175中。在一些实施例中,虚拟机实例122生成包括模型数据的单个文件并且将单个文件存储在训练模型数据存储设备175中。在一些实施例中,虚拟机实例122在训练机器学习模型的过程期间生成多个文件,其中每个文件包括模型数据。在一些实施例中,每个模型数据文件包括相同或不同的模型数据信息(例如,一个文件识别算法的结构,另一个文件包括系数列表等)。虚拟机实例122可以在一旦训练完成时将多个文件打包成单个文件并且将单个文件存储在训练模型数据存储设备175中。可替代地,虚拟机实例122将多个文件存储在训练模型数据存储设备175中。在训练过程正在进行的同时和/或在训练过程完成之后,虚拟机实例122将文件存储在训练模型数据存储设备175中。
在一些实施例中,在训练过程正在进行时,虚拟机实例122定期将模型数据文件存储在训练模型数据存储设备175中。因此,可以在训练过程期间的不同时间将模型数据文件存储在训练模型数据存储设备175中。对应于特定时间的每一组模型数据文件或截至特定时间存在于训练模型数据存储设备175中的每一组模型数据文件可能是表示在训练过程的不同阶段期间部分训练的机器学习模型的不同版本的检查点。因此,在训练完成之前,用户可以经由用户装置102以如下所述的方式提交部署和/或执行请求,以部署和/或执行部分训练的机器学习模型的一个版本(例如,截至训练过程的某个阶段的被训练的机器学习模型)。部分训练的机器学习模型的一个版本可以基于存储在训练模型数据存储设备175中的模型数据文件中的一些或全部。
在一些实施例中,虚拟机实例122执行存储在多个ML训练容器130中的代码136。例如,包括在容器图像中的算法可以是允许训练过程的并行化的格式。因此,模型训练***120可以创建在训练请求中提供的容器图像的多个副本并且致使虚拟机实例122在单独的ML训练容器130中加载每个容器图像副本。然后,虚拟机实例122可以并行地执行存储在ML训练容器130中的代码136。虚拟机实例122还可以向每个ML训练容器130提供配置信息(例如,指示N个ML训练容器130共同训练机器学习模型以及接收配置信息的特定ML训练容器130是N个里第X个ML训练容器130的信息),其可以包括在所产生的模型数据中。在一些实施例中,通过并行化训练过程,模型训练***120可以显著地减少训练时间。
在一些实施例中,多个虚拟机实例122执行存储在多个ML训练容器130中的代码136。例如,用于训练特定机器学习模型的资源可以超过单个虚拟机实例122的限制。然而,包括在容器图像中的算法可以是允许训练过程的并行化的格式。因此,模型训练***120可以创建在训练请求中提供的容器图像的多个副本、使多个虚拟机实例122初始化并且致使每个虚拟机实例122在一个或多个单独的ML训练容器130中加载容器图像副本。然后,虚拟机实例122可以各自并行地执行存储在ML训练容器130中的代码136。模型训练***120还可以经由虚拟机实例122向每个ML训练容器130提供配置信息(例如,指示N个ML训练容器130共同训练机器学习模型以及接收配置信息的特定ML训练容器130是N个里第X个ML训练容器130的信息,指示M个虚拟机实例122共同训练机器学习模型以及接收配置信息的特定ML训练容器130是在M个里第Y个虚拟机实例122中初始化的信息等),其可以包括在所产生的模型数据中。如上所述,在一些实施例中,通过并行化训练过程,模型训练***120可以显著地减少训练时间。
在一些实施例中,模型训练***120包括多个物理计算装置,并且物理计算装置中的两个或更多个托管执行代码136的一个或多个虚拟机实例122。因此,除了在不同的虚拟机实例122和/或ML训练容器130上之外,并行化可以发生于不同的物理计算装置上。
在一些实施例中,模型训练***120包括ML模型评估器128。ML模型评估器128可以在机器学***(例如,已知正被训练的机器学***等。ML模型评估器128可以从训练数据存储设备160获得用于正被训练的机器学习模型的模型数据和评估数据。评估数据与用于训练机器学习模型的数据分离且包括输入数据和预期的输出(例如,已知的结果)两者,且因此ML模型评估器128可以使用模型数据定义机器学习模型并且通过将输入数据作为输入提供给机器学习模型来执行机器学习模型。然后,ML模型评估器128可以比较机器学习模型的输出与预期的输出,并且基于该比较确定正被训练的机器学习模型的一个或多个质量度量(例如,错误率可以是机器学习模型输出和预期的输出之间的差异或距离)。
在一些实施例中,ML模型评估器128在训练过程期间定期地生成模型度量并且将模型度量存储在训练度量数据存储设备165中。虽然正在训练机器学***)和/或表现逐渐恶化(例如,质量度量随时间继续恶化)。作为响应,在一些实施例中,用户可以经由用户装置102将请求传输到模型训练***120以修改正被训练的机器学习模型(例如,传输修改请求)。请求可以包括新的或修改的容器图像、新的或修改的算法、新的或修改的超参数和/或新的或修改的描述要在其上训练机器学习模型的计算机器的信息。模型训练***120可以相应地修改机器学习模型。例如,模型训练***120可以致使虚拟机实例122可选地删除现有的ML训练容器130、使用包括在请求中的信息中的一些或全部来创建并初始化新的ML训练容器130并且执行存储在新的ML训练容器130中的代码136以重新启动机器学习模型训练过程。作为另一个示例,模型训练***120可以致使虚拟机实例122根据修改请求中提供的数据来修改存储在现有的ML训练容器130中的代码的执行。在一些实施例中,用户可以经由用户装置102将请求传输到模型训练***120以停止机器学习模型训练过程。模型训练***120随后可以指令虚拟机实例122删除ML训练容器130和/或删除存储在训练模型数据存储设备175中的任何模型数据。
如下所述,在一些实施例中,存储在训练模型数据存储设备175中的模型数据由模型托管***140使用以部署机器学习模型。可替代地或另外地,用户装置102或另一计算装置(未示出)可以从训练模型数据存储设备175检索模型数据以在外部装置中实施学习算法。作为说明性示例,机器人装置可以包括用于捕获输入数据的传感器。用户装置102可以从训练模型数据存储设备175检索模型数据并且将模型数据存储在机器人装置中。模型数据定义了机器学习模型。因此,机器人装置可以向机器学习模型提供捕获的输入数据作为输入,从而产生输出。然后,机器人装置可以基于所产生的输出而执行动作(例如,向前移动、抬起手臂、生成声音等)。
虽然虚拟机实例122在图1中被示为虚拟机实例122的单个分组,但本申请的一些实施例使被主动分配为执行任务的虚拟机实例122与未被主动分配为执行任务的那些虚拟机实例122分离。例如,被主动分配为执行任务的那些虚拟机实例122被分组成“主动池”,而未被主动分配为执行任务的那些虚拟机实例122则被置于“加温池”内。在一些实施例中,在加温池内的那些虚拟机实例122可以响应于训练请求而以启用任务的快速执行(例如,在ML训练容器130中的机器学习模型训练的快速初始化)所需的操作***、语言运行时和/或其他软件进行预初始化。
在一些实施例中,模型训练***120包括处理单元、网络接口、计算机可读介质驱动器和输入/输出装置接口,所有这些可以经由通信总线彼此通信。网络接口可以向一个或多个网络或计算***提供连接性。因此,处理单元可以从其他计算***或服务(例如,用户装置102、模型托管***140等)接收信息和指令。处理单元还可以向和从虚拟机实例122的存储器进行通信并且还经由输入/输出装置接口提供用于可选的显示器的输出信息。输入/输出装置接口还可以从可选的输入装置接受输入。存储器可以包含计算机程序指令(其在一些实施例中被分组为模块),处理单元执行计算机程序指令以便实现本公开的一个或多个方面。
示例模型托管***
在一些实施例中,模型托管***140包括单个物理计算装置或使用一个或多个计算网络(未示出)互连的多个物理计算装置,其中物理计算装置托管一个或多个虚拟机实例142。模型托管***140可以基于对执行被训练的机器学习模型的需求来处理计算能力(例如,容器、实例等)的获取和配置。然后,模型托管***140可以使用计算能力来执行机器学习模型,如在下面更详细描述的。模型托管***140可以基于经由模型托管***140的前端149从用户装置102接收的执行请求的容量自动地进行缩放,从而减轻了用户不得不担心过度利用(例如,获取太少的计算资源且经受性能问题)或利用不足(例如,获取了比运行机器学习模型所必需的更多的计算资源且因此过度支付)的负担。
在一些实施例中,虚拟机实例142被用来执行任务。例如,这些任务可以包括执行机器学习模型。如图1所示,每个虚拟机实例142包括操作***(OS)144、语言运行时146以及一个或多个ML评分容器150。ML评分容器150与ML训练容器130的相似之处在于ML评分容器150是使用在虚拟机实例上可用的资源在该实例内创建的逻辑单元,并且可以用于使任务的执行与在该实例中发生的其他过程(例如,任务执行)隔离。在一些实施例中,ML评分容器150是由一个或多个容器图像和顶部容器层形成的。每个容器图像还包括一个或多个图像层,其中每个图像层表示可执行指令。如上所述,可执行指令中的一些或全部一起表示定义了机器学习模型的算法。对ML评分容器150所作的改变(例如,新文件的创建、现有文件的修改、文件删除等)存储在顶部容器层中。如果删除了ML评分容器150,则也删除顶部容器层。然而,形成删除的ML评分容器150中的一部分的容器图像可以保持不变。ML评分容器150可以实现例如为Linux容器。
在一些实施例中,ML评分容器150各自包括OS 152、运行时154和代码156的单独副本。OS 152和/或运行时154可以由形成用于形成ML评分容器150的容器图像的至少一部分的一个或多个可执行指令(例如,定义用于在由容器图像形成的容器中运行的操作***和/或运行时的容器图像中的可执行指令)定义。代码156包括一个或多个可执行指令,其形成用于形成ML评分容器150的容器图像的至少一部分。例如,代码156包括容器图像中的表示定义机器学习模型的算法的可执行指令。代码156还可以包括表示所定义的机器学习模型的特性的模型数据,如下面更详细描述的。OS 152和/或运行时154被配置为响应于用于开始执行机器学习模型的指令来执行代码156。代码156的执行导致输出(例如,预测结果)的生成,如下面更详细描述的。
在一些实施例中,OS 152和运行时154与由虚拟机实例142利用的OS 144和运行时146相同。在一些实施例中,OS 152和/或运行时154不同于由虚拟机实例142利用的OS 144和/或运行时146。
在一些实施例中,模型托管***140使用包括在部署请求中的一个或多个容器图像(或响应于所接收的部署请求从容器数据存储设备170检索的容器图像)来创建和初始化在虚拟机实例142中的ML评分容器150。例如,模型托管***140创建ML评分容器150,其包括容器图像和/或顶部容器层。
如上所述,在一些实施例中,用户装置102可以经由前端149向模型托管***140提交部署请求和/或执行请求。部署请求致使模型托管***140将被训练的机器学习模型部署到虚拟机实例142中。例如,所述部署请求可以包括对端点(例如,端点名称,诸如超文本传输协议(HTTP)端点名称)的识别以及对一个或多个被训练的机器学习模型(例如,存储在训练模型数据存储设备175中的一个或多个模型数据文件的位置)的识别。可选地,部署请求还包括对存储在容器数据存储设备170中的一个或多个容器图像的识别。
在接收到部署请求时,模型托管***140使在一个或多个托管的虚拟机实例142中的一个或多个ML评分容器150初始化。在部署请求包括对一个或多个容器图像的识别的实施例中,模型托管***140从所识别的容器图像形成ML评分容器150。例如,在部署请求中识别的容器图像可以是用于形成ML训练容器130的相同的容器图像,该ML训练容器130用于训练对应于部署请求的机器学习模型。因此,ML评分容器150的代码156包括在容器图像中的一个或多个可执行指令,其表示定义机器学习模型的算法。在部署请求不包括对容器图像的识别的实施例中,模型托管***140从适于执行所识别的被训练的机器学习模型的存储在容器数据存储设备170中的一个或多个容器图像形成ML评分容器150。例如,适当的容器图像可以是包括可执行指令的容器图像,该可执行指令表示定义了所识别的被训练的机器学习模型的算法。
在一些实施例中,模型托管***140还通过检索对应于所识别的被训练的机器学习模型的模型数据来形成ML评分容器150。例如,部署请求可以识别存储在训练模型数据存储设备175中的模型数据文件的位置。在部署请求中识别了单个模型数据文件的实施例中,模型托管***140从训练模型数据存储设备175检索识别的模型数据文件并且将模型数据文件***单个ML评分容器150中,这形成了代码156的一部分。在一些实施例中,模型数据文件进行归档或压缩(例如,从单独文件的包形成)。因此,模型托管***140将模型数据文件解档或解压缩以获得多个单独的文件,并且将单独的文件***ML评分容器150中。在一些实施例中,模型托管***140将模型数据文件存储在与模型数据文件在生成模型数据文件的ML训练容器130中的存储位置相同的位置中。例如,模型数据文件最初以一定的偏移存储在ML训练容器130的顶部容器层中,并且模型托管***140随后将模型数据文件以相同的偏移存储在ML评分容器150的顶部容器层中。
在部署请求中识别了多个模型数据文件的实施例中,模型托管***140从训练模型数据存储设备175检索识别的模型数据文件。模型托管***140可以将模型数据文件***同一ML评分容器150中,***在同一虚拟机实例142中初始化的不同ML评分容器150中,或***在不同的虚拟机实例142中初始化的不同ML评分容器150中。作为说明性示例,部署请求可以识别对应于不同的被训练的机器学习模型的多个模型数据文件,这是因为被训练的机器学习模型是相关的(例如,一个被训练的机器学习模型的输出被用作另一个被训练的机器学习模型的输入)。因此,用户可能期望部署多个机器学习模型,以最终接收依赖于多个机器学习模型的输出的单个输出。
在一些实施例中,模型托管***140将初始化的ML评分容器150与在部署请求中识别的端点关联起来。例如,初始化的ML评分容器150中的每一个可以与网络地址相关联。模型托管***140可以将网络地址映射到所识别的端点,并且模型托管***140或另一个***(例如,路由***,未示出)可以存储映射。因此,用户装置102可以使用端点参考存储在ML评分容器150中的被训练的机器学习模型。这允许ML评分容器150的网络地址变化,而不会致使操作用户装置102的用户改变用户参考被训练的机器学习模型的方式。
一旦ML评分容器150被初始化,ML评分容器150则准备好执行被训练的机器学习模型。在一些实施例中,用户装置102经由前端149将执行请求传输到模型托管***140,其中执行请求识别端点并且包括至机器学习模型的输入(例如,一组输入数据)。模型托管***140或另一个***(例如,路由***,未示出)可以获得执行请求、识别对应于所识别的端点的ML评分容器150以及将输入路由至所识别的ML评分容器150。
在一些实施例中,虚拟机实例142响应于模型托管***140接收到执行请求,执行存储在所识别的ML评分容器150中的代码156。特别地,代码156的执行致使对应于算法的代码156中的可执行指令读取存储在ML评分容器150中的模型数据文件、使用包括在执行请求中的输入作为输入参数并且生成对应的输出。作为说明性示例,算法可以包括系数、权重、层、集群重心等。对应于算法的代码156中的可执行指令可以读取模型数据文件以确定用于系数、权重、层、集群重心等的值。可执行指令可以包括输入参数,并且包括在执行请求中的输入可以由虚拟机实例142作为输入参数供给。在提供了机器学习模型特性和输入参数的情况下,可以完成虚拟机实例142对可执行指令的执行,从而产生输出。
在一些实施例中,虚拟机实例142将输出存储在模型预测数据存储设备180中。可替代地或另外地,虚拟机实例142经由前端149将输出传输至用户装置102,提交执行结果。
在一些实施例中,执行请求对应于一组相关的被训练的机器学习模型。因此,ML评分容器150可以将输出传输到在相同的虚拟机实例142中或在不同的虚拟机实例142中初始化的第二ML评分容器150。然后,使第二ML评分容器150初始化的虚拟机实例142可以执行存储在第二ML评分容器150中的第二代码156,从而将接收的输出作为输入参数提供给第二代码156中的可执行指令。第二ML评分容器150还包括存储在其中的模型数据文件,其是由第二代码156中的可执行指令读取的,以确定用于定义机器学习模型的特性的值。第二代码156的执行产生第二输出。然后,使第二ML评分容器150初始化的虚拟机实例142可以经由前端149将第二输出传输到模型预测数据存储设备180和/或用户装置102(例如,如果不需要更多的被训练的机器学习模型以生成输出)或将第二输出传输到在相同或不同的虚拟机实例142中初始化的第三ML评分容器150(例如,如果需要来自一个或多个另外的被训练的机器学习模型的输出),并且可以相关于第三ML评分容器150来重复上面提及的过程。
虽然虚拟机实例142在图1中被示为虚拟机实例142的单个分组,但本申请的一些实施例使被主动分配为执行任务的虚拟机实例142与未被主动分配为执行任务的那些虚拟机实例142分离。例如,被主动分配为执行任务的那些虚拟机实例142被分组成“主动池”,而未被主动分配为执行任务的那些虚拟机实例142则被置于“加温池”内。在一些实施例中,在加温池内的那些虚拟机实例142可以响应于部署和/或执行请求而以启用任务的快速执行(例如,在ML评分容器150的快速初始化、ML评分容器中的代码156的快速执行等)所需的操作***、语言运行时和/或其他软件进行预初始化。
在一些实施例中,模型托管***140包括处理单元、网络接口、计算机可读介质驱动器和输入/输出装置接口,所有这些可以经由通信总线彼此通信。网络接口可以向一个或多个网络或计算***提供连接性。因此,处理单元可以从其他计算***或服务(例如,用户装置102、模型训练***120等)接收信息和指令。处理单元还可以向和从虚拟机实例142的存储器进行通信并且还经由输入/输出装置接口提供用于可选的显示器的输出信息。输入/输出装置接口还可以从可选的输入装置接受输入。存储器可以包含计算机程序指令(其在一些实施例中被分组为模块),处理单元执行计算机程序指令以便实现本公开的一个或多个方面。
示例训练和托管环境的另外实施例
在一些实施例中,操作环境100支持多种不同类型的机器学习模型,诸如多臂***模型、强化学习模型、集成机器学习模型、深度学习模型等。
图1中描绘的模型训练***120和模型托管***140不旨在限制。例如,模型训练***120和/或模型托管***140还可以在具有比图1中所示更少或更多数量的装置的计算环境内操作。因此,图1中模型训练***120和/或模型托管***140的描绘可以被认为是说明性的,而不是限制本公开。例如,模型训练***120和/或模型托管***140或其各种组成部分可以实现各种网络服务部件、托管或“云”计算环境和/或点对点网络配置,以实现本文所述过程的至少一部分。在一些实施例中,模型训练***120和/或模型托管***140直接在硬件或由硬件装置执行的软件中实现,且可以例如包括在被配置为执行计算机可执行指令以用于执行本文所述的各种特征的物理计算机硬件上实现的一个或多个物理或虚拟服务器。一个或多个服务器可以是地理分散或地理同位例如在一个或多个存在点(POP)或区域数据中心中。
前端129处理从用户装置102接收的所有训练请求并且供应虚拟机实例122。在一些实施例中,前端129用作至由模型训练***120提供的所有其他服务的前门。前端129处理请求并且确保请求被适当地授权。例如,前端129可以确定与训练请求相关联的用户是否被授权发起训练过程。
类似地,前端149处理从用户装置102接收的所有部署和执行请求并且供应虚拟机实例142。在一些实施例中,前端149用作至由模型托管***140提供的所有其他服务的前门。前端149处理请求并且确保请求被适当地授权。例如,前端149可以确定与部署请求或执行请求相关联的用户是否被授权访问所指示的模型数据和/或执行所指示的机器学习模型。
训练数据存储设备160存储训练数据和/或评估数据。训练数据可以是用来训练机器学习模型的数据并且评估数据可以是用来评估机器学习模型的性能的数据。在一些实施例中,训练数据和评估数据有共同的数据。在一些实施例中,训练数据和评估数据没有共同的数据。在一些实施例中,训练数据包括输入数据和预期的输出。虽然训练数据存储设备160被描绘为位于模型训练***120和模型托管***140的外部,但是这不旨在限制。例如,在未示出的一些实施例中,训练数据存储设备160位于模型训练***120或模型托管***140中的至少一个的内部。
在一些实施例中,训练度量数据存储设备165存储模型度量。虽然训练度量数据存储设备165被描绘为位于模型训练***120和模型托管***140的外部,但是这不旨在限制。例如,在未示出的一些实施例中,训练度量数据存储设备165位于模型训练***120或模型托管***140中的至少一个的内部。
容器数据存储设备170存储容器图像,诸如用于形成ML训练容器130和/或ML评分容器150的容器图像,其可以由各种虚拟机实例122和/或142检索到。虽然容器数据存储设备170被描绘为位于模型训练***120和模型托管***140的外部,但是这不旨在限制。例如,在未示出的一些实施例中,容器数据存储设备170位于模型训练***120和模型托管***140中的至少一个的内部。
训练模型数据存储设备175存储模型数据文件。在一些实施例中,模型数据文件中的一些由单个文件组成,而其他模型数据文件则是多个单独文件的包。虽然训练模型数据存储设备175被描绘为位于模型训练***120和模型托管***140的外部,但是这不旨在限制。例如,在未示出的一些实施例中,训练模型数据存储设备175位于模型训练***120或模型托管***140中的至少一个的内部。
在一些实施例中,模型预测数据存储设备180存储由ML评分容器150生成的输出(例如,执行结果)。虽然模型预测数据存储设备180被描绘为位于模型训练***120和模型托管***140的外部,但是这不旨在限制。例如,在未示出的一些实施例中,模型预测数据存储设备180位于模型训练***120和模型托管***140中的至少一个的内部。
尽管模型训练***120、模型托管***140、训练数据存储设备160、训练度量数据存储设备165、容器数据存储设备170、训练模型数据存储设备175和模型预测数据存储设备180被示为单独的部件,但是这不旨在限制。在一些实施例中,这些部件中的任一个或所有可以进行组合以执行本文所述的功能。例如,这些部件中的任一个或所有可以由单个计算装置、或由在逻辑上或物理上一起分组以共同地用作服务器***的多个不同的计算装置诸如计算机服务器来实现。这些部件中的任一个或所有可以经由共享的内部网络进行通信,并且集体***(例如,在本文也称为机器学习服务)可以经由网络110与用户装置102中的一个或多个通信。
各种示例用户装置102示于图1中,其包括台式计算机、膝上型计算机和移动电话,每一个均通过说明的方式提供。通常,用户装置102可以是任何计算装置,诸如台式计算机、膝上型计算机或平板计算机、个人计算机、可穿戴计算机、服务器、个人数字助理(PDA)、混合PDA/移动手机、移动手机、电子书阅读器、机顶盒、语音命令装置、相机、数字媒体播放器等。在一些实施例中,模型训练***120和/或模型托管***140向用户装置102提供一个或多个用户接口、命令行接口(CLI)、应用编程接口(API)和/或其他编程接口,其用于提交训练请求、部署请求和/或执行请求。在一些实施例中,用户装置102可以执行与模型训练***120和/或模型托管***140交互的独立应用,以提交训练请求、部署请求和/或执行请求。
在一些实施例中,网络110包括任何有线网络、无线网络或其组合。例如,网络110可以是个人区域网、局域网、广域网、空中广播网络(例如,用于无线电或电视)、电缆网络、卫星网络、蜂窝电话网络或其组合。作为另一个示例,网络110可以是可能由各种不同方操作的链接网络的可公开访问的网络,诸如互联网。在一些实施例中,网络110可以是私有或半私有网络,诸如公司或大学内联网。网络110可以包括一个或多个无线网络,诸如全球移动通信***(GSM)网络、码分多址(CDMA)网络、长期演进(LTE)网络或任何其他类型的无线网络。网络110可以使用经由互联网或其他前述类型的网络中的任一种进行通信的协议和部件。例如,由网络110使用的协议可以包括超文本传输协议(HTTP)、HTTP安全(HTTPS)、消息队列遥测传输(MQTT)、约束应用协议(CoAP)等。经由互联网或其他前述类型的通信网络中的任一种进行通信的协议和部件是本领域的技术人员所公知的,并且因此未在本文进行更详细的描述。
用于训练机器学习模型的示例框图
图2是根据一些实施例的图1的操作环境100的框图,其示出了由操作环境100的部件执行以训练机器学习模型的操作。如图2中所示,用户装置102在(1)处将容器图像的位置和训练数据的位置传输到前端129。前端129然后在(2)处致使虚拟机实例122进行初始化并且将容器图像位置和训练数据位置转发到初始化的虚拟机实例122。在一些实施例中,容器图像位置和训练数据位置被作为训练请求的一部分进行传输。
在一些实施例中,虚拟机实例122在(3)处使用接收的位置从训练数据存储设备160检索训练数据。在检索训练数据之前、期间或之后,虚拟机实例122在(4)处使用接收的位置从容器数据存储设备170检索容器图像。
在一些实施例中,虚拟机实例122使用接收的容器图像初始化在虚拟机实例122内的ML训练容器。虚拟机实例122然后在(5)处使用检索的训练数据执行存储在ML训练容器中的代码,以训练机器学习模型。例如,代码可以包括源于容器图像中的表示定义了尚待训练的机器学习模型的算法的可执行指令。虚拟机实例122根据由用户装置102提供的超参数值执行代码。
执行可执行指令致使ML训练容器生成模型数据,其包括正被训练的机器学习模型的特性。在一些实施例中,虚拟机实例122在(6)处将模型数据存储在训练模型数据存储设备175中。在一些实施例中,虚拟机实例122生成多个模型数据文件,其被打包成存储在训练模型数据存储设备175中的单个文件中。
在机器学***均差异、中值差异等)来确定。ML模型评估器128然后可以在(11)处将质量度量存储在训练度量数据存储设备165中。
在一些实施例中,ML模型评估器128还将另外的信息存储在训练度量数据存储设备165中。例如,ML模型评估器128可以存储输入数据(或表示输入数据的标签)、机器学习模型输出和已知的结果。因此,用户不仅可以经由用户装置102识别质量度量,而且还可以识别哪些输入导致机器学习模型输出和已知结果之间的小差异或无差异、哪些输入导致机器学习模型输出和已知结果之间的大差异等。
用于修改机器学习模型训练的示例框图
图3是根据一些实施例的图1的操作环境100的框图,其示出了由操作环境100的部件执行以修改机器学习模型训练的操作。如图3中所示,用户装置102在(1)处检索存储在训练度量数据存储设备165中的质量度量。在一些实施例中,用户经由用户装置102检索质量度量以确定仍正被训练的机器学习模型的准确度。
在一些实施例中,用户装置102在(2)处将修改的容器图像的位置传输到前端129。前端129然后在(3)处将修改的容器图像的位置转发到虚拟机实例122。用户装置102可以将修改的容器图像作为用以修改正被训练的机器学习模型的修改请求的一部分进行传输。作为响应,虚拟机实例122在(4)处停止执行存储在由原始容器图像形成的原始ML训练容器中的代码。虚拟机实例122然后在(5)处使用接收的位置从容器数据存储设备170检索修改的容器图像。虚拟机实例122然后可以在(6)处由修改的容器图像形成修改的ML训练容器并且使用先前检索的训练数据执行存储在修改的ML训练容器中的代码,以重新训练机器学习模型。
代码的执行致使修改的ML训练容器生成更新的模型数据,虚拟机实例122随后在(7)处将其存储在训练模型数据存储设备175中。在未示出的一些实施例中,虚拟机实例122致使训练模型数据存储设备175删除作为使用原始ML训练容器执行的训练的结果而存储的任何模型数据。
在未示出的一些实施例中,当用户期望修改正被训练的机器学习模型时,用户未经由用户装置102提供修改的容器图像的位置,这是因为用户不希望使新的ML训练容器初始化。相反,用户期望在运行时修改现有的ML训练容器,使得可以在不重新开始训练过程的情况下修改机器学习模型。因此,用户装置102改为提供虚拟机实例122添加到现有的ML训练容器(或用于代替已经存在于ML训练容器中的其他代码)的代码。例如,用于形成现有ML训练容器的原始容器图像可以包括可执行指令,其被构造成使得可执行指令在被执行时检索和执行另外的代码。这种另外的代码可以由用户装置102连同容器图像一起提供(例如,当ML训练容器进行初始化时)和/或在虚拟机实例122已经开始执行存储在ML训练容器内的代码之后提供。在本实施例中,容器图像与另外的代码一起形成完整的ML训练容器。
用于并行化的机器学习模型训练的示例框图
图4是根据一些实施例的图1的操作环境100的框图,其示出了由操作环境100的部件执行以并行化机器学习模型训练过程的操作。如图4中所示,用户装置102在(1)处将容器图像位置和训练数据位置传输到前端129。作为响应,前端129使第一虚拟机实例122A和第二虚拟机实例122B初始化,使得第一虚拟机实例122A可以使用训练数据的第一部分来执行机器学习模型的部分训练,并且第二虚拟机实例122B可以使用训练数据的第二部分执行机器学习模型的部分训练。前端129然后在(2A)处将容器图像位置和训练数据的第一部分的位置传输到虚拟机实例122A。在将容器图像位置和训练数据的第一部分的位置传输到虚拟机实例122A之前、期间或之后,前端129在(2B)处将容器图像位置和训练数据的第二部分的位置传输到虚拟机实例122B。在一些实施例中,容器图像位置和训练数据位置被作为训练请求的一部分进行传输。
在一些实施例中,虚拟机实例122A在(3A)处使用接收的位置从训练数据存储设备160检索训练数据的第一部分。在虚拟机实例122A检索训练数据的第一部分之前、期间或之后,虚拟机实例122B在(3B)处使用接收的位置从训练数据存储设备160检索训练数据的第二部分。在未示出的一些实施例中,虚拟机实例122A-122B检索相同的训练数据。
虚拟机实例122A然后在(4A)处使用在一些实施例中从指示的位置检索的容器图像形成ML训练容器,并且使用训练数据的检索的第一部分执行存储在ML训练容器中的代码。在虚拟机实例122A执行代码之前、期间或之后,虚拟机实例122B在(4B)处使用从指示的位置检索的容器图像形成ML训练容器并且使用训练数据的检索的第二部分执行存储在ML训练容器中的代码。因此,虚拟机实例122A-122B各自包括相同的ML训练容器的副本。
执行代码致使虚拟机实例122A-122B(例如,本文所包括的ML训练容器)生成模型数据。因此,虚拟机实例122A在(5A)处将模型数据传输到训练模型数据存储设备175并且虚拟机实例122B在(5B)处将模型数据传输到训练模型数据存储设备175。在未示出的一些实施例中,由每个虚拟机实例122A-122B生成的模型数据被打包成单个模型数据文件(例如,由训练模型数据存储设备175进行)。
在一些实施例中,虚拟机实例122A-122B在机器学习模型训练期间彼此通信。例如,虚拟机实例122A-122B可以在训练过程期间分享系数、权重、训练策略等。
用于部署和执行机器学习模型的示例框图
图5A是根据一些实施例的图1的操作环境100的框图,其示出了由操作环境100的部件执行以部署训练的机器学习模型的操作。如图5A中所示,用户装置102在(1)处将机器学习模型部署请求传输到前端149。前端149可以在(2)处使虚拟机实例142初始化并且在(3)处将部署请求传输到虚拟机实例142。部署请求包括存储在训练模型数据存储设备175中的一个或多个模型数据文件的位置。在一些实施例中,部署请求包括端点名称。在一些实施例中,部署请求不包括端点名称。
在一些实施例中,虚拟机实例142在(4)处从训练模型数据存储设备175检索模型数据。例如,虚拟机实例142检索对应于在部署请求中识别的位置的模型数据。在未示出的一些实施例中,虚拟机实例142未检索模型数据。相反地,模型数据可以嵌入由虚拟机实例142检索的容器图像中。虚拟机实例142还在(5)处从容器数据存储设备170检索容器图像。容器图像可以对应于在部署请求中识别的容器图像。
在一些实施例中,虚拟机实例142可以在(6)处使ML评分容器初始化。例如,虚拟机实例142可以使用检索的容器图像形成ML评分容器。虚拟机实例142还可以在(7)处将模型数据存储在ML评分容器中(例如,在与当训练机器学习模型时模型数据在ML训练容器130中的存储位置相同的位置中)。
在一些实施例中,如果部署请求不包括端点名称,虚拟机实例142则可以在(8)处将端点名称传输到前端149。前端149随后可以在(9)处将端点名称转发到用户装置102。因此,用户装置102将来可以使用端点名称来访问初始化的ML评分容器(例如,用于提交机器学习模型执行请求)。
图5B是根据一些实施例的图1的操作环境100的框图,其示出了由操作环境100的部件执行以执行训练的机器学习模型的操作。如图5B中所示,用户装置102在(1)处将机器学习模型执行请求传输到前端149。前端149然后在(2)处将执行请求转发到虚拟机实例142。在一些实施例中,执行请求包括端点名称,模型托管***140使用该端点名称将执行请求路由到适当的虚拟机实例142。
在一些实施例中,虚拟机实例142在(3)处使用包括在执行请求中的输入数据执行存储在于虚拟机实例142中初始化的ML评分容器中的代码,以生成输出。在一些实施例中,虚拟机实例142在(4)处将输出存储在模型预测数据存储设备180中。可替代地或另外地,虚拟机实例142在(5)将输出传输到前端149,并且前端149在(6)处将输出传输到用户装置102。
用于执行相关机器学习模型的示例框图
图6是根据一些实施例的图1的操作环境100的框图,其示出了由操作环境100的部件执行以执行相关机器学习模型的操作。如图6中所示,用户装置102在(1)处将机器学习模型执行请求传输到前端149。前端149然后在(2)处将执行请求转发到在虚拟机实例142中初始化的第一ML评分容器150A。在一些实施例中,执行请求可以包括对源于由在虚拟机实例142中初始化的第二ML评分容器150B执行的第二机器学习模型的输出的请求。然而,为了生成输出,ML评分容器150B需要源于执行由ML评分容器150A执行的第一机器学习模型的数据。因此,虚拟机实例142最初将执行请求路由到ML评分容器150A。在一些实施例中,ML评分容器150A用作主容器,从而管理通往和源于其他ML评分容器(例如,ML评分容器150B)的通信。
在一些实施例中,虚拟机实例142在(3)处致使ML评分容器150A执行第一代码以生成第一输出。例如,第一代码的执行表示使用包括在执行请求中的输入数据来执行第一机器学习模型。ML评分容器150A随后在(4)处将第一输出传输到ML评分容器150B。
虚拟机实例142然后在(5)处致使第二ML评分容器150B使用第一输出执行第二代码以生成第二输出。例如,第二代码的执行表示使用第一输出作为至第二机器学习模型的输入来执行第二机器学习模型。第二ML评分容器150B随后在(6)处将第二输出传输到第一ML评分容器150A。
在一些实施例中,虚拟机实例142在(7)处从第一ML评分容器150A提取第二输出并且将第二输出存储在模型预测数据存储设备180中。可替代地或另外地,虚拟机实例142在(8)处从第一ML评分容器150A提取第二输出并且将第二输出传输到前端149。前端149然后在(9)处将第二输出传输到用户装置102。
在未示出的一些实施例中,ML评分容器150A-150B在不同的虚拟机实例142中进行初始化。因此,第一输出和第二输出的传输可以发生在虚拟机实例142之间。
示例机器学习模型准确度提高例程
图7是根据一些实施例的流程图,其描绘了说明性地由模型训练***实施的机器学习模型训练例程700。作为示例,图1的模型训练***120可以被配置为执行机器学习模型训练例程700。机器学习模型训练例程700开始于框702。
在框704处,在一些实施例中,接收容器图像位置和训练数据位置。例如,接收容器图像位置和训练数据位置作为训练请求的一部分。
在框706处,在一些实施例中,使虚拟机实例初始化。例如,初始化的虚拟机实例是将执行机器学习模型训练的实例。
在框708处,在一些实施例中,检索容器图像和训练数据。例如,可以从容器数据存储设备170检索容器图像,并且可以从训练数据存储设备160检索训练数据。
在框710处,在一些实施例中,ML训练容器在虚拟机实例中进行初始化。例如,ML训练容器是使用接收的容器图像形成的。容器图像包括定义算法的可执行指令。因此,ML训练容器包括代码,其包括定义算法的可执行指令。
在框712处,在一些实施例中,存储在ML训练容器中的代码是使用检索的训练数据执行的。例如,检索的训练数据(例如,在训练数据中的输入数据)是作为至定义算法的可执行指令的输入(例如,用作可执行指令的输入参数的值)进行供给的。
在框714处,在一些实施例中,存储作为代码执行结果而生成的模型数据。例如,模型数据存储在训练模型数据存储设备175中。模型数据可以在机器学习模型训练过程期间定期生成。
在框716处,在一些实施例中,确定是否在机器学习模型训练过程期间接收到新的容器图像。如果接收到新的容器图像,机器学习模型训练例程700则行进至框718。否则,如果在机器学习模型训练过程期间没有接收到新的容器图像,机器学习模型训练例程700则行进至框720并且结束。
在框718处,在一些实施例中,原始ML训练容器被替换为新的ML训练容器。例如,新的ML训练容器是使用新的容器图像形成的。一旦替换了原始ML训练容器,机器学习模型训练例程700则返回行进至框712,使得使用训练数据来执行在新的ML训练容器中存储的代码。
在未示出的一些实施例中,未接收到新的容器图像。然而,接收到新的超参数(例如,对集群的数量的更改、对层的数量的更改等)、新的代码等。模型训练***120可以在运行时期间修改原始ML训练容器(而不是用新的ML训练容器替换原始ML训练容器)以使用新的超参数、使用新的代码等来训练机器学习模型。
模型训练和托管***的示例架构
图8描绘了根据本申请的训练和/或托管机器学习模型的说明性模型***800诸如模型训练***120和模型托管***140的架构的一些实施例。图8中描绘的模型***的一般架构包括可以用于实现本公开的各方面的计算机硬件和软件部件的布置。如图所示,模型***800包括处理单元804、网络接口806、计算机可读介质驱动器807、输入/输出装置接口820,所有这些可以经由通信总线彼此通信。
在一些实施例中,网络接口806向一个或多个网络或计算***诸如图1的网络110提供连接性。处理单元804因此可以经由网络从其他计算***或服务接收信息和指令。处理单元804还可以向和从存储器810进行通信并且进一步提供输出信息。在一些实施例中,模型***800包括比图8中所示的那些更多(或更少)的部件。
在一些实施例中,存储器810包括计算机程序指令,处理单元804执行该计算机程序指令以便实现一个或多个实施例。存储器810一般包括RAM、ROM或其他持久性或非暂时性存储器。存储器810可以存储操作***814,其提供计算机程序指令以由处理单元804用于由模型训练***120和/或模型托管***140实现的功能的一般管理和操作中。存储器810还可以包括计算机程序指令和其他信息以用于实现本公开的各方面。例如,在一些实施例中,存储器810包括模型训练部件816,其对应于由图1中所示的模型训练***120提供的功能。在一些实施例中,存储器810包括模型执行部件818,其对应于由模型托管***140提供的功能。
终端用户装置的示例架构
图9描绘了根据本申请的可以接收数据、准备数据、将训练请求传输到模型训练***120以及将部署和/或执行请求传输到模型托管***140的说明性终端用户装置102的架构的一些实施例。图9中描绘的终端用户装置102的一般架构包括可以用于实现和访问本公开的各方面的计算机硬件和软件部件的布置。如图所示,终端用户装置102包括处理单元904、网络接口906、计算机可读介质驱动器907、输入/输出装置接口920、可选的显示器930和输入装置940,所有这些可以经由通信总线彼此通信。
在一些实施例中,网络接口906向一个或多个网络或计算***诸如图1的网络110提供连接性。处理单元904因此可以经由网络从其他计算***或服务接收信息和指令。处理单元904还可以向和从存储器910进行通信并且还经由输入/输出装置接口920提供用于可选的显示器930的输出信息。输入/输出装置接口920还可以接受来自可选的输入装置940诸如键盘、鼠标、数字笔、触摸屏等的输入。在一些实施例中,终端用户装置102包括比图9中所示那些更多(或更少)的部件。
在一些实施例中,存储器910包括计算机程序指令,处理单元904执行该计算机程序指令以便进行本文所述的接收数据、准备数据和传输请求。存储器910一般包括RAM、ROM或其他持久性或非暂时性存储器。存储器910可以存储操作***914(其提供计算机程序指令)和接口软件912,以由处理单元904用于终端用户装置102的一般管理和操作中。存储器910还可以包括计算机程序指令和其他信息以用于实现本公开的各方面。例如,在一些实施例中,存储器910包括网络应用916,诸如浏览器应用、媒体播放器、CLI、独立应用等,以访问内容和与模型训练***120和/或模型托管***140进行通信。
术语
所有本文所述的方法和任务可以由计算机***执行和完全进行自动化。在一些情况下,计算机***可以包括多个不同的计算机或计算装置(例如,物理服务器、工作站、存储阵列、云计算资源等),其通过网络进行通信和互操作以执行所述的功能。每个这样的计算装置通常包括处理器(或多个处理器),其执行存储在存储器或其他非暂时性计算机可读存储介质或装置(例如,固态存储装置、磁盘驱动器等)中的程序指令或模块。本文所公开的各种功能可以在这样的程序指令中具体化,或可以在计算机***的专用电路(例如,ASIC或FPGA)中实现。在计算机***包括多个计算装置的情况下,这些装置可以但不必是同位的。所公开的方法和任务的结果可以通过将物理存储装置诸如固态存储器芯片或磁盘变换成不同状态而持久地存储。在一些实施例中,计算机***可以是基于云的计算***,其处理资源由多个不同的商业实体或其他用户共享。
取决于实施例,本文描述的过程或算法中的任一者的某些动作、事件或功能可以按不同的序列执行,可以添加、合并或一起省去(例如,不是所有描述的操作或事件都是实践算法所必需的)。此外,在某些实施例中,操作或事件可以同时执行,例如,通过多线程处理、中断处理或多个处理器或处理器核或在其他并行架构上进行,而不是顺序执行。
结合本文公开的实施例描述的各种说明性逻辑框、模型、例程和算法步骤可以被实现为电子硬件(例如,ASIC或FPGA装置)、在计算机硬件上运行的计算机软件或这两者的组合。此外,结合本文公开的实施例描述的各种说明性逻辑框和模块可以由机器诸如处理器装置、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、分立的门或晶体管逻辑、分立的硬件部件或其中设计以执行本文所述的功能的任何组合实现或执行。处理器装置可以是微处理器,但在替代方案中,处理器装置可以是控制器、微控制器或状态机、其组合等。处理器装置可以包括电子电路,其被配置为处理计算机可执行指令。在另一个实施例中,处理器装置包括FPGA或其它可编程装置,其执行逻辑操作,而不处理计算机可执行指令。处理器装置还可以被实现为计算装置的组合,例如DSP和微处理器、多个微处理器、一个或多个微处理器连同DSP核或任何其它这种配置的组合。虽然本文主要是关于数字技术进行描述的,但是处理器装置也可以主要包括模拟部件。例如,本文所述的渲染技术中的一些或所有可以在模拟电路或混合的模拟和数字电路中实现。计算环境可以包括任何类型的计算机***,略举几例,其包括但不限于基于微处理器的计算机***、大型计算机、数字信号处理器、便携式计算装置、装置控制器或设备内的计算引擎。
结合本文所公开的实施例描述的方法、过程、例程或算法的元素可以直接在硬件、由处理器装置执行的软件模块或这两者的组合中具体化。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或任何其他形式的非暂时性计算机可读存储介质中。示例存储介质可以耦合到处理器装置,使得处理器装置可以从存储介质读取信息以及将信息写入存储介质。在替代方案中,存储介质可与处理器装置成一体。处理器装置和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在替代方案中,处理器装置和存储介质可以作为分立部件驻留在用户终端中。
除非另外特别说明,或另外在所使用的上下文中被理解,否则本文使用的条件语言诸如“能够”、“可以”、“可能”、“也许”、“例如”等一般旨在传达尽管其他实施例不包括,但某些实施例包括某些特征、元件或步骤。因此,这种条件语言通常不旨在暗示无论如何所述特征、元件或步骤都是一个或多个实施例必需的,或者并非暗示一个或多个实施例必须包括用于在借助或不借助其他输入或提示下决定是否包括这些特征、元件或步骤或者是否在任何特定实施例中执行这些特征、元件或步骤的逻辑。术语“包括(comprising)”、“包括(including)”、“具有”等是同义的,并且以开放形式作为包括性使用,且不排除另外的元件、特征、动作、操作等。此外,术语“或”以其包括性意义(而不是以其排他性意义)使用,使得当例如用于连接元素的列表时,术语“或”表示列表中元素中的一个、一些或所有。
除非另有特别说明,否则分离性语言诸如短语“X、Y或Z中的至少一个”在上下文中应理解为通常使用的情况以表示项目、项等可以是X、Y或Z或其任何组合(例如,X、Y或Z)。因此,这样的分离性语言通常不旨在且不应暗示某些实施例要求X中的至少一个、Y中的至少一个以及Z中的至少一个至每一个都存在。
虽然上面的详细描述已经将新颖特征显示、描述和指明为适用于各种实施例,但是可以理解的是在不脱离本公开的精神的情况下,可以以所示装置或算法的形式和细节进行各种省略、替换和变化。如可以认识到的,本文所述的某些实施例可以在不提供本文阐述的所有特征和益处的形式内具体化,这是因为一些特征可以与其他相分离地进行使用或实践。本文公开的某些实施例的范围是由所附权利要求而不是由前面的描述来指示的。在所述权利要求的等效物的含义和范围内的所有变化都将包含在所述权利要求的范围内。
鉴于下列条款,可以更好地理解前述内容:
条款1.一种***,其包括:
训练模型数据存储设备;以及
用于托管第一虚拟机实例的第一计算装置,所述第一计算装置包括计算机可执行指令,所述计算机可执行指令在被执行时使所述第一计算装置:
从用户装置获得训练请求,其中所述训练请求包括容器图像的指示符、训练数据的指示符以及一个或多个第一超参数值;
使所述第一虚拟机实例中的机器学习(ML)训练容器初始化,其中所述ML训练容器是由所述容器图像形成的;
使所述第一虚拟机实例根据所述一个或多个第一超参数值执行存储在所述ML训练容器中的代码,其中所述代码的执行使所述第一虚拟机实例使用所述训练数据来训练机器学习模型并且生成表示所述机器学习模型的特性的模型数据;以及
将所述模型数据存储在所述训练模型数据存储设备中。
条款2.如条款1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
获得修改请求以修改正被训练的所述机器学习模型,其中所述修改请求包括第二容器图像的指示符;
使所述第一虚拟机实例停止所述代码的执行;
用使用所述第二容器图像形成的第二ML训练容器替换所述ML训练容器;以及
使所述第一虚拟机实例执行存储在所述第二ML训练容器中的第二代码,其中所述第二代码的执行使所述第一机器实例重新训练所述机器学习模型并且生成第二模型数据。
条款3.如条款1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
获得一个或多个第二超参数值;以及
使所述第一虚拟机实例根据所述一个或多个第二超参数值而不是所述一个或多个第一超参数值来执行存储在所述ML训练容器中的所述代码。
条款4.如条款1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
获得评估数据,其中所述评估数据包括输入数据和已知结果;
使用所述输入数据作为输入执行由所述模型数据定义的所述机器学习模型以生成模型输出数据;
将所述模型输出数据与所述已知结果进行比较,以确定所述机器学习模型的质量度量;以及
存储所述质量度量。
条款5.如条款1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
使所述第一虚拟机实例中的第二ML训练容器初始化,其中所述第二ML训练容器是由所述容器图像形成的;以及
与存储在所述ML训练容器内的所述代码的所述执行并行地使所述第一虚拟机实例根据所述一个或多个第一超参数值执行存储在所述第二ML训练容器内的第二代码。
条款6.一种计算机实现的方法,其包括:
通过网络从用户装置接收训练请求,其中所述训练请求包括容器图像的指示符以及训练数据的指示符;
使由第一计算装置托管的第一虚拟机实例中的机器学习(ML)训练容器初始化,其中所述ML训练容器是由所述容器图像形成的;以及
使所述第一虚拟机实例执行存储在所述ML训练容器内的代码,其中所述代码的执行使所述第一虚拟机实例使用所述训练数据来训练机器学习模型,并且生成表示所述机器学习模型的特性的模型数据。
条款7.如条款6所述的计算机实现的方法,其还包括:
接收修改请求以修改正被训练的所述机器学习模型,其中所述修改请求包括第二容器图像的指示符;
使所述第一虚拟机实例停止所述代码的执行;
使所述第一虚拟机实例中的第二ML训练容器初始化,其中所述第二ML训练容器是使用所述第二容器图像形成的;以及
使所述第一虚拟机实例执行存储在所述第二ML训练容器中的第二代码,其中所述第二代码的执行使所述第一机器实例重新训练所述机器学习模型并且生成第二模型数据。
条款8.如条款6所述的计算机实现的方法,其中所述计算机实现的方法还包括:
获得评估数据,其中所述评估数据包括输入数据和已知结果;
使用所述输入数据作为输入执行由所述模型数据定义的所述机器学习模型以生成模型输出数据;以及
将所述模型输出数据与所述已知结果进行比较,以确定所述机器学习模型的质量度量。
条款9.如条款6所述的计算机实现的方法,其还包括:
使所述第一虚拟机实例中的第二ML训练容器初始化,其中所述第二ML训练容器是由所述容器图像形成的;以及
与存储在所述ML训练容器内的所述代码的所述执行并行地使所述第一虚拟机实例执行存储在所述第二ML训练容器内的第二代码,其中所述第二代码的执行使所述第一机器实例生成第二模型数据,并且其中所述模型数据与所述第二模型数据的组合定义了所述机器学习模型的训练版本的特性。
条款10.如条款6所述的计算机实现的方法,其还包括:
使由第二计算装置托管的第二虚拟机实例中的ML评分容器初始化,其中所述ML评分容器是由所述容器图像形成的;
将所述模型数据存储在所述ML评分容器中;
从所述用户装置接收执行请求,其中所述执行请求包括输入数据;
使用所述输入数据执行存储在所述ML评分容器中的第二代码以生成输出;以及
将所述输出传输到所述用户装置。
条款11.如条款6所述的计算机实现的方法,其中所述训练请求还包括一个或多个第一超参数值。
条款12.如条款11所述的计算机实现的方法,其中使所述第一虚拟机实例执行存储在所述ML训练容器内的代码还包括使所述第一虚拟机实例根据所述一个或多个第一超参数值执行存储在所述ML训练容器内的所述代码。
条款13.如条款12所述的计算机实现的方法,其还包括:
获得一个或多个第二超参数值;以及
使所述第一虚拟机实例根据所述一个或多个第二超参数值而不是所述一个或多个第一超参数值来执行存储在所述ML训练容器内的所述代码。
条款14.如条款6所述的计算机实现的方法,其中所述训练请求还包括所述第一计算装置的图形处理单元(GPU)实例类型、所述第一计算装置的中央处理单元(CPU)实例类型、要在所述第一计算装置上分配的存储器的量或所述第一虚拟机实例的类型中的至少一个。
条款15.一种或多种非暂时性计算机可读存储介质,其存储计算机可执行指令,所述计算机可执行指令如果由一个或多个处理器执行,则使所述一个或多个处理器至少:
从用户装置获得容器图像的指示符以及训练数据的指示符;
使用所述容器图像使第一虚拟机实例中的训练容器初始化;
使所述第一虚拟机实例执行存储在所述训练容器内的代码,其中所述代码的执行使所述第一虚拟机实例使用所述训练数据来训练机器学习模型,并且生成表示所述机器学习模型的特性的模型数据。
条款16.如条款15所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令还使所述一个或多个处理器至少:
接收第二容器图像的指示符;
使所述第一虚拟机实例停止所述代码的执行;
使所述第一虚拟机实例中的第二训练容器初始化,其中所述第二训练容器是使用所述第二容器图像形成的;以及
使所述第一虚拟机实例执行存储在所述第二训练容器中的第二代码,其中所述第二代码的执行使所述第一机器实例重新训练所述机器学习模型并且生成第二模型数据。
条款17.如条款15所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令还使所述一个或多个处理器至少:
使所述第一虚拟机实例中的第二训练容器初始化,其中所述第二训练容器是由所述容器图像形成的;以及
与存储在所述训练容器内的所述代码的所述执行并行地使所述第一虚拟机实例执行存储在所述第二训练容器内的第二代码,其中所述第二代码的执行使所述第一机器实例生成第二模型数据,并且其中所述模型数据与所述第二模型数据的组合定义了所述机器学习模型的训练版本的特性。
条款18.如条款15所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令还使所述一个或多个处理器至少:
使由第二计算装置托管的第二虚拟机实例中的评分容器初始化,其中所述评分容器是由所述容器图像形成的;以及
将所述模型数据存储在所述评分容器中。
条款19.如条款18所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令还使所述一个或多个处理器至少:
从所述用户装置接收执行请求,其中所述执行请求包括输入数据;
使用所述输入数据执行存储在所述评分容器中的第二代码以生成输出;以及
将所述输出传输到所述用户装置。
条款20.如条款15所述的非暂时性计算机可读存储介质,其中所述计算机可执行指令还使所述一个或多个处理器至少:
获得一个或多个第一超参数值;以及
使所述第一虚拟机实例根据所述一个或多个第一超参数值来执行存储在所述训练容器中的所述代码。

Claims (15)

1.一种网络可访问的机器学习模型训练和托管***,其包括:
训练模型数据存储设备;以及
用于托管第一虚拟机实例的第一计算装置,所述第一计算装置包括计算机可执行指令,所述计算机可执行指令在被执行时使所述第一计算装置:
从用户装置获得训练请求,其中所述训练请求包括容器图像的地址或存储位置的指示符、训练数据的指示符以及一个或多个第一超参数值;
使所述第一虚拟机实例中的机器学习ML训练容器初始化,其中所述ML训练容器是由所述容器图像形成的;
使所述第一虚拟机实例根据所述一个或多个第一超参数值执行存储在所述ML训练容器中的代码,其中所述代码的执行使所述第一虚拟机实例使用所述训练数据来训练机器学习模型并且生成表示所述机器学习模型的特性的模型数据;以及
将所述模型数据存储在所述训练模型数据存储设备中。
2.如权利要求1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
获得修改请求以修改正被训练的所述机器学习模型,其中所述修改请求包括第二容器图像的指示符;
使所述第一虚拟机实例停止所述代码的执行;
用使用所述第二容器图像形成的第二ML训练容器替换所述ML训练容器;以及
使所述第一虚拟机实例执行存储在所述第二ML训练容器中的第二代码,其中所述第二代码的执行使所述第一虚拟机实例重新训练所述机器学习模型并且生成第二模型数据。
3.如权利要求1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
获得一个或多个第二超参数值;以及
使所述第一虚拟机实例根据所述一个或多个第二超参数值而不是所述一个或多个第一超参数值来执行存储在所述ML训练容器中的所述代码。
4.如权利要求1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
获得评估数据,其中所述评估数据包括输入数据和已知结果;
使用所述输入数据作为输入执行由所述模型数据定义的所述机器学习模型以生成模型输出数据;
将所述模型输出数据与所述已知结果进行比较,以确定所述机器学习模型的质量度量;以及
存储所述质量度量。
5.如权利要求1所述的***,其中所述计算机可执行指令在被执行时还使所述第一计算装置:
使所述第一虚拟机实例中的第二ML训练容器初始化,其中所述第二ML训练容器是由所述容器图像形成的;以及
与存储在所述ML训练容器内的所述代码的所述执行并行地使所述第一虚拟机实例根据所述一个或多个第一超参数值执行存储在所述第二ML训练容器内的第二代码。
6.如权利要求5所述的***,其中所述第二代码的执行使所述第一虚拟机实例生成第二模型数据,并且其中所述模型数据与所述第二模型数据的组合定义了所述机器学习模型的训练版本的特性。
7.一种网络可访问的机器学习模型训练和托管方法,其包括:
通过网络从用户装置接收训练请求,其中所述训练请求包括容器图像的地址或存储位置的指示符以及训练数据的指示符;
使由第一计算装置托管的第一虚拟机实例中的机器学习ML训练容器初始化,其中所述ML训练容器是由所述容器图像形成的;以及
使所述第一虚拟机实例执行存储在所述ML训练容器内的代码,其中所述代码的执行使所述第一虚拟机实例使用所述训练数据来训练机器学习模型,并且生成表示所述机器学习模型的特性的模型数据。
8.如权利要求7所述的方法,其还包括:
接收修改请求以修改正被训练的所述机器学习模型,其中所述修改请求包括第二容器图像的指示符;
使所述第一虚拟机实例停止所述代码的执行;
使所述第一虚拟机实例中的第二ML训练容器初始化,其中所述第二ML训练容器是使用所述第二容器图像形成的;以及
使所述第一虚拟机实例执行存储在所述第二ML训练容器中的第二代码,其中所述第二代码的执行使所述第一虚拟机实例重新训练所述机器学习模型并且生成第二模型数据。
9.如权利要求7所述的方法,其中所述计算机实现的方法还包括:
获得评估数据,其中所述评估数据包括输入数据和已知结果;
使用所述输入数据作为输入执行由所述模型数据定义的所述机器学习模型以生成模型输出数据;以及
将所述模型输出数据与所述已知结果进行比较,以确定所述机器学习模型的质量度量。
10.如权利要求7所述的方法,其还包括:
使所述第一虚拟机实例中的第二ML训练容器初始化,其中所述第二ML训练容器是由所述容器图像形成的;以及
与存储在所述ML训练容器内的所述代码的所述执行并行地使所述第一虚拟机实例执行存储在所述第二ML训练容器内的第二代码,其中所述第二代码的执行使所述第一虚拟机实例生成第二模型数据,并且其中所述模型数据与所述第二模型数据的组合定义了所述机器学习模型的训练版本的特性。
11.如权利要求7所述的方法,其还包括:
使由第二计算装置托管的第二虚拟机实例中的ML评分容器初始化,其中所述ML评分容器是由所述容器图像形成的;
将所述模型数据存储在所述ML评分容器中;
从所述用户装置接收执行请求,其中所述执行请求包括输入数据;
使用所述输入数据执行存储在所述ML评分容器中的第二代码以生成输出;以及
将所述输出传输到所述用户装置。
12.如权利要求7所述的方法,其中所述训练请求还包括一个或多个第一超参数值。
13.如权利要求12所述的方法,其中使所述第一虚拟机实例执行存储在所述ML训练容器内的代码还包括使所述第一虚拟机实例根据所述一个或多个第一超参数值执行存储在所述ML训练容器内的所述代码。
14.如权利要求13所述的方法,其还包括:
获得一个或多个第二超参数值;以及
使所述第一虚拟机实例根据所述一个或多个第二超参数值而不是所述一个或多个第一超参数值来执行存储在所述ML训练容器内的所述代码。
15.如权利要求7所述的方法,其中所述训练请求还包括所述第一计算装置的图形处理单元(GPU)实例类型、所述第一计算装置的中央处理单元(CPU)实例类型、要在所述第一计算装置上分配的存储器的量或所述第一虚拟机实例的类型中的至少一个。
CN201880074178.7A 2017-11-22 2018-11-20 网络可访问的机器学习模型训练和托管*** Active CN111448550B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/821,585 2017-11-22
US15/821,585 US11977958B2 (en) 2017-11-22 2017-11-22 Network-accessible machine learning model training and hosting system
PCT/US2018/062064 WO2019104063A1 (en) 2017-11-22 2018-11-20 Network-accessible machine learning model training and hosting system

Publications (2)

Publication Number Publication Date
CN111448550A CN111448550A (zh) 2020-07-24
CN111448550B true CN111448550B (zh) 2024-03-19

Family

ID=64661498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880074178.7A Active CN111448550B (zh) 2017-11-22 2018-11-20 网络可访问的机器学习模型训练和托管***

Country Status (7)

Country Link
US (1) US11977958B2 (zh)
EP (1) EP3714365A1 (zh)
JP (1) JP6997315B2 (zh)
KR (1) KR102428293B1 (zh)
CN (1) CN111448550B (zh)
AU (1) AU2018373029B2 (zh)
WO (1) WO2019104063A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220188700A1 (en) * 2014-09-26 2022-06-16 Bombora, Inc. Distributed machine learning hyperparameter optimization
US11188392B2 (en) * 2017-09-20 2021-11-30 Algorithmia inc. Scheduling system for computational work on heterogeneous hardware
US11977958B2 (en) 2017-11-22 2024-05-07 Amazon Technologies, Inc. Network-accessible machine learning model training and hosting system
US11537439B1 (en) * 2017-11-22 2022-12-27 Amazon Technologies, Inc. Intelligent compute resource selection for machine learning training jobs
CN109840591B (zh) * 2017-11-29 2021-08-03 华为技术有限公司 模型训练***、方法和存储介质
JP7047636B2 (ja) * 2018-06-29 2022-04-05 日本電信電話株式会社 通信システム及び通信方法
US20200160229A1 (en) * 2018-11-15 2020-05-21 Adobe Inc. Creating User Experiences with Behavioral Information and Machine Learning
CN111082961B (zh) * 2019-05-28 2023-01-20 中兴通讯股份有限公司 域间的数据交互方法及装置
CN112148348B (zh) * 2019-06-28 2023-10-20 杭州海康威视数字技术股份有限公司 任务处理方法、装置及存储介质
US20210065049A1 (en) * 2019-09-03 2021-03-04 Sap Se Automated data processing based on machine learning
US20220417109A1 (en) * 2019-11-28 2022-12-29 Telefonaktiebolaget Lm Ericsson (Publ) Methods for determining application of models in multi-vendor networks
US11475328B2 (en) * 2020-03-13 2022-10-18 Cisco Technology, Inc. Decomposed machine learning model evaluation system
US11734614B1 (en) * 2020-03-26 2023-08-22 Amazon Technologies, Inc. Training service for an aggregated machine learning model
US11768945B2 (en) * 2020-04-07 2023-09-26 Allstate Insurance Company Machine learning system for determining a security vulnerability in computer software
US11829873B2 (en) * 2020-05-21 2023-11-28 Applied Materials, Inc. Predictive modeling of a manufacturing process using a set of trained inverted models
CN111782185B (zh) 2020-06-30 2024-01-09 北京百度网讯科技有限公司 人工智能开发平台的管理方法及设备、介质
US20220058498A1 (en) * 2020-08-24 2022-02-24 Kyndryl, Inc. Intelligent backup and restoration of containerized environment
KR102382317B1 (ko) * 2020-10-22 2022-04-04 국방과학연구소 사이버 훈련 도구 다운로드 시스템 및 방법
KR102481870B1 (ko) * 2020-10-27 2022-12-28 한국과학기술정보연구원 인공 지능 학습을 위한 컴퓨팅 환경 구축 방법 및 장치
US11693878B2 (en) 2020-11-19 2023-07-04 International Business Machines Corporation Generation of a dataset in the format of a machine learning framework
US20220237505A1 (en) * 2021-01-27 2022-07-28 Salesforce.Com, Inc. Using container information to select containers for executing models
US20220237506A1 (en) * 2021-01-27 2022-07-28 Salesforce.Com, Inc. Using container and model information to select containers for executing models
KR20220152923A (ko) * 2021-05-10 2022-11-17 현대자동차주식회사 M2m 시스템에서 인공지능 서비스를 가능하게 하기 위한 방법 및 장치
EP4099164A1 (en) * 2021-06-02 2022-12-07 Amadeus S.A.S. Architecture to employ machine-learning model
WO2023022405A1 (ko) * 2021-08-20 2023-02-23 (주)뤼이드 사전 학습을 위한 자동화 머신 러닝
US20230315678A1 (en) * 2022-03-29 2023-10-05 International Business Machines Corporation Storage driver for managing a multiple layer file system on the cloud
CN117076037A (zh) * 2022-05-09 2023-11-17 杭州海康威视数字技术股份有限公司 一种算法模型运行处理方法、装置及边缘智能设备
US20230412449A1 (en) * 2022-06-09 2023-12-21 Hewlett Packard Enterprise Development Lp Network alert detection utilizing trained edge classification models

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110127498A (ko) * 2010-05-19 2011-11-25 박배억 온라인 교육 시스템 및 이를 위한 통신 단말기
CN104246744A (zh) * 2012-04-21 2014-12-24 国际商业机器公司 用于提供测试网络作为ip可访问的云服务的方法和装置
CN105051693A (zh) * 2013-03-15 2015-11-11 思杰***有限公司 管理计算机服务器能力
WO2016053950A1 (en) * 2014-09-30 2016-04-07 Amazon Technologies, Inc. Threading as a service
CN106068520A (zh) * 2013-12-13 2016-11-02 微软技术许可有限责任公司 个性化的机器学习模型
CN106575246A (zh) * 2014-06-30 2017-04-19 亚马逊科技公司 机器学习服务
CN106663037A (zh) * 2014-06-30 2017-05-10 亚马逊科技公司 特征处理权衡管理
CN106953862A (zh) * 2017-03-23 2017-07-14 国家电网公司 网络安全态势的感知方法和装置及感知模型训练方法和装置
JP2017520068A (ja) * 2014-05-23 2017-07-20 データロボット, インコーポレイテッド 予測データ分析のためのシステムおよび技術
CN107077385A (zh) * 2014-09-10 2017-08-18 亚马逊技术公司 计算实例启动时间

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321307B1 (en) 1997-12-31 2001-11-20 Compaq Computer Corporation Computer system and method employing speculative snooping for optimizing performance
US6263308B1 (en) 2000-03-20 2001-07-17 Microsoft Corporation Methods and apparatus for performing speech recognition using acoustic models which are improved through an interactive process
US7451207B2 (en) 2002-06-28 2008-11-11 Intel Corporation Predictive provisioning of media resources
US7958507B2 (en) 2005-06-16 2011-06-07 Hewlett-Packard Development Company, L.P. Job scheduling system and method
US8938463B1 (en) 2007-03-12 2015-01-20 Google Inc. Modifying search result ranking based on implicit user feedback and a model of presentation bias
CA2722300C (en) 2007-04-25 2016-06-28 Miovision Technologies Incorporated Method and system for analyzing multimedia content
US20080288622A1 (en) 2007-05-18 2008-11-20 Microsoft Corporation Managing Server Farms
US8521664B1 (en) 2010-05-14 2013-08-27 Google Inc. Predictive analytical model matching
US9099087B2 (en) 2010-09-03 2015-08-04 Canyon IP Holdings, LLC Methods and systems for obtaining language models for transcribing communications
US9152464B2 (en) 2010-09-03 2015-10-06 Ianywhere Solutions, Inc. Adjusting a server multiprogramming level based on collected throughput values
US8341573B2 (en) 2010-10-15 2012-12-25 Lsi Corporation Modeling approach for timing closure in hierarchical designs leveraging the separation of horizontal and vertical aspects of the design flow
US10228959B1 (en) 2011-06-02 2019-03-12 Google Llc Virtual network for virtual machine communication and migration
US8606728B1 (en) 2011-06-15 2013-12-10 Google Inc. Suggesting training examples
US9454733B1 (en) 2012-08-15 2016-09-27 Context Relevant, Inc. Training a machine learning model
US9363154B2 (en) 2012-09-26 2016-06-07 International Business Machines Corporaion Prediction-based provisioning planning for cloud environments
US8996372B1 (en) 2012-10-30 2015-03-31 Amazon Technologies, Inc. Using adaptation data with cloud-based speech recognition
US8978032B2 (en) 2012-11-15 2015-03-10 Bank Of America Corporation Host naming application programming interface
EP2962101A4 (en) 2013-02-28 2016-10-19 Progyny Inc APPARATUS, METHOD AND SYSTEM FOR CLASSIFYING HUMAN EMBRYONIC CELLS FROM IMAGES
US9350747B2 (en) 2013-10-31 2016-05-24 Cyberpoint International Llc Methods and systems for malware analysis
WO2015085475A1 (zh) 2013-12-10 2015-06-18 华为技术有限公司 一种虚拟机资源的调度方法和装置
WO2015126292A1 (en) 2014-02-20 2015-08-27 Telefonaktiebolaget L M Ericsson (Publ) Methods, apparatuses, and computer program products for deploying and managing software containers
US10235639B1 (en) 2014-03-14 2019-03-19 Directly Software, Inc. Al based CRM system
US20150332169A1 (en) 2014-05-15 2015-11-19 International Business Machines Corporation Introducing user trustworthiness in implicit feedback based search result ranking
US10558924B2 (en) 2014-05-23 2020-02-11 DataRobot, Inc. Systems for second-order predictive data analytics, and related methods and apparatus
US11100420B2 (en) 2014-06-30 2021-08-24 Amazon Technologies, Inc. Input processing for machine learning
US9378731B2 (en) 2014-09-25 2016-06-28 Google Inc. Acoustic model training corpus selection
US20160148115A1 (en) 2014-11-26 2016-05-26 Microsoft Technology Licensing Easy deployment of machine learning models
US10104345B2 (en) 2014-12-16 2018-10-16 Sighthound, Inc. Data-enhanced video viewing system and methods for computer vision processing
US9667484B2 (en) 2015-01-07 2017-05-30 Verizon Patent And Licensing Inc. Delayed incremental and adaptive provisioning of wireless services
JP6349264B2 (ja) 2015-01-19 2018-06-27 株式会社日立製作所 計算資源割当て方法およびシステム
US20170017903A1 (en) 2015-02-11 2017-01-19 Skytree, Inc. User Interface for a Unified Data Science Platform Including Management of Models, Experiments, Data Sets, Projects, Actions, Reports and Features
US9378044B1 (en) 2015-03-28 2016-06-28 Vmware, Inc. Method and system that anticipates deleterious virtual-machine state changes within a virtualization layer
US9667656B2 (en) 2015-03-30 2017-05-30 Amazon Technologies, Inc. Networking flow logs for multi-tenant environments
EP3304322A4 (en) 2015-06-05 2018-11-07 Nutanix, Inc. Optimizable full-path encryption in a virtualization environment
US10255907B2 (en) 2015-06-07 2019-04-09 Apple Inc. Automatic accent detection using acoustic models
TWI591982B (zh) 2015-07-21 2017-07-11 黃能富 網路流量辨識方法及辨識系統
US20170068902A1 (en) 2015-09-03 2017-03-09 Skytree, Inc. Modeling of Geospatial Location Over Time
US9772934B2 (en) 2015-09-14 2017-09-26 Palantir Technologies Inc. Pluggable fault detection tests for data pipelines
US10084658B2 (en) * 2015-09-28 2018-09-25 Cisco Technology, Inc. Enhanced cloud demand prediction for smart data centers
US10116521B2 (en) 2015-10-15 2018-10-30 Citrix Systems, Inc. Systems and methods for determining network configurations using historical real-time network metrics data
US10332509B2 (en) 2015-11-25 2019-06-25 Baidu USA, LLC End-to-end speech recognition
US11210595B2 (en) 2015-11-30 2021-12-28 Allegro Artificial Intelligence Ltd System and method for selective use of examples
US10904360B1 (en) 2015-12-02 2021-01-26 Zeta Global Corp. Method and apparatus for real-time personalization
US10269119B2 (en) 2015-12-07 2019-04-23 Avigilon Analytics Corporation System and method for background and foreground segmentation
US10438132B2 (en) 2015-12-16 2019-10-08 Accenture Global Solutions Limited Machine for development and deployment of analytical models
US10387798B2 (en) 2015-12-16 2019-08-20 Accenture Global Solutions Limited Machine for development of analytical models
US10002247B2 (en) * 2015-12-18 2018-06-19 Amazon Technologies, Inc. Software container registry container image deployment
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US11715025B2 (en) * 2015-12-30 2023-08-01 Nutanix, Inc. Method for forecasting distributed resource utilization in a virtualization environment
US20170212829A1 (en) 2016-01-21 2017-07-27 American Software Safety Reliability Company Deep Learning Source Code Analyzer and Repairer
US20170213213A1 (en) 2016-01-25 2017-07-27 Sigue Corporation Enhanced authentication security applicable in an at least partially insecure network environment
US10803401B2 (en) 2016-01-27 2020-10-13 Microsoft Technology Licensing, Llc Artificial intelligence engine having multiple independent processes on a cloud based platform configured to scale
US11841789B2 (en) 2016-01-27 2023-12-12 Microsoft Technology Licensing, Llc Visual aids for debugging
US11087234B2 (en) 2016-01-29 2021-08-10 Verizon Media Inc. Method and system for distributed deep machine learning
US10095552B2 (en) 2016-02-05 2018-10-09 Sas Institute Inc. Automated transfer of objects among federated areas
US10230786B2 (en) 2016-02-26 2019-03-12 Red Hat, Inc. Hot deployment in a distributed cluster system
US20170270427A1 (en) 2016-03-17 2017-09-21 Microsoft Technology Licensing, Llc Multi-view machine learning
US10810491B1 (en) 2016-03-18 2020-10-20 Amazon Technologies, Inc. Real-time visualization of machine learning models
RU2632143C1 (ru) 2016-04-11 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ обучения модуля ранжирования с использованием обучающей выборки с зашумленными ярлыками
US10503401B2 (en) 2016-05-16 2019-12-10 International Business Machines Corporation Opportunistic data analytics using memory bandwidth in disaggregated computing systems
US10712906B2 (en) 2016-05-25 2020-07-14 Lenovo (Singapore) Pte. Ltd. Systems and methods for presentation of elements on a display based on context
JP6653774B2 (ja) 2016-06-23 2020-02-26 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 通知に対するユーザ可用性又は受容性を測定する方法、装置及び機械可読媒体
US9830315B1 (en) 2016-07-13 2017-11-28 Xerox Corporation Sequence-based structured prediction for semantic parsing
US20180053099A1 (en) 2016-08-16 2018-02-22 International Business Machines Corporation Automatic evaluation of a knowledge canvassing application
US11789724B2 (en) 2016-08-23 2023-10-17 International Business Machines Corporation Machine learning to facilitate incremental static program analysis
US11681943B2 (en) 2016-09-27 2023-06-20 Clarifai, Inc. Artificial intelligence development via user-selectable/connectable model representations
US10303388B1 (en) * 2016-09-30 2019-05-28 EMC IP Holding Company LLC Storage filtering using container images
US10585693B2 (en) 2016-09-30 2020-03-10 Uchicago Argonne, Llc Systems and methods for metric driven deployments to cloud service providers
US11188551B2 (en) 2016-11-04 2021-11-30 Microsoft Technology Licensing, Llc Multi-level data pagination
US20200026576A1 (en) 2017-01-19 2020-01-23 Nutanix, Inc. Determining a number of nodes required in a networked virtualization system based on increasing node density
US20180300653A1 (en) * 2017-04-18 2018-10-18 Distributed Systems, Inc. Distributed Machine Learning System
US10691514B2 (en) 2017-05-08 2020-06-23 Datapipe, Inc. System and method for integration, testing, deployment, orchestration, and management of applications
WO2018226790A1 (en) * 2017-06-09 2018-12-13 ORock Holdings, LLC Secure network-accessible system for executing remote applications
US20170330078A1 (en) 2017-07-18 2017-11-16 Ashok Reddy Method and system for automated model building
US10735273B2 (en) 2017-07-31 2020-08-04 Accenture Global Solutions Limited Using machine learning to make network management decisions
US11396825B2 (en) 2017-08-14 2022-07-26 General Electric Company Turbine diagnostic feature selection system
WO2019050952A1 (en) 2017-09-05 2019-03-14 Brandeis University SYSTEMS, METHODS, AND MEDIA FOR DISTRIBUTING DATABASE INTERROGATIONS THROUGH A PAYING VIRTUAL NETWORK
US10484392B2 (en) 2017-09-08 2019-11-19 Verizon Patent And Licensing Inc. Isolating containers on a host
US20190095794A1 (en) 2017-09-26 2019-03-28 Intel Corporation Methods and apparatus for training a neural network
US11720813B2 (en) 2017-09-29 2023-08-08 Oracle International Corporation Machine learning platform for dynamic model selection
US10922358B2 (en) 2017-10-13 2021-02-16 Kpmg Llp System and method for analysis of structured and unstructured data
US11544743B2 (en) 2017-10-16 2023-01-03 Adobe Inc. Digital content control based on shared machine learning properties
US10275710B1 (en) 2017-10-31 2019-04-30 KenSci Inc. Machine learning model repository
US11537868B2 (en) 2017-11-13 2022-12-27 Lyft, Inc. Generation and update of HD maps using data from heterogeneous sources
US20200311617A1 (en) 2017-11-22 2020-10-01 Amazon Technologies, Inc. Packaging and deploying algorithms for flexible machine learning
US10621019B1 (en) 2017-11-22 2020-04-14 Amazon Technologies, Inc. Using a client to manage remote machine learning jobs
US11748610B1 (en) 2017-11-22 2023-09-05 Amazon Technologies, Inc. Building sequence to sequence (S2S) models using previously generated S2S models with similar use cases
US11977958B2 (en) 2017-11-22 2024-05-07 Amazon Technologies, Inc. Network-accessible machine learning model training and hosting system
US10534965B2 (en) 2017-11-22 2020-01-14 Amazon Technologies, Inc. Analysis of video content
US11257002B2 (en) 2017-11-22 2022-02-22 Amazon Technologies, Inc. Dynamic accuracy-based deployment and monitoring of machine learning models in provider networks
US10490183B2 (en) 2017-11-22 2019-11-26 Amazon Technologies, Inc. Fully managed and continuously trained automatic speech recognition service
US11537439B1 (en) 2017-11-22 2022-12-27 Amazon Technologies, Inc. Intelligent compute resource selection for machine learning training jobs
US10831519B2 (en) 2017-11-22 2020-11-10 Amazon Technologies, Inc. Packaging and deploying algorithms for flexible machine learning
US10715549B2 (en) 2017-12-01 2020-07-14 KnowBe4, Inc. Systems and methods for AIDA based role models
CN114546391A (zh) 2020-11-25 2022-05-27 阿里巴巴集团控股有限公司 一种算子处理方法、装置、设备、***及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110127498A (ko) * 2010-05-19 2011-11-25 박배억 온라인 교육 시스템 및 이를 위한 통신 단말기
CN104246744A (zh) * 2012-04-21 2014-12-24 国际商业机器公司 用于提供测试网络作为ip可访问的云服务的方法和装置
CN105051693A (zh) * 2013-03-15 2015-11-11 思杰***有限公司 管理计算机服务器能力
CN106068520A (zh) * 2013-12-13 2016-11-02 微软技术许可有限责任公司 个性化的机器学习模型
JP2017520068A (ja) * 2014-05-23 2017-07-20 データロボット, インコーポレイテッド 予測データ分析のためのシステムおよび技術
CN106575246A (zh) * 2014-06-30 2017-04-19 亚马逊科技公司 机器学习服务
CN106663037A (zh) * 2014-06-30 2017-05-10 亚马逊科技公司 特征处理权衡管理
CN106663038A (zh) * 2014-06-30 2017-05-10 亚马逊科技公司 用于机器学习的特征处理配方
CN107077385A (zh) * 2014-09-10 2017-08-18 亚马逊技术公司 计算实例启动时间
WO2016053950A1 (en) * 2014-09-30 2016-04-07 Amazon Technologies, Inc. Threading as a service
CN107111507A (zh) * 2014-09-30 2017-08-29 亚马逊技术有限公司 线程化作为服务
CN106953862A (zh) * 2017-03-23 2017-07-14 国家电网公司 网络安全态势的感知方法和装置及感知模型训练方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于GPR预判模型的海量日志流实时异常检测研究;郭子昂;《中国优秀硕士学位论文全文数据库 信息科技辑》(第04期);I139-10 *
基于加权部件模型的行人检测研究;王雪平;《中国优秀硕士学位论文全文数据库 信息科技辑》(第12期);I138-607 *

Also Published As

Publication number Publication date
AU2018373029A1 (en) 2020-05-28
WO2019104063A1 (en) 2019-05-31
AU2018373029B2 (en) 2021-08-05
JP2021504799A (ja) 2021-02-15
EP3714365A1 (en) 2020-09-30
WO2019104063A9 (en) 2020-06-04
US11977958B2 (en) 2024-05-07
KR102428293B1 (ko) 2022-08-02
CN111448550A (zh) 2020-07-24
JP6997315B2 (ja) 2022-01-17
KR20200087853A (ko) 2020-07-21
US20190156244A1 (en) 2019-05-23

Similar Documents

Publication Publication Date Title
CN111448550B (zh) 网络可访问的机器学习模型训练和托管***
US11550614B2 (en) Packaging and deploying algorithms for flexible machine learning
US11537439B1 (en) Intelligent compute resource selection for machine learning training jobs
US20200311617A1 (en) Packaging and deploying algorithms for flexible machine learning
US11948022B2 (en) Using a client to manage remote machine learning jobs
US11775868B1 (en) Machine learning inference calls for database query processing
US11341367B1 (en) Synthetic training data generation for machine learning
EP4032033A1 (en) Automated machine learning pipeline exploration and deployment
US11593704B1 (en) Automatic determination of hyperparameters
US11610126B1 (en) Temporal-clustering invariance in irregular time series data
US11373119B1 (en) Framework for building, orchestrating and deploying large-scale machine learning applications
US11748610B1 (en) Building sequence to sequence (S2S) models using previously generated S2S models with similar use cases
US11605021B1 (en) Iterative model training and deployment for automated learning systems
US10970530B1 (en) Grammar-based automated generation of annotated synthetic form training data for machine learning
US11341339B1 (en) Confidence calibration for natural-language understanding models that provides optimal interpretability
US11797535B1 (en) Use of batch mode function execution in database engines to enable efficient calls to remote services
US11409564B2 (en) Resource allocation for tuning hyperparameters of large-scale deep learning workloads
US11593675B1 (en) Machine learning-based program analysis using synthetically generated labeled data
CN117296042A (zh) 用于超融合云基础架构的应用管理平台
US11966396B1 (en) Machine learning inference calls for database query processing
US11593705B1 (en) Feature engineering pipeline generation for machine learning using decoupled dataset analysis and interpretation
US11531917B1 (en) Probabilistic forecasting with nonparametric quantile functions

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