CN112580816A - 机器学习训练资源管理 - Google Patents

机器学习训练资源管理 Download PDF

Info

Publication number
CN112580816A
CN112580816A CN202011038203.1A CN202011038203A CN112580816A CN 112580816 A CN112580816 A CN 112580816A CN 202011038203 A CN202011038203 A CN 202011038203A CN 112580816 A CN112580816 A CN 112580816A
Authority
CN
China
Prior art keywords
machine learning
training
server
model
determining
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.)
Pending
Application number
CN202011038203.1A
Other languages
English (en)
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.)
Meta Platforms Inc
Original Assignee
Facebook 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 Facebook Inc filed Critical Facebook Inc
Publication of CN112580816A publication Critical patent/CN112580816A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

本申请涉及机器学习训练资源管理。确定服务器池中选择的服务器有资格用于机器学习训练。至少所选择的服务器被用来训练机器学习模型的至少一部分。确定服务器池中的所选择的服务器不再有资格用于机器学习训练。保存机器学习模型的训练状态。所选择的服务器被返回用于服务器池中的其他用途。

Description

机器学习训练资源管理
发明背景
在发现一个成功的机器学习模型之前,机器学习涉及利用各种不同训练的许多实验。在成功的机器学习模型可被部署到一个实际的生产系统中用于终端用户(end user)的推理任务之前,机器学习模型必须在计算密集的过程中被训练,该过程涉及许多重复的迭代。这种训练通常在离线过程中使用专用机器进行。这些专用资源的限制通常限制了现有机器学习模型可以被重新训练的频率以及产生新的改进模型的实验量。此外,这些专用资源的限制通常限制了可被训练的现有机器学习模型的多样性以及产生新的改进模型的实验量。
附图简述
在以下详细描述和附图中公开了本发明的各种实施例。
图1是示出用于管理机器学习的系统环境的实施例的框图。
图2是示出用于临时利用服务器来执行机器学习的过程的实施例的流程图。
图3是示出用于恢复(resume)机器学习训练的过程的实施例的流程图。
图4是示出使用模型的储存库(repository)生成新的机器学习模型的过程的实施例的流程图。
详细描述
本发明可以以多种方式实现,包括作为过程;装置;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,例如被配置为执行存储在耦合到处理器的存储器上和/或由该存储器提供的指令的处理器。在本说明书中,这些实现或者本发明可以采取的任何其他形式可以被称为技术。通常,在本发明的范围内,可以改变所公开的过程的步骤顺序。除非另有说明,否则被描述为被配置为执行任务的诸如处理器或存储器的组件可以被实现为被临时配置为在给定时间执行任务的通用组件或者被制造为执行任务的特定组件。如本文所使用的,术语“处理器”指的是被配置成处理数据(例如计算机程序指令)的一个或更多个设备、电路和/或处理核心。
下面提供了本发明的一个或更多个实施例的详细描述连同说明本发明原理的附图。结合这些实施例描述了本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限定,并且本发明包括许多替代、修改和等同物。为了提供对本发明的全面理解,在以下描述中阐述了许多具体细节。这些细节是出于示例的目的而提供的,并且本发明可以根据权利要求来被实施,而不需要这些具体细节中的一些或全部。为了清楚起见,没有详细描述与本发明相关的技术领域中已知的技术材料,以便不会不必要地模糊本发明。
公开了有效利用现有计算资源以进行机器学习。例如,终端用户流量模式通常是周期性的,高峰流量出现在一天中的某个时间,而一天中的某些其他时间所经历的流量最小。为了确保良好的用户体验,生产系统的规模可以被设计成应对高峰流量。然而,在低流量时期期间,这些应对对终端用户请求的处理的生产系统中的一些没有得到充分利用,并且可以暂时被重新用于处理机器学习训练。当可能再次需要这些系统来应对与终端用户请求相关的处理时,最好将它们返回到可用生产系统的池中。然而,因为机器学习训练任务可能需要几天时间,所以简单地丢弃当前进度并在下次系统可用时重新启动未完成的机器学习任务是没有成效的。
在一些实施例中,确定服务器池(例如,可用于应对与社交网络服务的实时终端用户请求相关联的处理的生产服务器池)中的选定服务器有资格被用于机器学习训练。例如,基于低于阈值的当前工作负荷(workload)和/或对应于一般低工作负荷的当前时间,确定生产服务器池中的一部分服务器可以用于机器学习训练,而不是应对实时终端用户流量的处理。至少选定的服务器被用来训练机器学习模型的至少一部分。例如,选定的服务器是服务器池中的多个服务器中的临时重新用于训练机器学习模型的一个服务器。然后,确定选定的服务器不再有资格用于机器学习训练。例如,当未决的终端用户请求的数量/速率超过阈值和/或当前时间对应于通常较高的生产工作负荷时,选定的服务器可能需要返回以用于应对生产工作负荷处理。机器学习模型的机器学习训练状态被保存,并且选定的服务器被返回用于服务器池中的其他用途(例如,生产工作负荷)。例如,通过保存状态,机器学习训练可以在至少一部分生产服务器再次可用于机器学习训练用途时从保存状态恢复,而不是重新开始。
当多个工程师致力于使用机器学习解决相同或相似的问题时,不同的工程师可能最终会独立地训练相同或相似的机器学习模型,因为一个工程师不知道另一个工程师以前的努力。在一些实施例中,维护模型和用于各种不同模型的相关联的先前机器学习训练的储存库。例如,针对每个被执行的机器学习模型构建/训练,存储参数、元数据、训练信息、结果、结果模型和/或其他相关信息。该储存库是可搜索的,并且允许用户识别先前是否已经执行了相同或相似的机器学习训练。例如,如果发现先前已经执行了相同或相似的训练,则不需要再次执行该机器学习训练,从而避免了计算资源浪费在重复工作上。该储存库还可用于自动提供关于先前是否执行过相同或相似的机器学习训练的通知。例如,当接收到对机器学习训练的请求时,储存库被自动搜索以主动识别先前是否已经执行了相同或相似的机器学习训练,并将搜索结果通知给用户。在一些实施例中,所提供的结果包括示出可能的训练空间和已经用先前执行的机器学习训练探索过的区域的标识的图形、图表或其他视觉表示(visual)。
可以利用机器学习模型的储存库来识别和/或生成新的和改进的机器学习模型。例如,可以存储、索引和分析先前的训练、模型和结果,以组合模型的部分来生成新模型,以及用先前未在储存库中记录为尝试过的新模型架构/参数来执行新训练。这可以在没有人工干预的情况下自动执行,和/或至少部分由工程师使用储存库手动管理。例如,对于以前导致较差结果的训练,不建议进行其他类似的训练,而对于以前获得良好结果的训练,建议进行类似的训练,希望能够取得更好的结果。新模型和训练的建议可以这样执行,即:使用通过分析历史训练及其结果获得的知识可以更容易地找到更好的结果。当识别出足够的空闲/可用资源时(例如,当多余的计算资源可用时的非高峰时间),可以执行新的机器学习模型的自动生成。例如,当在非高峰时段有额外的计算资源(例如,服务器)可用时,新的训练会自动执行。
图1是示出用于管理机器学习的系统环境的实施例的框图。
服务器102可以包括一个或更多个计算、存储、web、应用和/或其他处理服务器。服务器102可以位于一个或更多个不同的数据中心。在一些实施例中,服务器102包括生产服务器(例如,实时服务器)。生产服务器可以包括托管和/或执行与(例如,对于社交网络服务的)实时终端用户请求相关联的处理的服务器。例如,生产服务器是提供实时处理以向终端用户的网页或应用提供所请求的数据/内容的服务器。相比之下,开发服务器是一种在最终可以由终端用户的生产服务器托管/执行的程序、代码或产品开发中使用的服务器。因为生产服务器的性能直接影响终端用户体验,所以为一个生产服务器池分配了足够的计算资源来处理高峰流量。例如,终端用户流量模式通常是周期性的,高峰流量出现在一天中的特定时间,而一天中的某个其他时间所经历的流量最小。这意味着在低流量时期,这些生产服务器中的一些没有得到充分利用。在一些实施例中,一些服务器102被临时重新用于处理机器学习训练。如果再次需要这些服务器来应对与终端用户请求相关的处理,则期望将它们返回到可用的生产服务器池中。然而,因为机器学习训练任务可能需要几天时间,所以简单地丢弃当前进度并在下次系统可用时重新启动未完成的机器学习任务是没有成效的。
机器学习管理系统106包括一个或更多个服务器/计算机,其被配置为协调和管理服务器102的一个或更多个服务器用于机器学习的利用。例如,机器学习管理系统106在合适的条件下在服务器102中的选定的服务器上启动机器学习训练。当其他任务需要这些选定的服务器时,机器学习管理系统106也可以挂起机器学习训练。
在一些实施例中,当选定的服务器需要返回用于其他用途(例如,返回作为生产服务器以应对与实时用户请求相关联的处理)时,保存机器学习模型的机器学习训练状态。该机器学习训练状态可以存储在机器学习储存库110、服务器102的一个或更多个存储装置、系统106的一个或更多个存储装置和/或另一个存储装置中。通过保存状态,当服务器102的至少一部分再次变得可用于机器学习训练用途时,机器学习训练可以从保存状态恢复,而不是重新开始。
在一些实施例中,机器学习储存库110存储机器学习模型和相关联数据的储存库。例如,对于每个执行的机器学习模型构建/训练,存储训练进度、训练数据、训练状态、参数、元数据、结果、结果模型和/或其他相关联信息。该储存库是可搜索的,并且允许用户识别先前是否已经执行了相同或相似的机器学习训练。例如,如果发现先前已经执行了相同或相似的训练,则不需要再次执行机器学习训练,从而避免了计算资源浪费在重复工作上。可以利用储存库110来识别和/或生成新的和改进的机器学习模型。例如,模型和结果可以被存储、索引和分析,以组合模型的部分来生成新模型,以及用先前没有在储存库中记录为尝试过的新模型架构/参数来执行新的训练。这可以在没有人工干预的情况下自动执行,和/或至少部分由工程师使用储存库手动管理。
在一些实施例中,用户利用用户系统108与机器学习管理系统106交互。例如,工程师利用用户系统108来请求机器学习模型训练,并且该请求被提供给系统106,系统106将在合适的时间自动管理使用服务器102的至少一部分执行的训练。在一些实施例中,用户利用用户系统108与储存库110交互。例如,机器学习研究者或工程师利用用户系统108来请求储存库110的数据和/或对储存库110中存储的数据执行搜索或分析。用户系统108的示例包括个人计算机、膝上型计算机、平板计算机、移动设备、显示设备、用户输入设备和任何其他计算设备。
尽管为了简化图表,只显示了有限数量的组件实例,但是图1中所示的任何组件的附加实例都可能存在。图1中未显示的组件也可能存在。所示的组件通过网络104相互通信。网络104的示例包括以下一个或更多个:直接或间接物理通信连接、移动通信网络、互联网、内联网、局域网、广域网、存储区域网以及将两个或更多个系统、组件或存储设备连接在一起的任何其他形式。用户系统108中可以包括任意数量的组件。
图2是示出用于临时利用服务器来执行机器学习的过程的实施例的流程图。图2的过程的至少一部分可以由管理系统106和/或服务器102的一个或更多个服务器来执行。
在202,确定服务器池中的服务器有资格用于机器学习训练。例如,存在生产服务器池,并且当满足某些条件时(例如,在低利用率时期期间),允许生产服务器池的至少一部分被用于训练机器学习模型。确定服务器有资格用于机器学习可以基于与下列项中的一个或更多个相关联的当前或历史度量:一天中的时间、一周中的一天、系统利用负荷、利用率、存储器利用率、磁盘利用率、网络带宽利用率、网络状态、系统状态、未决工作负荷量、计划工作负荷量、维护计划、检测到的错误、可用计算资源量、可用特定类型的系统/服务器量等。例如,在一天的特定时间(例如,对应于历史上观察到生产工作负荷低的时间段),允许将生产服务器池的一部分用于机器学习训练。在特定示例中,当当前时间在一个或更多个指定的时间窗口内并且服务器池的当前利用负荷系数低于阈值时,在选定的服务器中启用机器学习训练用途。在该示例中,可能存在禁用机器学习训练使用资格的其他触发因素,例如检测到服务器池中超过阈值严重性的错误、检测到指定时间量内的计划工作负荷超过阈值量、或者检测到维护事件。
在一些实施例中,只有生产服务器池的一部分有资格同时用于机器学习训练。例如,将为其主要功能(例如,生产工作负荷处理)保留最少量的计算资源/服务器,而不将这些资源/服务器用于离线机器学习训练。这些选定的服务器可以在用于机器学习训练时停止在生产工作负荷中使用,并在需要时返回生产使用。在一些实施例中,机器学习训练将在生产服务器的沙箱(sandboxed)部分中执行。在一些实施例中,可基于可用的特定类型服务器的数量来选择有资格用于机器学习训练的生产服务器池的部分。例如,池中某些类型服务器的最小数量将用于生产用途,而不是用于机器学习训练。
在204,合格服务器中的一个或更多个服务器被选择用于训练机器学习模型。训练机器学习模型可能需要多个服务器以分布式方式一起使用,以执行大量的训练工作负荷,这对于单个服务器来说是太大而不能执行的。在一些实施例中,机器学习管理系统(例如,图1的系统106)接收对要执行的机器学习训练的请求,并且机器学习管理系统在合格的服务器中选择要被用来训练待训练的所请求的机器学习模型的一个或更多个服务器。在一些实施例中,直到有足够量的空闲资源可用于训练和/或满足一个或更多个其他条件才执行所请求的机器学习(例如,当在202中确定服务器池中的服务器有资格用于机器学习训练时,在非高峰时间执行所请求的机器学习)。例如,假设机器学习训练可能是贪婪的(例如,由于训练空间可以是无界的,所以可以执行几乎无限制的训练),当识别出足够的空闲/可用资源时(例如,在生产系统资源变得可用于训练时的非高峰时段期间),执行机器学习训练,从而允许资源浪费最小化。该请求可以指示训练模型期望的/最佳的处理资源量、期望的训练完成时间、优先级标识、训练模型期望的一种或更多种类型的服务器/系统的标识等。例如,机器学习工程师为模型的训练指定一个或更多个期望或要求的参数,并且在确定要被分配来执行模型的训练的合格服务器的数量和分配哪些合格服务器时,这些参数被考虑在内。在各种实施例中,合格服务器中的一个或更多个服务器基于下列项中的一个或更多个被选择用于训练机器学习模型:训练模型所需的处理量、模型的优先级排序、期望的训练完成时间、可用于训练模型的可用资源量、期望的一种或更多种类型的服务器/系统的标识、和/或要为一个或更多个其他机器学习模型执行的训练量。
在206,利用一个或更多个选定的服务器来训练机器学习模型的至少一部分。在一些实施例中,机器学习训练的不同部分被分配给选定的服务器中的不同的服务器,并且服务器被指示执行处理以执行机器学习训练。在一些实施例中,选定的服务器从生产工作中离线以执行机器学习训练。例如,选定的服务器被暂时从可用于执行生产工作以向终端用户提供社交网络服务的服务器池中移除,同时选定的服务器将执行机器学习训练。在一些实施例中,机器学习训练在至少一个选定的服务器内的沙箱环境中执行。这可以允许在其他处理工作(例如,生产系统工作)在服务器上执行的同时,机器学习训练工作负荷在隔离的环境中执行。
在208,确定选定的服务器不再用于机器学习训练。例如,选定的服务器当被需要时将被返回用于它们的主要预期用途(例如,用于执行生产或其他类型的工作)。
确定不再将服务器用于机器学习训练可以基于与下列项中的一个或更多个相关联的当前或历史度量:一天中的时间、一周中的一天、系统利用负荷、利用率、存储器利用率、磁盘利用率、网络带宽利用率、网络状态、系统状态、未决工作负荷量、计划工作负荷量、维护计划、检测到的错误、可用计算资源量、可用特定类型的系统/服务器量等。例如,在一天的特定时间(例如,对应于历史上观察到生产工作负荷不低的时间段),允许暂时用于机器学习训练的服务器将被返回。在特定示例中,当当前时间在一个或更多个指定时间窗口之外或者生产系统服务器池的当前利用负荷系数高于阈值时,选定的服务器不再用于机器学习训练。可能存在导致机器学习训练挂起的其他触发因素,例如检测到选定的服务器中的错误、检测到要执行的计划工作负荷或检测到维护事件。
如果机器学习训练已完成,提供完成指示,并且选定的服务器可用于训练另一个模型。经训练的模型和相关联的元数据、设置、中间数据、参数和/或其他相关联的信息可以存储在存储装置/储存库(例如,图1的储存库110)中。该储存库可在以后用于跟踪和管理完成的机器学习,以及通知将来要执行的机器学习。
在210,机器学习训练被挂起,并且机器学习模型训练的一个或更多个状态被保存。例如,在机器学习训练尚未完成但确定选定的服务器不再用于机器学习的情况下,保存机器学习的状态,使得机器学习训练可以在稍后的时间点从保存的状态恢复,而不是再次从头开始。
保存机器学习模型的状态包括保存以下中的一个或更多个:被训练的模型的模型架构的标识/参数、模型特征、被部分训练的模型、一个或更多个权重矩阵、被训练的模型的当前/中间参数/权重(例如,神经网络权重)、人工神经网络连接和层(例如,图)的标识、处理的训练数据量的标识(例如,已经用于至少部分训练模型的训练数据的标识、要用于训练模型的训练数据的标识等)、已完成的处理/工作的标识、尚未完成的处理/工作的标识、用于模型训练的特定机器/服务器的状态/快照(snapshot)等。在一些实施例中,保存的状态存储在图1的储存库110中。
在一个实施例中,保存的状态对于已经在训练模型的特定配置/类型的机器/服务器是不可知的(agnostic),这允许不同配置/类型的另一机器/服务器利用保存的状态来恢复训练。在不同的实施例中,保存的状态包括特定于已经在训练模型的特定配置/类型的机器/服务器的数据,这允许具有相同配置/类型的另一机器/服务器直接利用保存的状态来恢复训练,而保存的状态到被使用的新机器/服务器的转换最少(如果有的话)。例如,一个或更多个服务器中的每一个的快照被包括在保存的状态中,并且当稍后恢复训练时,保存的快照被加载到相同类型的服务器中。
在一些实施例中,如果确定模型训练已经完成,则不保存机器学习模型训练的一个或更多个状态,因为不必恢复训练。在一些实施例中,如果确定模型训练已经完成,则机器学习模型训练的一个或更多个状态仍然保存在跟踪机器学习的储存库中(例如,保存在图1的储存库110中)。
在212,选定的服务器被返回以在生产服务器池中使用。例如,包括选定的服务器的合格的服务器被返回生产服务器池中,用于社交网络服务的生产使用。这可包括将暂时从生产使用中移除并被离线的服务器返回生产使用和使之在线(例如,重新投入有资格执行生产处理任务的服务器池中)。在另一个示例中,执行机器学习训练的服务器的沙箱环境被挂起、暂停、破坏、停用、关闭和/或禁用。
图3是示出用于恢复机器学习训练的过程的实施例的流程图。图3的过程的至少一部分可以由管理系统106和/或服务器102的一个或更多个服务器来执行。
在302,确定对于被部分训练的模型可以恢复机器学习训练。例如,使用图3的过程的至少一部分来恢复在图2的过程期间至少部分执行和挂起的机器学习训练。在一些实施例中,将恢复图2的210中挂起的机器学习训练。例如,当服务器池中的服务器再次有资格用于机器学习训练时,由于确定选定的服务器不再用于机器学习训练而挂起的任何机器学习训练被自动恢复。在一些实施例中,机器学习管理系统106处理和调度机器学习训练的新请求,以及恢复挂起的机器学习训练。
在一些实施例中,确定可以恢复机器学习训练包括确定服务器池中的服务器有资格被用于机器学习训练。例如,存在生产服务器池,并且当满足某些条件时(例如,在低利用率时期期间),允许使用生产服务器池的至少一部分来训练机器学习模型或恢复机器学习模型的训练。确定服务器有资格用于机器学习可以基于与以下中一个或更多个相关联的当前或历史度量:一天中的时间、一周中的一天、系统利用负荷、利用率、存储器利用率、磁盘利用率、网络带宽利用率、网络状态、系统状态、未决工作负荷量、计划工作负荷量、维护计划、检测到的错误、可用计算资源量、可用特定类型的系统/服务器量等。例如,在一天的特定时间(例如,对应于历史上观察到生产工作负荷低的时间段),允许将生产服务器池的一部分用于机器学习训练。在特定示例中,当当前时间在一个或更多个指定的时间窗口内并且服务器池的当前利用负荷系数低于阈值时,在选定的服务器中启用机器学习训练用途。在该示例中,可能存在禁用机器学习训练使用资格的其他触发因素,例如检测到服务器池中超过阈值严重性的错误、检测到指定时间量内的计划工作负荷超过阈值量、或者检测到维护事件。
在一些实施例中,只有生产服务器池的一部分有资格用于机器学习训练。例如,最少量的计算资源/服务器将为其主要功能(例如,生产工作负荷处理)保留,而不用于离线机器学习训练。这些选定的服务器可以在用于机器学习训练时停止在生产工作负荷中使用,并在需要时返回生产使用。在一些实施例中,机器学习训练将在生产服务器的沙箱部分中执行。在一些实施例中,可基于可用的特定类型服务器的数量来选择有资格用于机器学习训练的生产服务器池的部分。例如,池中最小数量的某些类型服务器将用于生产用途,而不是用于机器学习训练。
在304,访问为被部分训练的模型保存的训练状态。例如,在图2的210中保存的训练状态从存储装置/储存库(例如,图1的储存库110)中检索。使用存储在待训练的一个或更多个模型的列表(例如,包括待恢复的训练在内的待调度/调用的模型训练的列表)中的模型的标识符,在存储装置和/或储存库中识别模型的已保存的训练状态。
在306,合格服务器中的一个或更多个服务器被选择用于恢复被部分训练的模型的机器学习训练。服务器的选择至少部分基于为被部分训练的模型保存的训练状态。例如,保存的状态可以指示训练模型期望的/最佳的处理资源量、先前提供的训练模型的处理资源量、期望的训练完成时间、训练模型剩余的处理量、优先级标识、训练模型期望的一种或更多种类型的服务器/系统的标识、先前用于训练模型的一种或更多种类型的服务器/系统的标识等。在一个示例中,尝试将机器学习训练分配给具有与先前训练实例中使用的相同数量的处理资源的相同类型的服务器。如果具有相同数量的可用资源的相同类型的服务器/系统不可用,则可以尝试在合格的服务器中选择服务器,使得这些选择的服务器的某些资源(例如,处理能力、存储器、存储等)的总量匹配先前训练实例中使用的服务器的那些资源。与之前的实例相比,这可能导致选择更多/更少数量的服务器来训练被部分训练的模型。
在308,向选定的服务器提供保存的训练状态的相应部分,以恢复被部分训练的模型的机器学习训练。在一些实施例中,提供保存的训练状态的相应部分包括向服务器提供保存的状态的对应于将由服务器执行的工作的部分。在一些实施例中,当机器学习训练在先前迭代中挂起时的服务器的快照被提供给新服务器,并且新服务器加载该快照并从该快照的状态恢复训练。保存的训练状态的至少一部分可以在被提供给一个或更多个选定的服务器之前被转换/变换/处理。例如,保存的训练状态的至少一部分被变换成与一种或更多种类型的选定服务器/系统兼容的一个或更多个版本(例如,被变换成与选定服务器的操作系统、处理器或其他规范兼容的版本)。在一些实施例中,最初被分配成由多个(aplurality of)服务器执行的处理被合并为由较少数量的一个或更多个服务器执行(例如,选定的服务器具有比先前训练迭代中不再可用于当前迭代的服务器类型更大的处理能力)。在一些实施例中,最初被分配成由一个服务器根据保存的状态执行的训练工作负荷被划分为由多于一个的选定的服务器执行(例如,选定的服务器具有比先前训练迭代中不再可用于当前迭代的服务器类型更小的处理能力)。
在310,允许选定的服务器恢复被部分训练的模型的机器学习训练。例如,选定的服务器被指示执行处理以执行机器学习训练。在一些实施例中,选定的服务器从生产工作中离线以执行机器学习训练。例如,选定的服务器被暂时从可用于执行生产工作以向终端用户提供社交网络服务的服务器池中移除,而选定的服务器将执行机器学习训练。在一些实施例中,机器学习训练在至少一个选定的服务器内的沙箱环境中执行。这可以允许在其他处理工作(例如,生产系统工作)在服务器上执行的同时,机器学习训练工作负荷在隔离的环境中执行。
在机器学习训练完成的情况下,提供完成的指示,并且选定的服务器可以用于训练另一个模型。经训练的模型和相关联的元数据、设置、中间数据、参数和/或其他相关联的信息可以存储在存储装置/储存库(例如,图1的储存库110)中。该储存库可在以后用于跟踪和管理完成的机器学习,以及通知将来要执行的机器学习。
在一些实施例中,如果在选定的服务器被返回用于其他类型的工作(例如,返回用于生产工作负荷)之前不能完成机器学习训练,则过程进行到图2的208,在208,确定选定的服务器不再用于机器学习训练,在210,机器学习训练被挂起并且机器学习模型训练的当前状态被保存,并且在212,选定的服务器被返回用于服务器池中。
图4是示出使用模型储存库生成新的机器学习模型的过程的实施例的流程图。图4的过程的至少一部分可以由管理系统106和/或服务器102的一个或更多个服务器来执行。
在402,机器学习模型被存储在储存库中。每次训练新的机器学习模型时,训练的模型和相关联的训练参数、配置、中间模型和/或相关联的性能结果可以存储在储存库中。该储存库是可搜索的,并且允许用户识别先前是否已经执行了相同或相似的机器学习训练。为存储在储存库中的每个不同的机器学习模型存储的数据的示例包括下列项中的一个或更多个:模型的模型架构的标识/参数、模型特征、经训练的模型、一个或更多个权重矩阵、模型的当前/中间参数/权重(例如,神经网络权重)、人工神经网络连接和层(例如,神经网络的节点和顶点的图)的标识、用于训练模型的训练数据的标识、与模型相关联的一个或更多个性能度量、或其他参数、元数据、结果、相关联信息等。
在404,分析储存库,并且在406,如果适用,基于该分析生成新模型。在一些实施例中,响应于搜索请求和/或执行机器学习训练的请求来分析储存库。可搜索储存库允许确定先前是否已经执行了相同或相似的机器学习训练。例如,如果发现先前已经执行了相同或相似的训练,则不需要再次执行机器学习训练,从而避免了计算资源浪费在重复工作上。例如,与要执行的训练相比,先前已经利用相同或相似训练数据以及相同或相似训练参数/配置/架构的先前训练模型被识别并呈现给用户。然后,用户可以决定不继续要执行的训练,因为它已经被执行,并且期望的训练的结果模型可以直接从储存库中获得,要执行的训练的参数可以根据其他类似的机器学习模型的结果来修改,或者训练可以继续,因为类似的训练以前没有被执行过。
在一些实施例中,可以利用机器学习模型的储存库来识别和/或生成新的和改进的机器学习模型。例如,可以对储存库进行索引和分析,以组合模型的部分来生成新模型,以及用先前未在储存库中记录为尝试过的新模型架构/参数进行新的训练。这可以在没有人工干预的情况下自动执行,和/或至少部分由用户使用储存库来手动管理。在一些实施例中,分析储存库包括识别储存库中模型之间的相似性。例如,如果已知第一组模型为第一类型的输入生成准确的预测,则可以确定第一组中的模型之间的相似性(例如,识别第一组中的人工神经网络模型的公共图部分),并将其用于生成也具有所发现的相似性的新模型。此外,如果已知第二组模型为第二类型的输入生成准确的预测,则可以确定第二组中的模型之间的相似性(例如,识别第二组中人工神经网络模型的公共图部分),并将其用于生成新模型,该新模型具有在第一组中发现的相似性和在第二组中发现的相似性,以产生为第一类型的输入和第二类型的输入生成准确预测的模型。
在一些实施例中,基于对储存库的分析自动生成新模型,试图自动生成改进的机器学习模型,该模型提供比储存库中现有模型更好的预测。可以基于先前训练参数的历史和性能以及先前生成的模型的配置来自动选择不同的训练参数和配置,以生成和训练自动生成的各种不同的新机器学习模型。给定指定的目标或期望的结果以及测试新模型性能的测试,可以自动测试自动生成和训练的模型,以确定哪些模型提高性能,并且可以进一步自动改进这些模型,以不断搜索和生成改进的模型。
尽管为了清楚理解的目的已经详细描述了前述实施例,但是本发明不限于所提供的细节。有许多实现本发明的替代方式。所公开的实施例是说明性的,而不是限制性的。

