CN111373366A - 生成和部署机器学习模型软件包 - Google Patents

生成和部署机器学习模型软件包 Download PDF

Info

Publication number
CN111373366A
CN111373366A CN201880075286.6A CN201880075286A CN111373366A CN 111373366 A CN111373366 A CN 111373366A CN 201880075286 A CN201880075286 A CN 201880075286A CN 111373366 A CN111373366 A CN 111373366A
Authority
CN
China
Prior art keywords
machine learning
connected device
learning model
inference
software package
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
CN201880075286.6A
Other languages
English (en)
Inventor
C·Y-R·郭
陈嘉珍
孙敬伟
刘海洋
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 CN111373366A publication Critical patent/CN111373366A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

提供商网络实施机器学习部署服务,以生成和部署软件包以在连接的设备上实施机器学习。所述服务可以从客户端接收推理应用、要由推理应用使用的机器学习框架、要由推理应用使用的机器学习模型以及运行推理应用的边缘设备的指示。然后,服务可以基于推理应用、机器学习框架、机器学习模型和边缘设备的硬件平台来生成软件包。为了生成软件包,服务可以基于边缘设备的硬件平台和/或机器学习框架优化模型。然后,服务可以将软件包部署到边缘设备。然后,边缘设备安装推理应用,并基于由机器学习模型生成的推理数据执行动作。

Description

