CN111448550A - 网络可访问的机器学习模型训练和托管系统 - Google Patents
网络可访问的机器学习模型训练和托管系统 Download PDFInfo
- Publication number
- CN111448550A CN111448550A CN201880074178.7A CN201880074178A CN111448550A CN 111448550 A CN111448550 A CN 111448550A CN 201880074178 A CN201880074178 A CN 201880074178A CN 111448550 A CN111448550 A CN 111448550A
- Authority
- CN
- China
- Prior art keywords
- training
- container
- model
- data
- virtual machine
- 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.)
- Granted
Links
- 238000012549 training Methods 0.000 title claims abstract description 388
- 238000010801 machine learning Methods 0.000 title claims abstract description 203
- 238000000034 method Methods 0.000 claims description 61
- 238000012545 processing Methods 0.000 claims description 30
- 238000013500 data storage Methods 0.000 claims description 27
- 238000011156 evaluation Methods 0.000 claims description 18
- 238000013442 quality metrics Methods 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 21
- 238000004590 computer program Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 241000282376 Panthera tigris Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution 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可以在机器学习模型正被训练时监测虚拟机实例122,从而获得生成的模型数据并且处理获得的模型数据以生成模型度量。例如,模型度量可以包括质量度量,诸如正被训练的机器学习模型的错误率,正被训练的机器学习模型的统计分布,正被训练的机器学习模型的等待时间,正被训练的机器学习模型的置信水平(例如,已知正被训练的机器学习模型的准确度的置信水平等。ML模型评估器128可以从训练数据存储设备160获得用于正被训练的机器学习模型的模型数据和评估数据。评估数据与用于训练机器学习模型的数据分离且包括输入数据和预期的输出(例如,已知的结果)两者,且因此ML模型评估器128可以使用模型数据定义机器学习模型并且通过将输入数据作为输入提供给机器学习模型来执行机器学习模型。然后,ML模型评估器128可以比较机器学习模型的输出与预期的输出,并且基于该比较确定正被训练的机器学习模型的一个或多个质量度量(例如,错误率可以是机器学习模型输出和预期的输出之间的差异或距离)。
在一些实施例中,ML模型评估器128在训练过程期间定期地生成模型度量并且将模型度量存储在训练度量数据存储设备165中。虽然正在训练机器学习模型,但是用户可以经由用户装置102从训练度量数据存储设备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可以在(7)处从训练模型数据存储设备175检索模型数据。ML模型评估器128在(8)处从训练数据存储设备160进一步检索评估数据。例如,评估数据可以是与用于训练机器学习模型的数据相分离的数据。评估数据可以包括输入数据和作为输入数据的结果发生或形成的已知结果。在一些实施例中,ML模型评估器128在(9)处使用包括在评估数据中的输入数据执行由检索的模型数据定义的机器学习模型。ML模型评估器128然后在(10)处比较由检索的模型数据定义的机器学习模型的输出与包括在评估数据中的已知结果,以确定机器学习模型的质量度量。例如,质量度量可以基于机器学习模型输出和已知结果之间的聚集差异(例如,平均差异、中值差异等)来确定。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)实例类型、要在所述第一计算装置上分配的存储器的量或所述第一虚拟机实例的类型中的至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/821,585 US11977958B2 (en) | 2017-11-22 | 2017-11-22 | Network-accessible machine learning model training and hosting system |
US15/821,585 | 2017-11-22 | ||
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 true CN111448550A (zh) | 2020-07-24 |
CN111448550B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023185570A1 (en) * | 2022-03-29 | 2023-10-05 | International Business Machines Corporation | Storage driver for managing multiple layer file system on cloud |
WO2023217146A1 (zh) * | 2022-05-09 | 2023-11-16 | 杭州海康威视数字技术股份有限公司 | 一种算法模型运行处理方法、装置及边缘智能设备 |
Families Citing this family (26)
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 |
CN113762504A (zh) * | 2017-11-29 | 2021-12-07 | 华为技术有限公司 | 模型训练系统、方法和存储介质 |
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 |
WO2021107830A1 (en) * | 2019-11-28 | 2021-06-03 | 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 |
US20220237506A1 (en) * | 2021-01-27 | 2022-07-28 | Salesforce.Com, Inc. | Using container and model information to select containers for executing models |
US20220237505A1 (en) * | 2021-01-27 | 2022-07-28 | Salesforce.Com, Inc. | Using container 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 | (주)뤼이드 | 사전 학습을 위한 자동화 머신 러닝 |
US20230412449A1 (en) * | 2022-06-09 | 2023-12-21 | Hewlett Packard Enterprise Development Lp | Network alert detection utilizing trained edge classification models |
Citations (13)
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 | 微软技术许可有限责任公司 | 个性化的机器学习模型 |
US20170093639A1 (en) * | 2015-09-28 | 2017-03-30 | Cisco Technology, Inc. | Enhanced cloud demand prediction for smart data centers |
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 | データロボット, インコーポレイテッド | 予測データ分析のためのシステムおよび技術 |
US20170213156A1 (en) * | 2016-01-27 | 2017-07-27 | Bonsai AI, Inc. | Artificial intelligence engine having multiple independent processes on a cloud based platform configured to scale |
US20170220949A1 (en) * | 2016-01-29 | 2017-08-03 | Yahoo! Inc. | Method and system for distributed deep machine learning |
CN107077385A (zh) * | 2014-09-10 | 2017-08-18 | 亚马逊技术公司 | 计算实例启动时间 |
Family Cites Families (92)
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 |
EP2151128A4 (en) | 2007-04-25 | 2011-11-16 | Miovision Technologies Inc | 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 |
US9152464B2 (en) | 2010-09-03 | 2015-10-06 | Ianywhere Solutions, Inc. | Adjusting a server multiprogramming level based on collected throughput values |
US9099087B2 (en) | 2010-09-03 | 2015-08-04 | Canyon IP Holdings, LLC | Methods and systems for obtaining language models for transcribing communications |
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 |
CN105407819A (zh) | 2013-02-28 | 2016-03-16 | 普罗吉涅股份有限公司 | 用于自动化非侵入细胞活性追踪的设备、方法和系统 |
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 | 黃能富 | 網路流量辨識方法及辨識系統 |
WO2017040852A1 (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 |
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 |
US10319374B2 (en) | 2015-11-25 | 2019-06-11 | Baidu USA, LLC | Deployed 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 |
US11841789B2 (en) | 2016-01-27 | 2023-12-12 | Microsoft Technology Licensing, Llc | Visual aids for debugging |
US10002029B1 (en) | 2016-02-05 | 2018-06-19 | Sas Institute Inc. | Automated transfer of neural network definitions 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 |
US10585693B2 (en) | 2016-09-30 | 2020-03-10 | Uchicago Argonne, Llc | Systems and methods for metric driven deployments to cloud service providers |
US10303388B1 (en) * | 2016-09-30 | 2019-05-28 | EMC IP Holding Company LLC | Storage filtering using container images |
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 |
US10621019B1 (en) | 2017-11-22 | 2020-04-14 | Amazon Technologies, Inc. | Using a client to manage remote machine learning jobs |
US12045693B2 (en) | 2017-11-22 | 2024-07-23 | Amazon Technologies, Inc. | Packaging and deploying algorithms for flexible machine learning |
US10490183B2 (en) | 2017-11-22 | 2019-11-26 | Amazon Technologies, Inc. | Fully managed and continuously trained automatic speech recognition service |
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 |
US11537439B1 (en) | 2017-11-22 | 2022-12-27 | Amazon Technologies, Inc. | Intelligent compute resource selection for machine learning training jobs |
US11257002B2 (en) | 2017-11-22 | 2022-02-22 | Amazon Technologies, Inc. | Dynamic accuracy-based deployment and monitoring of machine learning models in provider networks |
US11977958B2 (en) | 2017-11-22 | 2024-05-07 | Amazon Technologies, Inc. | Network-accessible machine learning model training and hosting system |
US10831519B2 (en) | 2017-11-22 | 2020-11-10 | Amazon Technologies, Inc. | Packaging and deploying algorithms for flexible machine learning |
US10534965B2 (en) | 2017-11-22 | 2020-01-14 | Amazon Technologies, Inc. | Analysis of video content |
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 | 阿里巴巴集团控股有限公司 | 一种算子处理方法、装置、设备、系统及存储介质 |
-
2017
- 2017-11-22 US US15/821,585 patent/US11977958B2/en active Active
-
2018
- 2018-11-20 EP EP18815894.3A patent/EP3714365A1/en active Pending
- 2018-11-20 AU AU2018373029A patent/AU2018373029B2/en active Active
- 2018-11-20 KR KR1020207017954A patent/KR102428293B1/ko active IP Right Grant
- 2018-11-20 JP JP2020528075A patent/JP6997315B2/ja active Active
- 2018-11-20 WO PCT/US2018/062064 patent/WO2019104063A1/en unknown
- 2018-11-20 CN CN201880074178.7A patent/CN111448550B/zh active Active
Patent Citations (15)
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 | 亚马逊技术有限公司 | 线程化作为服务 |
US20170093639A1 (en) * | 2015-09-28 | 2017-03-30 | Cisco Technology, Inc. | Enhanced cloud demand prediction for smart data centers |
US20170213156A1 (en) * | 2016-01-27 | 2017-07-27 | Bonsai AI, Inc. | Artificial intelligence engine having multiple independent processes on a cloud based platform configured to scale |
US20170220949A1 (en) * | 2016-01-29 | 2017-08-03 | Yahoo! Inc. | Method and system for distributed deep machine learning |
CN106953862A (zh) * | 2017-03-23 | 2017-07-14 | 国家电网公司 | 网络安全态势的感知方法和装置及感知模型训练方法和装置 |
Non-Patent Citations (2)
Title |
---|
王雪平: "基于加权部件模型的行人检测研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 12, pages 138 - 607 * |
郭子昂: "基于GPR预判模型的海量日志流实时异常检测研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 04, pages 139 - 10 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023185570A1 (en) * | 2022-03-29 | 2023-10-05 | International Business Machines Corporation | Storage driver for managing multiple layer file system on cloud |
WO2023217146A1 (zh) * | 2022-05-09 | 2023-11-16 | 杭州海康威视数字技术股份有限公司 | 一种算法模型运行处理方法、装置及边缘智能设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2019104063A9 (en) | 2020-06-04 |
US20190156244A1 (en) | 2019-05-23 |
KR102428293B1 (ko) | 2022-08-02 |
KR20200087853A (ko) | 2020-07-21 |
CN111448550B (zh) | 2024-03-19 |
EP3714365A1 (en) | 2020-09-30 |
AU2018373029B2 (en) | 2021-08-05 |
US11977958B2 (en) | 2024-05-07 |
JP2021504799A (ja) | 2021-02-15 |
JP6997315B2 (ja) | 2022-01-17 |
AU2018373029A1 (en) | 2020-05-28 |
WO2019104063A1 (en) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111448550A (zh) | 网络可访问的机器学习模型训练和托管系统 | |
US20210295161A1 (en) | Training neural networks represented as computational graphs | |
US11087216B2 (en) | Modifying computational graphs | |
US11769061B2 (en) | Processing computational graphs | |
JP6790286B2 (ja) | 強化学習を用いたデバイス配置最適化 | |
US11537439B1 (en) | Intelligent compute resource selection for machine learning training jobs | |
US10789544B2 (en) | Batching inputs to a machine learning model | |
US9715408B2 (en) | Data-aware workload scheduling and execution in heterogeneous environments | |
US20180247196A1 (en) | Stream-based accelerator processing of computational graphs | |
US11030002B2 (en) | Optimizing simultaneous startup or modification of inter-dependent machines with specified priorities | |
JP6234477B2 (ja) | 回帰モデルを計算するための方法、コンピュータ・プログラム、およびシステム | |
CN108460458B (zh) | 在图形处理单元上执行计算图的方法、系统及存储介质 | |
US10643150B2 (en) | Parameter version vectors used for deterministic replay of distributed execution of workload computations | |
US11610126B1 (en) | Temporal-clustering invariance in irregular time series data | |
US11748610B1 (en) | Building sequence to sequence (S2S) models using previously generated S2S models with similar use cases | |
US11763146B1 (en) | Processing loops in computational graphs | |
CN111133458B (zh) | 增强神经网络 | |
US11409564B2 (en) | Resource allocation for tuning hyperparameters of large-scale deep learning workloads | |
CN116070557A (zh) | 使用强化学习的数据路径电路设计 | |
CN114138484A (zh) | 资源分配方法、装置以及介质 | |
US20240095083A1 (en) | Parallel workload scheduling based on workload data coherence | |
US20230177372A1 (en) | Optimized selection of data for quantum circuits |
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 |