Claims (20)

1.一种方法,包括:
确定服务器池中选择的服务器有资格用于机器学习训练;
至少使用所述选择的服务器来训练机器学习模型的至少一部分;
确定所述服务器池中的所述选择的服务器不再有资格用于机器学习训练;
保存所述机器学习模型的训练状态;和
将所述选择的服务器返回用于所述服务器池中的其他用途。
2.根据权利要求1所述的方法,其中所述服务器池是生产服务器池。
3.根据权利要求1所述的方法,其中当满足一个或更多个条件时,所述服务器池的至少一部分有资格被临时用于机器学习训练,并且基于确定满足所述一个或更多个条件而确定开始所述机器学习模型的训练。
4.根据权利要求1所述的方法,其中确定所述服务器池中的所述选择的服务器有资格被用于机器学习训练包括确定当前时间在所述服务器池的至少一部分有资格被用于机器学习训练的时间窗口内。
5.根据权利要求1所述的方法,其中确定所述服务器池中的所述选择的服务器有资格被用于机器学习训练包括基于与所述机器学习模型的训练相关联的参数而在所述服务器池中所包括的合格服务器中选择多个选择的服务器。
6.根据权利要求1所述的方法,其中至少使用所述选择的服务器来训练所述机器学习模型的至少一部分包括暂时使所述选择的服务器不再有资格执行对与社交网络服务的实时终端用户请求相关联的生产工作负荷的处理。
7.根据权利要求1所述的方法,其中确定所述服务器池中的所述选择的服务器不再有资格被用于机器学习训练包括确定所述选择的服务器将被返回到所述服务器池用于生产工作负荷。
8.根据权利要求1所述的方法,其中确定所述服务器池中的所述选择的服务器不再有资格用于机器学习训练包括确定当前时间在所述选择的服务器有资格用于机器学习训练的时间窗口之外。
9.根据权利要求1所述的方法,其中保存所述机器学习模型的训练状态包括确定所述机器学习模型的训练在确定所述选择的服务器不再有资格用于机器学习训练之前尚未完成。
10.根据权利要求1所述的方法,其中保存所述机器学习模型的训练状态包括将所述机器学习模型的训练状态存储在机器学习模型的储存库中。
11.根据权利要求1所述的方法,其中保存所述机器学习模型的训练状态包括存储与所述机器学习模型相关联的以下项中的一个或更多个:模型架构的标识或参数、模型特征、被部分训练的模型、一个或更多个权重矩阵、当前/中间参数/权重、人工神经网络连接和层的标识、处理的训练数据量的标识、已经完成的处理/工作的标识、尚未完成的处理/工作的标识、或所述选择的服务器的状态/快照。
12.根据权利要求1所述的方法,其中将所述选择的服务器返回用于所述服务器池中的其他用途包括将所述选择的服务器返回用于社交网络服务的生产工作负荷。
13.根据权利要求1所述的方法,还包括确定所述服务器池中的另一个选择的服务器有资格被用于机器学习训练;以及在所述另一个选择的服务器上使用保存的训练状态的至少一部分来恢复所述机器学习模型的训练。
14.根据权利要求1所述的方法,其中所述机器学习模型和相关联数据存储在储存库中,所述储存库存储其他机器学习模型及其相关联数据。
15.根据权利要求14所述的方法,其中存储在所述储存库中的每个机器学习模型的相关联数据包括以下项中的一个或更多个:模型架构的标识/参数、模型特征、被训练的模型、一个或更多个权重矩阵、当前/中间参数/权重、人工神经网络连接和层的标识、用于训练模型的训练数据的标识、历史机器学习训练和相关联结果、或一个或更多个相关联性能度量。
16.根据权利要求14所述的方法,还包括响应于用户请求或自动确定,搜索所述储存库以确定要执行的新的潜在机器学习训练、先前是否已经执行了相同或相似的机器学习训练。
17.根据权利要求14所述的方法,还包括响应于确定有足够的资源是空闲的而能够用于执行新的机器学习训练,利用所述储存库自动识别并执行所述新的机器学习训练,而无需人工干预。
18.根据权利要求14所述的方法,还包括利用所述储存库基于储存在所述储存库中的多个机器学习模型的部分的组合来生成新的机器学习模型。
19.一种系统,包括:
处理器,所述处理器被配置为:
确定服务器池中选择的服务器有资格用于机器学习训练;
至少使用所述选择的服务器来训练机器学习模型的至少一部分;
确定所述服务器池中的所述选择的服务器不再有资格用于机器学习训练;
保存所述机器学习模型的训练状态;和
将所述选择的服务器返回用于所述服务器池中的其他用途;和
存储器,所述存储器与所述处理器耦合,其中所述存储器被配置为向所述处理器提供指令。
20.一种计算机程序产品,所述计算机程序产品包含在非暂时性计算机可读存储介质中,并且包括用于以下操作的计算机指令:
确定服务器池中选择的服务器有资格用于机器学习训练;
至少使用所述选择的服务器来训练机器学习模型的至少一部分;
确定所述服务器池中的所述选择的服务器不再有资格用于机器学习训练;
保存所述机器学习模型的训练状态;和
将所述选择的服务器返回用于所述服务器池中的其他用途。
CN202011038203.1A 2019-09-30 2020-09-28 机器学习训练资源管理 Pending CN112580816A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/587,689 2019-09-30
US16/587,689 US20210097429A1 (en) 2019-09-30 2019-09-30 Machine learning training resource management