生成和部署机器学习模型软件包
背景技术
连接的计算设备在许多环境中用于各种应用。无论是在我们的家中还是嵌入在车辆和工厂中,这些设备都可使用各种传感器监视周围环境、做出预测并根据这些预测采取行动。在许多情况下(例如,监控摄像头、自动驾驶汽车、工业机械),设备在很短的时间内收集大量数据,并根据收集到的数据执行实时决策。因此,在许多情况下,机器学习推理是在设备上本地进行的,而不是将数据发送到另一台设备进行分析。例如,在设备上运行的机器学习模型可以处理收集的数据以生成推理(例如预测)。该设备然后可以基于推理执行动作。
在使用机器学习模型生成预测之前,必须对其进行训练。训练机器学习模型可能需要大量的计算资源。因此,机器学习模型通常由功能强大的计算系统训练。在训练了机器学习模型之后,可以将其移至连接的设备并启用,以便在连接的设备上执行机器学习推理。但是,可能需要许多步骤才能使机器学习模型在连接的设备上运行。因此,使机器学习模型能够在连接的设备上运行的过程可能非常复杂、耗时且容易出错。
附图说明
图1示出了根据一些实施例的生成和部署在连接的设备处进行机器学习的软件包的系统。
图2是示出根据一些实施例的所连接的设备的示例组件的框图。
图3是示出根据一些实施例的生成和部署在连接的设备处进行机器学习的软件包的流程图。
图4是根据一些实施例的流程图,其示出了基于所连接的设备的硬件平台生成软件包并在该所连接的设备处部署该软件包用于机器学习的流程图。
图5示出了根据一些实施例的用于生成和部署具有更新的模型的软件包的系统,该软件包用于在连接的设备处进行机器学习。
图6是根据一些实施例的流程图,其示出了生成和部署具有更新的模型的软件包,该软件包用于在连接的设备处进行机器学习。
图7是示出了根据一些实施例的实施本文所述的技术中的一些或全部的示例计算机系统的框图。
尽管本文通过举例的方式针对若干实施例和说明性附图描述了实施例,但是本领域技术人员将认识到,实施例不限于所描述的实施例或附图。应当理解的是,附图和对其的详细描述并不旨在将实施例限制于所公开的特定形式,而是相反,旨在覆盖落入由所附权利要求书限定的精神和范围内的所有修改、等同物和替换物。本文所用的标题仅用于组织目的,并不意味着用于限制说明书或权利要求书的范围。如在整个本申请中所使用的,词语“可以”以允许的意义使用(即,意指具有潜在的意义),而不是强制意义(即,意指必须)。类似地,词语“包含(include、including和includes)”意味着包含但不限于。
具体实施方式
本文描述的系统和方法实现生成和部署在连接的设备处用于机器学习的软件包。提供商网络的机器学习部署服务可以(例如,从客户端的用户)接收推理应用、要由推理应用使用的机器学习框架、要由推理应用使用的机器学习模型以及运行推理应用的连接的设备的指示。机器学习部署服务然后可以基于推理应用、机器学习框架和机器学习模型来生成软件包。机器学习部署服务然后可以将软件包部署到连接的设备。
在实施例中,“连接的设备”、“边缘设备”或“IoT(物联网)设备”可以指相同类型的设备。在各种实施例中,连接的设备、边缘设备或IoT设备可以指适于经由一个或多个网络与远程网络(例如,远程提供商网络)的一个或多个设备进行通信的任何类型的计算设备和/或同一局域网中的任何其他设备。在实施例中,“端点”可以是作为局域网或远程网络的一部分的一个或多个计算设备和/或一种或多种服务,使得可以经由一个或多个网络连接向端点传输信息或从端点传输信息。
在实施例中,“软件包”或“机器学习软件包”可以包括一个或多个组件,所述组件可以由连接的设备使用和/或可以配置连接的设备,使得连接的设备可以执行一个或多个机器学习模型并执行基于一个或多个模型生成的结果的一个或多个动作。例如,连接的设备下载机器学习软件包,该机器学习软件包包括一个或多个IoT设备可以安装并执行的组件,以基于机器学习模型执行面部识别,并根据由机器学习模型生成的面部识别结果执行一个或多个动作。在一些实施例中,可以使用任何合适的机器学习/人工智能技术(例如,神经网络、深度神经网络、强化学习、决策树学习、遗传算法、分类器等)实现机器学习。
枪声检测和警报系统是在多个连接的设备上实施机器学习的实例。连接的设备(例如,边缘节点)可以安装在整个城市的电话杆上。可以使用枪声音频样本在云中(例如,通过提供商网络)训练机器学习模型,以便识别发射的武器的类型并确定发射位置的三角关系。使用本文描述的技术,可以为每个边缘设备修改(例如,优化)机器学习模型以及对该模型的将来更新,并将其快速部署到边缘设备以实现枪声检测和警报系统。
通过生成和部署用于在连接的设备上进行机器学习的软件包,各种实施例都具有优于用于配置连接的设备以实施机器学习(例如,推理应用、机器学习框架和/或机器学习模型)的传统技术的优势。例如,可能需要多个步骤来安装和/或实施推理应用和/或机器学习模型(或更新的模型)在连接的设备上运行。因此,在安装和/或实施推理应用和/或机器学习模型的过程可以是易出错的,并且需要相当多的时间。安装的推理应用和/或机器学习模型可能未经过最佳配置以在连接的设备上运行。因此,运行推理应用和/或机器学习模型可能会消耗连接设备的大量或过多的计算资源(例如存储器、处理器、网络带宽),并且可能消耗大量的时间来生成推理数据。
在实施例中,机器学习部署服务可以生成机器学习软件包,并将该软件包部署到连接的设备以进行安装,以便允许该连接的设备以优化或更优化的方式运行推理应用和/或机器学习模型(例如,由于基于推理应用、要由推理应用使用的机器学习框架、要由推理应用使用的机器学习模型和/或连接的设备的硬件平台/组件的优化配置)。例如,连接的设备可以运行推理应用和/或机器学习模型,同时消耗较少量的该连接的设备的计算资源(例如,存储器和处理器)和/或减少生成推理数据所需的时间量。在实施方案中,生成和在连接的设备部署用于机器学习的软件包可防止由提供商网络的计算设备和/或客户端网络的连接的设备不必要使用网络带宽、计算资源、时间和/或存储空间。
图1示出了根据一些实施例的生成和部署在连接的设备处进行机器学习的软件包的系统。图1所示的连接设备100可包括相同类型的连接设备,并且在实施例中,包括与图1-6中描绘的其他连接设备相同的组件的一些或全部。尽管提供商网络102和/或机器学习和部署服务104的某些组件被描述为执行各种动作,但是描述为由提供商网络102和/或机器学习部署服务104执行的任何动作可以由提供者网络102、机器学习和部署服务104的任何硬件和/或软件组件或图1-6中网络的任何其他组件执行。
在所描绘的实施例中,机器学习部署服务104包括机器学习软件包生成器106,其可以至少基于推理应用108、机器学习框架110、机器学习模型112和/或连接的设备100的硬件平台来生成软件包。在实施例中,用户可以向推理应用108之一、推理应用要使用的机器学习框架110之一、推理应用要使用的机器学习模型112之一和/或一个或多个连接的设备100的机器学习部署服务104提供指示(例如,通过选择或通过提供标识符),运行推理应用。
用户可以使用经由管理应用编程接口(API)120与机器学习部署服务104进行通信的远程客户端网络116的管理设备114(例如,通过图形用户界面和/或命令行界面)提供上述指示。例如,用户可以通过从一个或多个可用推理应用、机器学习框架、机器学习模型、硬件平台和/或连接的设备的列表中选择特定的推理应用、机器学习框架、机器学习模型、硬件平台和/或连接的设备来提供指示。在一些实施例中,用户可以通过在数据字段中输入推理应用、机器学习框架、机器学习模型、硬件平台和/或连接的设备的标识符/名称来提供指示。
如以下更详细描述的,对于特定的连接设备,机器学习软件包生成器106可以基于所指示的推理应用108、机器学习框架110、机器学习模型112和/或连接的设备来生成软件包。在实施例中,所生成的软件包可以包括被分别发送到所连接的设备的多个部分。在这样的实施例中,所连接的设备将分多个部分接收软件包,然后如本文所讨论的那样安装推理应用。
在一些实施例中,提供给机器学习部署服务104的已连接设备的指示包括描述所连接设备的软件和/或硬件配置信息的配置信息(例如,已安装软件的版本和/或已安装执行环境、硬件平台、处理器架构、GPU、FPU等)。机器学习部署服务104可以基于配置信息生成指纹,作为用于所连接设备的配置的唯一标识符。机器学习部署服务104然后可以存储与所连接的设备相关联的指纹和配置信息。如下针对图5所述,机器学习部署服务104可以在稍后的时间点使用指纹来确定所连接的设备的配置是否已经改变。
如图所示,可以存在任何数量的客户端网络116,并且每个客户端网络116可以包括可以从机器学习部署服务104接收软件包的任何数量的连接的设备100,以便安装和实施推理应用以及相关组件,如本文所述。如图所示,提供商网络102可以经由广域网122(例如,因特网)向客户端网络116中的任一个的设备发送数据和从客户端网络116中的任一个的设备发送数据。
在实施例中,提供商网络包括存储服务124,其在存储服务124的各个位置处存储一个或多个推理应用108、一个或多个机器学习框架110以及一个或多个机器学习模型112。在一些实施例中,机器学习部署服务104或者在提供商网络的任何其他位置可以替代地或者也存储(至少临时地)以上的一个或多个组件。
如图所示,机器学习部署服务104包括部署器126。在机器学习软件包生成器106生成软件包之后,部署器126可以将软件包部署(例如,传输或发送)到一个或多个连接的设备100(例如,连接的设备100a)。在实施例中,可以使用一系列多次传输来部署软件包。例如,可以发送一个或多个组件,然后可以在一个或多个以后的时间点发送一个或多个其他组件。
在实施例中,部署代理然后可以解压软件包的组件以获取和/或识别推理应用108、机器学习框架110、机器学习模型112和/或一个或多个用于将连接的设备100配置为使用推理应用108和/或机器学习模型112的其他组件或数据。在一些实施例中,部署代理128和/或连接的设备100然后可以在连接的设备100上存储和/或安装推理应用、机器学习框架和机器学习模型。
在实施例中,连接的设备100可以开始执行推理应用,其继而执行机器学习框架。在实施例中,推理应用和/或机器学习框架然后可以执行机器学习模型。在一些实施例中,机器学习框架和机器学习模型可以被认为是推理应用的一部分。因此,在实施例中,被描述为由推理应用执行的动作可以由机器学习框架和/或机器学习模型来执行。
在连接的设备100上执行期间,推理应用可以从一个或多个数据源130收集数据(例如,图像数据),并将收集到的数据提供给机器学习模型(例如,模型112p)。如下面更详细描述的,模型112p可以是提供商网络102存储的模型112之一,或者可以是提供商网络102存储的模型112之一的修改版本。类似地,推理应用108p和/或框架110p可以是提供商网络102存储的推理应用108和/或框架110之一,或者可以是提供商网络102存储的推理应用108和/或框架110之一的修改版本。
机器学习模型112p可以处理所收集的数据以生成推理数据(例如,一个或多个推理和/或一个或多个预测)。在实施例中,推理应用108p可以基于由机器学习模型112p生成的推理数据来执行一个或多个动作(例如,基于图像数据指示入侵者的推理来激活警报)。
在实施例中,执行环境可以在每个相应的连接的设备100上执行推理应用108、框架110和/或模型112。执行环境可以是功能执行环境和/或任何其他类型的运行时执行环境。因此,执行环境可以包括可用于运行和/或执行一个或多个操作系统、过程、功能和/或应用的任何数量的软件和/或硬件组件。在实施例中,可以在将执行环境运送到客户端之前或之后安装在连接的设备上。在一些实施例中,执行环境可以从提供商网络102下载到连接的设备并且安装在连接的设备上。
图2是示出根据一些实施例的所连接的设备的示例组件的框图。在所描绘的实施例中,连接的设备100包括操作存储器200(例如,易失性存储器和/或非易失性存储器)、处理器202(例如,CPU)、图形处理单元204(GPU)、其他资源206和网络接口208。在实施例中,连接的设备100可以包括一个或多个附加存储器、处理器、GPU、FPU或其他处理器。可从机器学习部署服务进行部署的不同功能可需要所连接设备100的不同类型的处理器、GPU、FPU和/或其他硬件组件。
在实施例中,其他资源206可以包括存储推理应用、模型和/或框架的非易失性存储器。在一些实施例中,推理应用、模型和/或框架可以被加载到操作存储器200中(例如,在重启或电源故障之后)。
操作存储器包括适合于运行部署代理128、推理应用108、机器学习模型112和机器学习框架112的执行环境210。在实施例中,执行环境可以提供事件驱动的功能执行,包括推理应用108的一个或多个功能。例如,可以响应于执行环境检测到触发事件(例如,从一个或多个数据源接收和/或检测数据或接收消息或命令)来调用一个或多个功能。在实施例中,响应于从数据源接收数据,推理应用108的功能可以被调用并执行模型110以处理接收到的数据以生成推理数据。该功能(或推理应用的另一功能)可以基于推理数据执行一个或多个动作(例如,触发安全警报)。
在实施例中,一个或多个事件源可以是所连接的设备的一部分或单独的设备的一部分(例如,在同一网络或远程网络内)。例如,照相机可以是向连接的设备提供视觉数据的一种数据源,其触发执行(例如,启动)功能。在实施例中,推理应用108、机器学习模型112和机器学习框架112还与提供商网络的执行环境兼容(例如,可由提供商网络的执行环境执行)。因此,在一些实施例中,推理应用、模型和/或框架也可以在提供商网络上运行(例如,为了测试,或者如果推理应用108无法在连接的设备100上运行(例如由于错误或故障),作为处理来自一个或多个数据源130的数据的备份)。
在实施例中,网络接口208将连接的装置100通信耦合到局部网络。因此,连接的设备100经由网络接口208向一个或多个其他数据源设备、连接的设备、机器学习部署服务104或提供商网络102或客户端网络116的其他端点发送数据和/或从其接收数据。在实施例中,网络接口208可通过有线或无线接口传输和接收数据。
在各种实施例中,连接的设备100可以提供高级别的安全性(例如,加密的消息)以保护在连接的设备之间以及也在连接的设备与提供商网络102之间传送的数据。所连接的设备可以提供简单但强大的处理器和/或操作系统,以提供与平台无关的功能。在一些实施例中,提供商网络102的一个或多个服务器用于实施服务(例如机器学习部署服务104或机器学习部署服务的组件)的一个或多个存储器和/或一个或多个处理器的大小可以比连接的设备100使用的存储器和/或处理器的大小大至少一个量级。但是,为了调用和执行相同的功能(例如,事件驱动的功能),连接的设备100仍可以足够强大以运行与在提供商网络102的一个或多个服务器上运行的相同或相似的功能执行环境210。
在实施例中,执行环境210运行部署代理128。部署代理212可以是与部署器126通信并且将推理应用108、机器学习模型112和机器学习框架112下载到所连接的设备的程序或应用。
在一些实施例中,部署代理128可以从部署器126接收机器学习模型、机器学习模型的新版本或推理应用(包括模型和框架或包括一个或多个更新功能)的可用于部署的通知,关于模型或应用向部署器126发送请求以及从部署器126接收模型或应用。然后,部署代理212可以在连接的设备上安装和/或配置模型或应用。在一些实施例中,替代地,部署器126在可用时将模型或应用推送到所连接的设备,并且部署代理212然后可以在所连接的设备上安装和/或配置模型或应用。
图3是示出根据一些实施例的生成和部署在连接的设备处进行机器学习的软件包的流程图。在各种实施例中,图3、图4和图6所示过程的一个或多个部分可以经由提供商网络102和/或连接的设备100的一个或多个组件或服务中的任何一个来执行。
在框302,机器学习部署服务接收推理应用、要由推理应用使用的机器学习框架、要由推理应用使用的机器学习模型以及在其上安装推理应用的目标连接设备100的指示。在框304,机器学习部署服务(例如,从存储服务)检索推理应用、机器学习框架和机器学习模型。
在框306,机器学习部署服务基于推理应用、机器学习框架和机器学习模型生成软件包。在框308,机器学习部署服务将软件包部署到连接的设备。在一些实施例中,机器学习部署服务可以将软件包部署到多个连接的设备,其中每个设备如下所述安装和运行推理应用。
在框310处,所连接的设备在所连接的设备上安装推理应用、机器学习框架和机器学习模型。在框312,推理应用从一个或多个数据源收集数据。在框314,推理应用使用机器学习模型生成推理数据。在框316,推理应用基于由机器学习模型生成的推理数据执行一个或多个动作。
图4是根据一些实施例的流程图,其示出了基于所连接的设备的硬件平台生成软件包并在该所连接的设备处部署该软件包用于机器学习的流程图。
在框402,机器学习部署服务接收推理应用、要由推理应用使用的机器学习框架、要由推理应用使用的机器学习模型以及在其上安装推理应用的目标连接设备100的指示。在框404,机器学习部署服务确定所连接设备的硬件平台。在实施例中,为此,服务可以确定所连接的设备的一个或多个硬件组件或硬件架构。在实施例中,服务可以确定所连接设备的卖方和/或设备的特定版本。在一些实施例中,描述硬件平台的一些或全部信息可以被提供给服务(例如,由用户经由管理设备提供)。
在一些实施例中,从提供商网络存储(例如,在存储服务处)的一组不同的推理应用中选择特定的推理应用。在实施例中,不同的推理应用被配置为处理由不同的机器学习模型生成的数据。
在实施例中,每个不同的推理应用可以用作蓝图,其可以被或可以不被客户端修改(例如,通过修改代码)。例如,特定的推理应用可以供自动驾驶汽车使用。因此,应用可以编写为与机器学习模型一起使用,该模型基于来自安装在汽车上的摄像头的传感器数据生成推理数据。
在框406,机器学习部署服务(例如,从存储服务)检索推理应用和机器学习模型。在一些实施例中,可以由提供商网络存储推理应用和/或机器学习模型的多个不同版本(例如,蓝图),其中每个版本被配置为在不同的硬件平台(例如,不同类型的连接的设备)上运行。因此,在一些实施例中,从多个版本中选择和/或检索推理应用的特定版本和/或为所连接的设备的硬件平台配置的机器学习模型。
在一些实施例中,机器学习部署服务从用户接收标识符(例如,网络地址或模型名称),该标识符指示期望的机器学习模型在提供商网络上的存储位置。然后,机器学习部署服务可以从存储位置检索机器学习模型。
在实施例中,检索到的机器学习模型可能已经由提供商网络的模型训练服务来训练。在一些实施例中,检索到的机器学习模型可能已经由另一远程网络的模型训练服务来训练,并且随后被传输到提供商网络以进行存储。
在框408处,机器学习部署服务基于所连接设备的硬件平台选择和/或检索(例如,从存储服务中)被配置用于所连接设备的硬件平台的机器学习框架的版本。在实施例中,提供商网络可以存储机器学习框架的多个不同版本,其中基于特定于硬件平台的优化或与针对其他硬件平台进行的优化不同的优化(例如,基于来自不同供应商的不同类型的连接设备),每个版本被配置(例如“预配置”)以在不同的硬件平台上运行。因此,在一些实施例中,从多个版本中选择和/或检索机器学习框架的特定版本。
在一些实施例中,可以使用特定的框架和/或平台(例如,特定于供应商的)来训练模型,但是该模型将使用不同的框架和/或平台(例如,不同的供应商)在连接的设备上运行。因此,机器学习部署服务将选择不同的框架。在这种情况下,机器学习部署服务还可以基于特定于不同框架的优化来修改模型。
在框410,机器学习部署服务基于所连接的设备的硬件平台和/或机器学习框架对机器学习模型进行修改。在实施例中,修改可以优化用于在特定硬件平台上运行的模型。因此,在实施例中,机器学习部署服务对同一模型执行不同的修改以针对不同的硬件平台优化模型。在一些实施例中,训练后的模型可能没有针对任何特定的硬件平台或框架进行优化(例如,“通用”模型或非优化模型)。因此,机器学习部署服务可以修改模型以优化该模型以由连接的设备的硬件平台运行和/或由所选框架运行。
在实施例中,修改可以减小机器学习模型的大小。因此,该模型由于占用空间较小,因此将消耗较少的硬件资源(例如,存储器和处理器资源)。
在一些实施例中,修改可以将模型配置为以比未修改的模型更快的速率生成推理数据。在实施例中,可以通过配置要由硬件执行的模型中的至少一些实现更快的速率,相对于其他硬件平台,该硬件对于所连接的设备的特定硬件平台是唯一的。在实施例中,硬件可以在某些硬件平台(包括所连接的设备的平台)上可用,但是在其他硬件平台(例如,其他类型和/或其他供应商的平台)上不可用。
在一些实施例中,机器学习部署服务接收(例如,使用图形用户界面或命令行界面通过管理设备的用户选择)至少一个连接的设备的一个或多个硬件资源的指示,以供推理应用程序访问。例如,可以从多个不同的可用资源中选择一个或多个硬件资源。在一些实施例中,用户可以输入一个或多个资源的名称/标识符以供选择。机器学习部署服务可以将推理应用配置为使用一个或多个硬件资源。
硬件资源可以包括推理应用、机器学习框架和/或机器学习模型可以使用的所连接设备的任何本地硬件资源。例如,硬件资源可以包括处理器,该处理器被配置为通过机器学习模型(例如GPU)、存储器、相机、传感器或任何其他可以为机器学习提供要处理的数据源的设备来加速推理数据的生成。
在框412,机器学习部署服务基于推理应用、机器学习框架和机器学习模型来生成软件包。在框414,机器学习部署服务将软件包部署到连接的设备。在一些实施例中,机器学习部署服务可以将软件包部署到多个连接的设备,其中每个设备安装和运行推理应用。
图5示出了根据一些实施例的用于生成和部署具有更新的模型的软件包的系统,该软件包用于在连接的设备处进行机器学习。在所描绘的实施例中,提供商网络102还包括模型训练服务502,该模型训练服务在使得机器学习模型112可用于部署之前训练一个或多个机器学习模型112(例如,由存储服务124存储为可用于由机器学习部署服务检索的模型)。
在一些实施例中,一个或多个模型112可以由其他远程网络506的一个或多个其他模型训练服务504来训练,然后经由网络122发送到提供商网络。在实施例中,提供商网络可以使用一个或多个其他服务508来训练或生成模型112。例如,模型训练服务502可以使用计算服务的一个或多个计算实例来处理大量训练数据以生成模型112。
在所描绘的实施例中,模型训练服务502生成机器学习模型的更新版本,并将更新的模型510存储到存储服务124。如上所述,在一些实施例中,机器学习部署服务104本身可以存储更新的模型。
在实施例中,模型训练服务502可以响应于从客户端和/或从一个或多个其他训练数据源(例如,从一个或多个其他远程网络收集的数据)接收到额外的训练数据来生成更新的模型510。在一些实施例中,模型训练服务502可以实现新的训练算法以生成与用于生成模型的先前版本的先前算法不同的更新的模型510。
机器学习部署服务104可以检索更新的模型510(和在某些情况下检索推理应用和/或框架),至少基于更新的模型510(和在某些情况下基于推理应用和/或框架)生成软件包,以及根据先前的部署将软件包部署到具有模型510的先前版本的一个或多个连接的设备。如下所述,在一些实施例中,机器学习部署服务104可以提供更新模型510可用的通知,而不是自动将其推送到连接的设备。
在一些实施例中,响应于从机器学习部署服务104接收到更新的模型510可用于部署的通知,连接的设备可以将指纹发送到机器学习部署服务104,其中指纹基于连接设备的当前软件和/或硬件配置。在实施例中,指纹可以先前已经生成或者可以响应于从机器学习部署服务104接收到通知而生成。在实施例中,可以使用与机器学习部署服务104所使用的算法相同的算法来生成指纹。因此,对于相同的配置信息,可以由连接的设备和机器学习部署服务104生成相同的指纹。
在实施例中,响应于从所连接的设备接收指纹,机器学习部署服务104可以确定所接收的指纹是否与所存储的指纹匹配。如果是这样,则机器学习部署服务104可以确定所连接的设备的软件和/或硬件配置没有改变。因此,机器学习部署服务104确定所存储的配置信息与所存储的指纹相关联。机器学习部署服务104然后可以基于更新的模型、所存储的配置信息和/或所连接设备的硬件平台来生成软件包。
然而,如果接收到的指纹与存储的指纹不匹配,则机器学习部署服务104可以确定所连接的设备的软件和/或硬件配置已经改变。机器学习部署服务104然后可以向所连接的设备发送请求以提供描述所连接的设备的新软件和/或硬件配置信息的配置信息。机器学习部署服务104然后可以基于更新的模型、新的配置信息和/或所连接的设备的硬件平台来生成软件包,并将该软件包部署到所连接的设备。机器学习部署服务104还可以生成新指纹并存储新指纹和与连接的设备关联的配置信息。
在一些实施例中,所连接的设备可以代替机器学习部署服务104而执行指纹比较和相关的确定。例如,响应于接收到更新的模型的通知,所连接的设备可以基于所连接的设备的当前配置来生成新的指纹,并将其与先前生成的指纹进行比较(或者存储在所连接的设备上或者从机器学习部署服务104与通知一起接收)。
如果指纹匹配,则所连接的设备可以向机器学习部署服务104发送其配置没有改变的指示。如果指纹不匹配,则机器学习部署服务104可以将所连接的设备的新配置信息和/或新生成的指纹发送到机器学习部署服务104。机器学习部署服务104然后可以基于更新的模型、新的配置信息和/或所连接的设备的硬件平台来生成软件包,并将该软件包部署到所连接的设备。在一些实施例中,连接的设备和机器学习部署服务104都可以执行上述动作中的一些或全部(例如,各种比较、确定和信息的发送)。
如以上附图所描述的,生成软件包可以包括修改更新的模型510。例如,可以基于所连接的设备的硬件平台和/或机器学习框架来修改更新的模型。在一些实施例中,可以基于更新的模型510将被部署到的不同连接的设备来生成多个软件包。例如,一个软件包可以包括基于特定的硬件平台和/或框架的具有某些修改的更新的模型,而另一软件包可以包括基于不同的硬件平台和/或框架的具有不同的修改的更新的模型。然后可以将一个或多个软件包部署到一个或多个相应的连接的设备(例如,连接的设备510)。
图6是根据一些实施例的流程图,其示出了生成和部署具有更新的模型的软件包,该软件包用于在连接的设备处进行机器学习。在框602,机器学习部署服务接收已部署模型的更新版本可用于部署的指示。
在框604,机器学习部署服务至少检索更新的模型。在实施例中,机器学习部署服务还检索推理应用和/或机器学习框架。如上所述,机器学习部署服务可以基于一个或多个标准从多个版本中选择推理应用和/或机器学习框架。
在框606,机器学习部署服务至少基于更新的模型来生成一个或多个软件包。如上所述,在一些实施例中,可以基于更新模型将被部署到的不同类型的连接设备来生成多个软件包。在实施例中,机器学习部署服务可以基于所描述的任何因素修改如图3和图4所述的机器学习模型。
在框608,机器学习部署服务确定是否存在另一个连接的设备以将更新的模型部署到该设备。如果是这样,则在框610,机器学习部署服务确定是否为连接的设备启用了自动更新。如果是这样,则在框612,机器学习部署服务基于所连接的设备的硬件平台,从在框606生成的一个或多个软件包中选择用于所连接的设备的软件包。在框614,机器学习部署服务将软件包部署到连接的设备。过程然后返回到框608。
在框610,如果机器学习部署服务确定未为连接的设备启用自动更新,则在框616,机器学习部署服务提供通知:更新的模型可用于部署到目标设备。例如,机器学习部署服务可以向连接的设备、管理设备和/或一个或多个其他计算设备发送通知,以向客户端指示更新的模型可用。如上关于图5所述,在一些实施例中,机器学习部署服务可以从所连接的设备接收指纹,并且如果必要,则基于所连接的设备的更新的模型、新的配置信息和/或硬件平台来生成软件包,并部署该软件包到连接的设备。过程然后返回到框608。在框608,如果机器学习部署服务确定没有更多的连接的设备正在使用更新的模型的先前版本,则过程结束。
各种计算机系统中的任何一个都可以配置为实现与确定功能与IoT设备的兼容性以及将功能部署到IoT设备相关的过程。例如,图7是示出适合于实现本文描述的系统和方法中的至少一些的计算机系统的一个实施例的框图。在各种实施例中,连接的设备100、实现提供商网络102的服务的计算设备和/或任何其他描述的组件可各自包括一个或多个计算机系统700,例如图7所示的或以与针对计算机系统700所述的相同或类似方式工作的计算机系统700的一个或多个组件。
在示出的实施例中,计算机系统700包含通过输入/输出(I/O)接口730而耦合到系统存储器720的一个或多个处理器710。计算机系统700还包括耦合到I/O接口730的网络接口740。在一些实施例中,计算机系统700可以说明实施企业逻辑或可下载应用程序的服务器,而在其它实施例中,服务器可以与计算机系统700相比包含较多、较少或不同的元件。
在各个实施例中,计算机系统700可以是包含一个处理器710的单处理器系统,或包含若干处理器710(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器710可以是能够执行指令的任何合适的处理器。举例来说,在各种实施例中,处理器710可以是实施各种指令集架构(ISA)(如x86、PowerPC、SPARC,或MIPS ISA,或任何其它合适的ISA)中的任何指令集架构的处理器。在多处理器系统中,每个处理器710可以共同地,但不是必须地实施相同的ISA。
系统存储器720可以被配置成存储可由处理器710访问的指令和数据。在各个实施例中,系统存储器720可以使用任何合适的存储器技术来实施,如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪速存储器或任何其它类型的存储器。在所示实施例中,实施所需功能的程序指令和数据(例如上述用于可下载软件或服务提供商的那些方法和技术)被示为作为程序指令725存储在系统存储器720中。在一些实施例中,系统存储器720可以包含可以如本文所述而配置的数据735。
在一个实施例中,I/O接口730可以被配置成通过网络接口740或其它外围接口而协调处理器710、系统存储器720与系统中的任何外围装置之间的I/O流量。在一些实施例中,I/O接口730可执行任何必要的协议、定时或其它数据转换,以将来自一个组件(例如系统存储器720)的数据信号转换为适用于另一个组件(例如处理器710)使用的格式。在一些实施例中,例如,I/O接口730可包括对通过各种类型的外围总线(如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体)所附接的设备的支持。在一些实施例中,I/O接口730的功能可以被分成两个或更多个单独的组件,例如北桥和南桥。此外,在一些实施例中,I/O接口730(如用于系统存储器720的接口)的一些或所有功能可直接并入到处理器710中。
网络接口740可被配置为允许数据在计算机系统700与附接到网络的其它装置之间(例如,在连接的设备100与其它计算机系统之间)交换。明确地说,网络接口740可以被配置成允许计算机系统700和/或各种I/O装置750之间的通信。如本文所述,I/O装置750可以包含扫描装置、显示装置、输入装置和/或其它通信装置。网络接口740通常可以支持一个或多个无线网络协议(例如,Wi-Fi/IEEE 802.7或另一种无线网络标准)。然而,在各个实施例中,网络接口740可以支持通过任何合适的有线或无线通用数据网络(如其它类型的以太网)而进行的通信。另外,网络接口740可支持通过电信/电话网络(如模拟语音网络或数字光纤通信网络)、通过存储区域网络(如光纤通道SAN)或通过任何其它合适类型的网络和/或协议进行的通信。
在一些实施例中,系统存储器720可以是被配置成如上所述存储程序指令和数据的计算机可访问介质的一个实施例。然而,在其它实施例中,可以在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般而言,计算机可访问介质可以包括计算机可读存储介质或例如磁性介质或光学介质的存储介质,例如经由I/O接口730耦合到计算机系统700的光盘或DVD/CD-ROM。计算机可读存储介质也可以包含任何易失性或非易失性介质,如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,其可作为系统存储器720或另一类型的存储器而包含在计算机系统700的一些实施例中。此外,计算机可访问介质可以包含传输介质或信号(如电信号、电磁信号或数字信号),其通过通信介质(如网络和/或无线链路)而输送,如可以通过网络接口740而实施。
在一些实施例中,I/O装置750可以是相对简单或“精简”的客户端装置。例如,I/O装置750可以被配置成具有显示、数据输入和通信能力但除此之外几乎没有计算功能的哑终端。然而,在一些实施例中,I/O装置750可以是类似于计算机系统700而配置的计算机系统,包含一个或多个处理器710和各种其它装置(尽管在一些实施例中,实施I/O装置750的计算机系统700可以具有稍微不同的装置或不同类别的装置)。
在各个实施例中,根据,I/O装置750(例如,扫描仪或显示装置以及其它通信装置)可以包含但不限于以下各个实施例中的一个或多个:手持装置、由人佩戴或附着到人的装置以及集成到或安装在任何移动或固定设备上的装置。I/O装置750可以进一步包含但不限于以下中的一个或多个:个人计算机系统、台式计算机、机架式计算机、膝上型或笔记本计算机、工作站、网络计算机、“哑”终端(即,几乎没有集成处理能力或没有集成处理能力的计算机终端)、个人数字助理(PDA)、移动电话或其它手持装置、专有装置、打印机或适合于与计算机系统700通信的任何其它装置。通常,I/O装置750(例如,光标控制装置、键盘或显示器)可以是能够与计算系统700的元件通信的任何装置。
还可以根据以下条款来描述本公开的实施例:
条款1.一种系统,其包括:
提供者网络的一个或多个计算设备,其包括相应的处理器和存储器,用于实施机器学习部署服务以:
接收以下的指示:
推理应用,其中所述推理应用包括被配置为基于由机器学习模型生成的推理数据执行一个或多个动作的一个或多个功能;
所述推理应用将使用的机器学习框架,其中所述机器学习框架被配置为运行机器学习模型的至少一部分;
所述推理应用将使用的所述机器学习模型,其中所述机器学习模型被配置为基于收集到的数据生成推理数据;和
远程网络的至少一个连接的设备,其用于运行所述推理应用;
至少基于所述推理应用、所述机器学习框架和所述机器学习模型生成软件包;和
将所述软件包部署到所述至少一个连接的设备。
条款2.根据条款1所述的系统,其中为了生成所述软件包,所述一个或多个计算设备被配置为实现所述机器学习部署服务以:
确定所述至少一个连接的设备的硬件平台;和
基于所述至少一个连接的设备的所述硬件平台对所述机器学习模型进行修改,其中针对在所述硬件平台上运行对修改后的机器学习模型进行优化。
条款3.根据条款2所述的系统,其中为了进行对所述机器学习模型的修改,所述一个或多个计算设备还被配置为实现所述机器学习部署服务以:
基于所述机器学习框架对所述机器学习模型进行其他修改,其中针对所述硬件平台和所述机器学习框架对修改后的机器学习模型进行优化。
条款4.根据条款1所述的系统,其中所述一个或多个计算设备被配置为实现所述机器学习部署服务以:
接收所述机器学习模型的更新版本可用的指示;
至少检索更新的机器学习模型;
至少基于所述更新的机器学习模型生成另一个软件包;和
将所述另一个软件包部署到所述至少一个连接的设备。
条款5.根据条款1所述的系统,其中为了生成所述软件包,所述一个或多个计算设备被配置为实现所述机器学习部署服务以:
确定所述至少一个连接的设备的硬件平台;和
基于所述至少一个连接的设备的所述硬件平台,从针对不同的相应硬件平台预先配置的多个版本的所述机器学习框架中选择一个版本,其中所述机器学习框架的所选择的版本针对所述至少一台连接的设备的所述硬件平台预先配置。
条款6.一种方法,其包括:
由提供商网络的一个或多个计算设备执行:
接收以下的指示:
推理应用,其中所述推理应用包括被配置为基于由机器学习模型生成的推理数据执行一个或多个动作的一个或多个功能;
机器学习框架,其被配置为运行机器学习模型的至少一部分;
所述机器学习模型被配置为生成所述推理数据;和
至少一个连接的设备;和
至少基于所述推理应用、所述机器学习模型和所述机器学习框架来生成软件包;和
将所述软件包部署到所述至少一个连接的设备。
条款7.根据条款6所述的方法,其中生成所述软件包包括:
确定所述至少一个连接的设备的硬件平台;和
基于所述至少一个连接的设备的所述硬件平台对所述机器学习模型进行修改,其中针对在所述硬件平台上运行对修改后的机器学习模型进行优化。
条款8.根据条款7所述的方法,其中对所述机器学习模型进行修改包括减小所述机器学习模型的大小。
条款9.根据条款6所述的方法,其进一步包括:
至少基于所述机器学习模型的更新版本生成另一个软件包;和
将所述另一个软件包部署到所述至少一个连接的设备。
条款10.根据条款9所述的方法,其中生成所述软件包还包括:
基于所述至少一个连接的设备的所述硬件平台对更新的机器学习模型进行修改,其中所述修改减小了所述更新的机器学习模型的大小。
条款11.根据条款6所述的方法,其进一步包括:
接收所述推理应用可访问的所述至少一个连接的设备的一个或多个硬件资源的指示;和
配置所述推理应用以使用所述一个或多个硬件资源。
条款12.根据条款11所述的方法,其中所述一个或多个硬件资源包括处理器,所述处理器被配置为通过所述机器学习模型加速所述推理数据的生成。
条款13.根据条款6所述的方法,其进一步包括:
从所述提供商网络的存储位置检索所述推理应用、所述机器学习模型或所述机器学习框架中的一个或多个。
条款14.根据条款6所述的方法,其中所述接收所述推理应用的指示包括:
从所述提供商网络存储的多个推理应用中接收所述推理应用的选择,其中不同的推理应用被配置为处理由不同的机器学习模型生成的数据。
条款15.一种存储程序指令的非暂时性计算机可读存储介质,当由一个或多个计算设备针对提供商网络的机器学习部署服务执行时,使得所述一个或多个计算设备实施:
接收以下的指示:
推理应用,其中所述推理应用包括被配置为基于由机器学习模型生成的推理数据执行一个或多个动作的一个或多个功能;
机器学习框架,其被配置为运行机器学习模型的至少一部分;
所述机器学习模型被配置为生成所述推理数据;和
至少一个连接的设备;和
至少基于所述推理应用、所述机器学习框架和所述机器学习模型生成软件包;和
将所述软件包部署到所述至少一个连接的设备。
条款16.根据条款15所述的计算机可读存储介质,其中所述程序指令使所述一个或多个计算设备实施:
确定所述至少一个连接的设备的硬件平台;和
基于所述至少一个连接的设备的所述硬件平台对所述机器学习模型进行修改,其中针对在所述硬件平台上运行对修改后的机器学习模型进行优化。
条款17.根据条款15所述的计算机可读存储介质,其中所述程序指令使所述一个或多个计算设备实施:
至少基于所述机器学习模型的更新版本生成另一个软件包;
基于所述至少一个连接的设备的硬件平台,对更新后的机器学习模型进行修改;和
将所述另一个软件包部署到所述至少一个连接的设备。
条款18.根据条款15所述的计算机可读存储介质,其中所述程序指令使所述一个或多个计算设备实施:
接收所述推理应用可访问的所述至少一个连接的设备的一个或多个硬件资源的指示;和
配置所述推理应用以使用所述一个或多个硬件资源。
条款19.根据条款15所述的计算机可读存储介质,其中为了生成所述软件包,所述程序指令使所述一个或多个计算设备实施:
基于所述至少一个连接的设备的所述硬件平台,从针对不同的相应硬件平台预先配置的多个版本的所述机器学习框架中选择一个版本,其中所述机器学习框架的所选择的版本针对所述至少一台连接的设备的所述硬件平台预先配置。
条款20.根据条款15所述的计算机可读存储介质,其中所述程序指令使所述一个或多个计算设备实施:
向所述至少一个连接的设备发送通知:所述机器学习模型的更新版本可用;
从所述连接的设备接收指纹;
确定接收到的指纹是否与所述提供商网络处存储的指纹匹配,其中所述存储的指纹与描述所述连接的设备的先前配置的存储的配置信息相关联;和
响应于确定接收到的指纹与所述存储的指纹不匹配,向所述连接的设备发送请求以提供描述所述连接的设备的当前软件和/或硬件配置信息的配置信息。
如在附图中所示和本文中所描述的各种方法表示方法的说明性实施例。所述方法可手动地在软件中、在硬件中或其组合中实施。任何方法的顺序可以改变,并且各个元素可以被添加、重新排序、组合、省略、修改等。举例来说,在一个实施例中,所述方法可由计算机系统实施,所述计算机系统包括执行存储在耦合到处理器的计算机可读存储介质上的程序指令的处理器。程序指令可被配置成实施本文所述的功能(例如,连接的设备、提供商网络的各种服务或组件、数据库、装置和/或其它通信装置等的功能)。
对于受益于本公开内容的本领域技术人员显而易见的是,可以进行各种修改和改变。本发明旨在涵盖所有这些修改和变化,并且因此,以上描述应被视为说明性的而非限制性的。
各种实施例可进一步包括接收、发送或存储根据以上描述在计算机可访问介质上实施的指令和/或数据。一般来说,计算机可访问介质可以包含存储介质或存储器介质(如磁性介质或光学介质,例如,磁盘或DVD/CD-ROM)、易失性或非易失性介质(如RAM(例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等)以及传输介质或信号(如通过通信介质(如网络和/或无线链路)而输送的电信号、电磁信号或数字信号)。

Claims (15)

1.一种系统,其包括:
提供者网络的一个或多个计算设备,其包括相应的处理器和存储器,用于实施机器学习部署服务以:
接收以下的指示:
推理应用,其中所述推理应用包括被配置为基于由机器学习模型生成的推理数据执行一个或多个动作的一个或多个功能;
机器学习框架,其被配置为运行机器学习模型的至少一部分;
所述机器学习模型被配置为生成所述推理数据;和
至少一台连接的设备;
至少基于所述推理应用、所述机器学习框架和所述机器学习模型生成软件包;和
将所述软件包部署到所述至少一个连接的设备。
2.根据权利要求1所述的系统,其中为了生成所述软件包,所述一个或多个计算设备被配置为实现所述机器学习部署服务以:
确定所述至少一个连接的设备的硬件平台;和
基于所述至少一个连接的设备的所述硬件平台对所述机器学习模型进行修改,其中针对在所述硬件平台上运行对修改后的机器学习模型进行优化。
3.根据权利要求2所述的系统,其中为了进行对所述机器学习模型的修改,所述一个或多个计算设备还被配置为实现所述机器学习部署服务以:
基于所述机器学习框架对所述机器学习模型进行其他修改,其中针对所述硬件平台和所述机器学习框架对修改后的机器学习模型进行优化。
4.根据权利要求1所述的系统,其中所述一个或多个计算设备被配置为实现所述机器学习部署服务以:
接收所述机器学习模型的更新版本可用的指示;
至少检索更新的机器学习模型;
至少基于所述更新的机器学习模型生成另一个软件包;和
将所述另一个软件包部署到所述至少一个连接的设备。
5.根据权利要求1所述的系统,其中为了生成所述软件包,所述一个或多个计算设备被配置为实现所述机器学习部署服务以:
确定所述至少一个连接的设备的硬件平台;和
基于所述至少一个连接的设备的所述硬件平台,从针对不同的相应硬件平台预先配置的多个版本的所述机器学习框架中选择一个版本,其中所述机器学习框架的所选择的版本针对所述至少一台连接的设备的所述硬件平台预先配置。
6.一种方法,其包括:
由提供商网络的一个或多个计算设备执行:
接收以下的指示:
推理应用,其中所述推理应用包括被配置为基于由机器学习模型生成的推理数据执行一个或多个动作的一个或多个功能;
机器学习框架,其被配置为运行机器学习模型的至少一部分;
所述机器学习模型被配置为生成所述推理数据;和
至少一个连接的设备;和
至少基于所述推理应用、所述机器学习模型和所述机器学习框架来生成软件包;和
将所述软件包部署到所述至少一个连接的设备。
7.根据权利要求6所述的方法,其中生成所述软件包包括:
确定所述至少一个连接的设备的硬件平台;和
基于所述至少一个连接的设备的所述硬件平台对所述机器学习模型进行修改,其中针对在所述硬件平台上运行对修改后的机器学习模型进行优化。
8.根据权利要求7所述的方法,其中对所述机器学习模型进行修改包括减小所述机器学习模型的大小。
9.根据权利要求6所述的方法,其进一步包含:
至少基于所述机器学习模型的更新版本生成另一个软件包;和
将所述另一个软件包部署到所述至少一个连接的设备。
10.根据权利要求9所述的方法,其中生成所述软件包还包括:
基于所述至少一个连接的设备的所述硬件平台对更新的机器学习模型进行修改,其中所述修改减小了所述更新的机器学习模型的大小。
11.根据权利要求6所述的方法,其进一步包含:
接收所述推理应用可访问的所述至少一个连接的设备的一个或多个硬件资源的指示;和
配置所述推理应用以使用所述一个或多个硬件资源。
12.根据权利要求6所述的方法,其进一步包含:
向所述至少一个连接的设备发送通知:所述机器学习模型的更新版本可用;
从所述连接的设备接收指纹;
确定接收到的指纹是否与所述提供商网络处存储的指纹匹配,其中所述存储的指纹与描述所述连接的设备的先前配置的存储的配置信息相关联;和
响应于确定接收到的指纹与所述存储的指纹不匹配,向所述连接的设备发送请求以提供描述所述连接的设备的当前软件和/或硬件配置信息的配置信息。
13.根据权利要求6所述的方法,其进一步包含:
从所述提供商网络的存储位置检索所述推理应用、所述机器学习模型或所述机器学习框架中的一个或多个。
14.根据权利要求6所述的方法,其中所述接收所述推理应用的指示包括:
从所述提供商网络存储的多个推理应用中接收所述推理应用的选择,其中不同的推理应用被配置为处理由不同的机器学习模型生成的数据。
15.一种存储程序指令的非暂时性计算机可读存储介质,当由一个或多个计算设备针对提供商网络的机器学习部署服务执行时,使得所述一个或多个计算设备实施:
接收以下的指示:
推理应用,其中所述推理应用包括被配置为基于由机器学习模型生成的推理数据执行一个或多个动作的一个或多个功能;
机器学习框架,其被配置为运行机器学习模型的至少一部分;
所述机器学习模型被配置为生成所述推理数据;和
至少一个连接的设备;和
至少基于所述推理应用、所述机器学习框架和所述机器学习模型生成软件包;和
将所述软件包部署到所述至少一个连接的设备。
CN201880075286.6A 2017-11-21 2018-11-20 生成和部署机器学习模型软件包 Pending CN111373366A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762589512P 2017-11-21 2017-11-21
US62/589,512 2017-11-21
US15/884,279 US20190156246A1 (en) 2017-11-21 2018-01-30 Generating and deploying packages for machine learning at edge devices
US15/884,279 2018-01-30
PCT/US2018/061937 WO2019103999A1 (en) 2017-11-21 2018-11-20 Generating and deploying machine learning models packages

Publications (1)

Publication Number Publication Date
CN111373366A true CN111373366A (zh) 2020-07-03

Family

ID=66533173

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880075286.6A Pending CN111373366A (zh) 2017-11-21 2018-11-20 生成和部署机器学习模型软件包

Country Status (6)

Country Link
US (1) US20190156246A1 (zh)
EP (1) EP3714362A1 (zh)
JP (1) JP6941743B2 (zh)
KR (1) KR102414096B1 (zh)
CN (1) CN111373366A (zh)
WO (1) WO2019103999A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791908A (zh) * 2021-09-16 2021-12-14 脸萌有限公司 服务运行方法、装置和电子设备
WO2022012305A1 (zh) * 2020-07-13 2022-01-20 华为技术有限公司 推理应用中模型文件的管理方法及装置
WO2022120585A1 (en) * 2020-12-08 2022-06-16 Amazon Technologies, Inc. Using graph queries to obtain results from machine learning models
WO2022222537A1 (zh) * 2021-04-24 2022-10-27 华为云计算技术有限公司 Ai应用部署方法及相关平台、集群、介质、程序产品

Families Citing this family (41)

* 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
EP3844620A1 (en) * 2018-08-29 2021-07-07 Qualcomm Incorporated Method, apparatus, and system for an architecture for machine learning acceleration
US11824732B2 (en) * 2018-12-28 2023-11-21 Intel Corporation Techniques for artificial intelligence capabilities at a network switch
KR20200093093A (ko) * 2019-01-08 2020-08-05 삼성전자주식회사 분산 추론 시스템 및 이의 동작 방법
US11010929B2 (en) 2019-07-30 2021-05-18 Hewlett Packard Enterprise Development Lp Image compression with bounded deep neural network perception loss
CN112308233B (zh) * 2019-08-02 2024-07-19 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和计算机程序产品
US11170322B2 (en) * 2019-08-13 2021-11-09 Salesforce.Com, Inc. Using a client-side machine learning model dynamically in a mobile enterprise application on a mobile device
US11080352B2 (en) 2019-09-20 2021-08-03 International Business Machines Corporation Systems and methods for maintaining data privacy in a shared detection model system
US12052260B2 (en) 2019-09-30 2024-07-30 International Business Machines Corporation Scalable and dynamic transfer learning mechanism
US11727314B2 (en) * 2019-09-30 2023-08-15 Amazon Technologies, Inc. Automated machine learning pipeline exploration and deployment
US20210117859A1 (en) * 2019-10-20 2021-04-22 Nvidia Corporation Live updating of machine learning models
WO2021118173A1 (en) 2019-12-09 2021-06-17 Samsung Electronics Co., Ltd. Electronic device and controlling method of electronic device
US11178010B2 (en) 2020-02-25 2021-11-16 International Business Machines Corporation Personalized machine learning model management and deployment on edge devices
US20210282033A1 (en) * 2020-03-09 2021-09-09 Psj International Ltd. Positioning system for integrating machine learning positioning models and positioning method for the same
CN113570063B (zh) * 2020-04-28 2024-04-30 大唐移动通信设备有限公司 机器学习模型参数传递方法及装置
US11288097B2 (en) 2020-06-12 2022-03-29 Disney Enterprises, Inc. Automated hardware resource optimization
CN113934432A (zh) * 2020-06-29 2022-01-14 伊姆西Ip控股有限责任公司 用于部署机器学习模型的方法、设备和存储介质
KR20220001630A (ko) * 2020-06-30 2022-01-06 삼성에스디에스 주식회사 엣지 컴퓨팅 장치를 위한 애플리케이션 배포 방법 및 시스템
CN113965241B (zh) * 2020-07-01 2024-06-14 深圳块织类脑智能科技有限公司 一种给无人机巡采巡查赋予人工智能的方法及相关装置
US11361253B2 (en) 2020-08-18 2022-06-14 Grid.ai, Inc. Modularized model interaction system and method
US11824900B2 (en) * 2020-10-23 2023-11-21 Bank Of America Corporation Artificial intelligence security configuration engine
KR102535007B1 (ko) * 2020-11-13 2023-05-19 숭실대학교 산학협력단 Snn 모델 파라미터를 기반으로 모델 수행을 위한 뉴로모픽 아키텍처 동적 선택 방법, 이를 수행하기 위한 기록 매체 및 장치
US11216752B1 (en) 2020-12-01 2022-01-04 OctoML, Inc. Optimizing machine learning models
US12099910B2 (en) * 2021-02-26 2024-09-24 Hitachi, Ltd. System to invoke update of machine learning models on edge computers
US11681505B2 (en) * 2021-06-29 2023-06-20 Opentrons LabWorks Inc. Systems and methods for facilitating generation and deployment of machine learning software applications
WO2023272718A1 (en) * 2021-07-02 2023-01-05 Qualcomm Incorporated Capability indication for a multi-block machine learning model
WO2023008763A1 (en) * 2021-07-30 2023-02-02 Samsung Electronics Co., Ltd. Method and electronic device for managing machine learning services in wireless communication network
KR102485528B1 (ko) * 2021-11-02 2023-01-06 주식회사 에이젠글로벌 금융 서비스를 위한 금융 모델 및 금융 데이터 가치 평가 방법 및 이러한 방법을 수행하는 장치
US11782695B2 (en) * 2021-11-29 2023-10-10 Microsoft Technology Licensing, Llc Dynamic ring structure for deployment policies for improved reliability of cloud service
KR102561449B1 (ko) * 2022-06-16 2023-07-31 스페이스워크 주식회사 건축 설계를 위한 강화학습을 지원하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2024040617A1 (en) * 2022-08-26 2024-02-29 Qualcomm Incorporated Ml model generalization and specification
WO2024117302A1 (ko) * 2022-11-30 2024-06-06 한국전자기술연구원 Aiot 플랫폼을 활용한 ml 모델 배포관리 방법
US11907093B1 (en) 2023-09-05 2024-02-20 Armada Systems Inc. Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads
US12014219B1 (en) 2023-09-05 2024-06-18 Armada Systems Inc. Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads
US12014634B1 (en) 2023-09-05 2024-06-18 Armada Systems Inc. Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads
US12033006B1 (en) 2023-09-05 2024-07-09 Armada Systems Inc. Edge deployment of cloud-originated machine learning and artificial intelligence workloads
US11876858B1 (en) 2023-09-05 2024-01-16 Armada Systems Inc. Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads
US11960515B1 (en) 2023-10-06 2024-04-16 Armada Systems, Inc. Edge computing units for operating conversational tools at local sites
US12067041B1 (en) 2023-10-06 2024-08-20 Armada Systems, Inc. Time series data to statistical natural language interaction
US11995412B1 (en) 2023-10-06 2024-05-28 Armada Systems, Inc. Video based question and answer
US12086557B1 (en) 2023-10-06 2024-09-10 Armada Systems, Inc. Natural language statistical model with alerts

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150347907A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Methods and system for managing predictive models
US20160358098A1 (en) * 2015-06-04 2016-12-08 International Business Machines Corporation Versioning of Trained Models Used To Deliver Cognitive Services
CN106803218A (zh) * 2017-03-17 2017-06-06 西安优盛信息技术有限公司 一种基于虚拟化和云计算的大数据教学系统
US9781743B2 (en) * 2008-02-29 2017-10-03 Koninklijke Kpn N.V. Telecommunications network and method for time-based network access
CN107343000A (zh) * 2017-07-04 2017-11-10 北京百度网讯科技有限公司 用于处理任务的方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003001413A1 (en) * 2001-06-22 2003-01-03 Nosa Omoigui System and method for knowledge retrieval, management, delivery and presentation
US20040153445A1 (en) * 2003-02-04 2004-08-05 Horvitz Eric J. Systems and methods for constructing and using models of memorability in computing and communications applications
US9201558B1 (en) * 2011-11-03 2015-12-01 Pervasive Software Inc. Data transformation system, graphical mapping tool, and method for creating a schema map
KR20140131291A (ko) * 2013-05-03 2014-11-12 삼성전자주식회사 학습 플랫폼 메커니즘을 구비한 컴퓨팅 시스템 및 그 작동 방법
US8903933B1 (en) * 2014-07-21 2014-12-02 ConnectWise Inc. Systems and methods for prioritizing and servicing support tickets using a chat session
US9183507B1 (en) * 2014-11-17 2015-11-10 Microsoft Technology Licensing, Llc Context based inference of save location
US20160232457A1 (en) * 2015-02-11 2016-08-11 Skytree, Inc. User Interface for Unified Data Science Platform Including Management of Models, Experiments, Data Sets, Projects, Actions and Features
US20170185921A1 (en) * 2015-12-28 2017-06-29 Cloudbrain Inc. System and method for deploying customized machine learning services
US9781243B1 (en) * 2016-06-27 2017-10-03 Intel Corporation Optimizing wearable device settings using machine learning
US10860950B2 (en) * 2016-08-31 2020-12-08 Sas Institute Inc. Automated computer-based model development, deployment, and management
US11403540B2 (en) * 2017-08-11 2022-08-02 Google Llc On-device machine learning platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781743B2 (en) * 2008-02-29 2017-10-03 Koninklijke Kpn N.V. Telecommunications network and method for time-based network access
US20150347907A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Methods and system for managing predictive models
US20160358098A1 (en) * 2015-06-04 2016-12-08 International Business Machines Corporation Versioning of Trained Models Used To Deliver Cognitive Services
CN106803218A (zh) * 2017-03-17 2017-06-06 西安优盛信息技术有限公司 一种基于虚拟化和云计算的大数据教学系统
CN107343000A (zh) * 2017-07-04 2017-11-10 北京百度网讯科技有限公司 用于处理任务的方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022012305A1 (zh) * 2020-07-13 2022-01-20 华为技术有限公司 推理应用中模型文件的管理方法及装置
CN114090516A (zh) * 2020-07-13 2022-02-25 华为技术有限公司 推理应用中模型文件的管理方法及装置
WO2022120585A1 (en) * 2020-12-08 2022-06-16 Amazon Technologies, Inc. Using graph queries to obtain results from machine learning models
US12072936B2 (en) 2020-12-08 2024-08-27 Amazon Technologies, Inc. Using graph queries to obtain results from machine learning models
WO2022222537A1 (zh) * 2021-04-24 2022-10-27 华为云计算技术有限公司 Ai应用部署方法及相关平台、集群、介质、程序产品
CN113791908A (zh) * 2021-09-16 2021-12-14 脸萌有限公司 服务运行方法、装置和电子设备
CN113791908B (zh) * 2021-09-16 2024-03-29 脸萌有限公司 服务运行方法、装置和电子设备

Also Published As

Publication number Publication date
WO2019103999A1 (en) 2019-05-31
JP6941743B2 (ja) 2021-09-29
KR102414096B1 (ko) 2022-06-29
EP3714362A1 (en) 2020-09-30
US20190156246A1 (en) 2019-05-23
JP2021503681A (ja) 2021-02-12
KR20200080296A (ko) 2020-07-06

Similar Documents

Publication Publication Date Title
CN111373366A (zh) 生成和部署机器学习模型软件包
CN118193137A (zh) 实施不同类型的区块链合约的系统和方法
US12045264B2 (en) Local data classification based on a remote service interface
CN110647332A (zh) 基于容器云的软件部署方法和装置
CN112083971B (zh) 组件处理方法、设备及存储介质
US10554726B1 (en) Remote device drivers for internet-connectable devices
CN111679888A (zh) 一种代理容器的部署方法及装置
CN114358302A (zh) 一种人工智能ai训练的方法、系统及设备
US11443058B2 (en) Processing requests at a remote service to implement local data classification
US20210405990A1 (en) Method, device, and storage medium for deploying machine learning model
US11671325B1 (en) Determining IoT device compatibility with deployments
CN111447092B (zh) 版本监测方法、设备和存储介质
CN112083945A (zh) Npm安装包的更新提示方法、装置、电子设备及存储介质
US10757177B1 (en) Data locality-aware MapReduce using IoT devices
CN116069366A (zh) 客户端应用程序更新方法及装置、存储介质及电子设备
CN113805858B (zh) 持续部署脚本语言开发的软件的方法和装置
US11677634B1 (en) Selecting and deploying models based on sensor availability
CN114428691A (zh) 应用调用方法、装置、电子设备和计算机可读存储介质
CN114611698A (zh) 模型的部署方法、装置、电子设备及存储介质
US20210042105A1 (en) System and method for implementing complex patching micro service automation
CN110825406A (zh) 一种软件升级的方法及相关设备
US20240086222A1 (en) Method to manage a hyper-converged infrastructure with a desired state model
CN116860353B (zh) 数据处理方法、装置、电子设备以及存储介质
US20230110520A1 (en) Ui service package generation and registration method and apparatus, and ui service loading method and apparatus
EP4371004A1 (en) Method and apparatus for automatically configuring and deploying containerized application

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