Publications (1)

Publication Number Publication Date
CN112580816A true CN112580816A (zh) 2021-03-30

Family

ID=72613859

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011038203.1A Pending CN112580816A (zh) 2019-09-30 2020-09-28 机器学习训练资源管理

Country Status (3)

Country Link
US (1) US20210097429A1 (zh)
EP (1) EP3798931A1 (zh)
CN (1) CN112580816A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11802537B2 (en) * 2018-08-13 2023-10-31 International Business Machines Corporation Methods and systems for wave energy generation prediction and optimization
CN116991590B (zh) * 2023-09-25 2024-01-12 北京大学 面向深度学习应用的资源解耦合系统、执行方法和设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106605418A (zh) * 2014-04-16 2017-04-26 脸谱公司 使用基于位置的服务的移动客户端的电力管理
US20180314971A1 (en) * 2017-04-26 2018-11-01 Midea Group Co., Ltd. Training Machine Learning Models On A Large-Scale Distributed System Using A Job Server
US20180314975A1 (en) * 2017-04-27 2018-11-01 Futurewei Technologies, Inc. Ensemble transfer learning
CN109144724A (zh) * 2018-07-27 2019-01-04 众安信息技术服务有限公司 一种微服务资源调度系统及方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9846706B1 (en) * 2012-12-28 2017-12-19 EMC IP Holding Company LLC Managing mounting of file systems
US10097574B2 (en) * 2014-12-18 2018-10-09 International Business Machines Corporation Auto-tuning program analysis tools based on user feedback
US10936969B2 (en) * 2016-09-26 2021-03-02 Shabaz Basheer Patel Method and system for an end-to-end artificial intelligence workflow
US11003992B2 (en) * 2017-10-16 2021-05-11 Facebook, Inc. Distributed training and prediction using elastic resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106605418A (zh) * 2014-04-16 2017-04-26 脸谱公司 使用基于位置的服务的移动客户端的电力管理
US20180314971A1 (en) * 2017-04-26 2018-11-01 Midea Group Co., Ltd. Training Machine Learning Models On A Large-Scale Distributed System Using A Job Server
US20180314975A1 (en) * 2017-04-27 2018-11-01 Futurewei Technologies, Inc. Ensemble transfer learning
CN109144724A (zh) * 2018-07-27 2019-01-04 众安信息技术服务有限公司 一种微服务资源调度系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIM HAZELWOOD等: "Applied Machine Learning at Facebook:A Datacenter Infrastructure Perspective", 《2018 IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE COMPUTER ARCHITECTURE》, 29 March 2018 (2018-03-29), pages 620 - 629 *
WEI-FEN LIN等: "ONNC: A Compilation Framework Connecting ONNX to Proprietary Deep Learning Accelerators", 《2019 IEEE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE CIRCUITS AND SYSTEMS》, 25 July 2019 (2019-07-25), pages 215 - 218 *

Also Published As

Publication number Publication date
US20210097429A1 (en) 2021-04-01
EP3798931A1 (en) 2021-03-31

Similar Documents

Publication Publication Date Title
US10983895B2 (en) System and method for data application performance management
US10248671B2 (en) Dynamic migration script management
US11301307B2 (en) Predictive analysis for migration schedulers
EP3798930A2 (en) Machine learning training resource management
CN106874084B (zh) 一种分布式工作流调度的方法、装置及计算机设备
US9934071B2 (en) Job scheduler for distributed systems using pervasive state estimation with modeling of capabilities of compute nodes
US20130318022A1 (en) Predictive Analytics for Information Technology Systems
CA3090095C (en) Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment
KR102199275B1 (ko) 분산 컴퓨팅 시스템에서의 적응적 리소스 관리
CN112580816A (zh) 机器学习训练资源管理
Zhu et al. Kea: Tuning an exabyte-scale data infrastructure
Li et al. George: Learning to place long-lived containers in large clusters with operation constraints
US20210263718A1 (en) Generating predictive metrics for virtualized deployments
CN114528186A (zh) 一种模型管理方法、装置及模型管理服务器
Chard et al. An automated tool profiling service for the cloud
WO2022108672A1 (en) Tuning large data infrastructures
US20220058060A1 (en) Ranking computing resources
WO2023154051A1 (en) Determining root causes of anomalies in services
Funika et al. Automatic management of cloud applications with use of proximal policy optimization
Caton et al. Dynamic model evaluation to accelerate distributed machine learning
US20210049240A1 (en) Highly available policy agent for backup and restore operations
Janardhanan et al. Analysis and modeling of resource management overhead in Hadoop YARN Clusters
Mouline et al. Enabling temporal-aware contexts for adaptative distributed systems
Al Qassem Microservice architecture and efficiency model for cloud computing services
EP4290435A1 (en) Methods and systems for managing robotic process automation

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan platform Co.

Address before: California, USA

Applicant before: Facebook, Inc.