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

用于自动更新自主工厂的人工智能模型的方法和装置与流程

2022-11-06 18:31:14 来源:中国专利 TAG:

用于自动更新自主工厂的人工智能模型的方法和装置
相关申请
1.本专利要求2021年4月30日提交的美国临时专利申请第 63/182,585号的权益,该临时申请在此通过引用整体结合于此。此处要求对美国专利申请第63/182,585号的优先权。
技术领域
2.本公开总体上涉及机器学习,并且更具体地涉及用于自动更新自主工厂的人工智能模型的方法和装置。


背景技术:

3.数据收集和数据分析技术继续快速发展。例如,通过使用装配线制造产品的工厂可能在整个制造过程中收集数据。在一些示例中,第一部件在第一装配(例如,生产)线上生产,而与第一部件相同的第二部件可以在与第一装配线相同的第二装配线上生产。近年来,机器学习算法已被用于对此类数据进行建模。
附图说明
4.图1示出了用于边缘计算的边缘云配置的概览。
5.图2示出了端点、边缘云和云计算环境之间的操作层。
6.图3示出了用于边缘计算系统中的联网和服务的示例方法。
7.图4是模型更新控制器电路系统操作以自动更新自主工厂的人工智能模型的示例环境的框图。
8.图5是图4的模型更新控制器电路系统的示例实现方式的框图。
9.图6是表示可由示例处理器电路系统执行以实现图5的模型更新控制器电路系统的示例机器可读指令的流程图。
10.图7是表示可由示例处理器电路系统执行以实现图5的模型更新控制器电路系统的示例机器可读指令的流程图。
11.图8是由图4的模型更新控制器电路系统操作的环境执行的过程的流程图。
12.图9是由图5的模型更新控制器电路系统的部署电路系统生成的数据表的图示。
13.图10a提供用于边缘计算系统中的计算节点处所部署的计算的示例组件的概览。
14.图10b提供边缘计算系统中的计算设备内的示例组件的进一步的概览。
15.图11是包括被构造用于执行图6和图7的示例机器可读指令以实现图5的模型更新控制器电路系统的处理器电路系统的示例处理平台的框图。
16.图12是图11的处理器电路系统的示例实现方式的框图。
17.图13是图11的处理器电路系统的另一个示例实现方式的框图。
18.图14是示例软件分发平台(例如,一个或多个服务器)的框图,该示例软件分发平台用于将软件(例如,与图6-图7的示例机器可读指令相对应的软件)分发给与终端用户和/
或消费者(例如,用于许可、销售和/或使用)、零售商(例如,用于销售、转售、许可和/或分许可)、和/或原始装备制造商 (oem)(例如,包括在要分发给例如零售商和/或诸如直接购买客户之类的其他终端用户的产品中)相关联的客户端设备。
19.这些图并未按比例绘制。替代地,层或区域的厚度可在附图中被放大。如本文所用,除非另有指示,否则连接参考(例如,附接、耦合、连接和接合)可包括连接参考所参考的元件之间的中间构件和/或这些元件之间的相对运动。由此,连接参考不必推断两个元件直接地连接和/或彼此处于固定的关系。如本文中所使用,记载任何部件与另一部件“接触”被定义成意指在这两个部件之间没有中间部件。
20.除非另有特别说明,否则诸如“第一”、“第二”、第三”等的描述符在本文中使用而不以任何方式强加或以其他方式指示优先级、物理顺序、列表中的排列和/或排序的任何含义,但仅用作标签和/或任意名称来区分元素以便于理解所公开的示例。在一些示例中,描述符“第一”可以用于指代具体实施方式中的要素,而在权利要求中可以使用诸如“第二”或“第三”之类的不同描述符来指代同一要素。在此类情况下,应当理解,此类描述符仅用于清楚地标识那些可能例如以其他方式共享相同名称的要素。如本文中所使用,“近似”和“大约”是指由于制造公差和/或其他现实世界缺陷而可能并不精确的尺寸。如本文中所使用,“基本上实时的”是指,认识到针对计算时间、传输等可能存在现实世界延迟,以接近瞬时的方式发生。由此,除非另外指定,否则“基本上实时的”是指实时 /-1秒。如本文所使用,短语“进行通信”(包括其变体)包含直接通信和/或通过一个或多个中间组件的间接通信,并且不需要直接的物理(例如,有线)通信和/或持续通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔、和/或一次性事件来进行的选择性通信。如本文所用,“处理器电路系统”定义为包括(i)一个或多个特殊用途电路,其构造成用于执行(多个)特定操作并包括一个或多个基于半导体的逻辑器件(例如,由一个或多个晶体管实现的电硬件),和/或(ii)一个或多个基于半导体的通用电路,用指令编程以执行特定操作并且包括一个或多个基于半导体的逻辑器件(例如,由一个或多个晶体管实现的电硬件)。处理器电路系统的示例包括可编程微处理器、可实例化指令的现场可编程门阵列(fpga)、中央处理器单元(cpu)、图形处理器单元(gpu)、数字信号处理器(dsp)、xpu或微控制器以及诸如专用集成电路(asic)之类的集成电路。例如,xpu可以由异构计算系统实现,该异构计算系统包括多种类型的处理器电路系统(例如,一个或多个fpga、一个或多个cpu、一个或多个gpu、一个或多个dsp等,和/或其组合)和可将 (多个)计算任务分配给多个类型的处理电路系统中最适合执行(多个)计算任务的一个(多个)处理电路系统的(多个)应用编程接口(api)。
21.如本文所使用的,数据是可由处理器电路系统摄取、处理、解释和 /或以其他方式操纵以产生结果、以任何形式的信息。产生的结果本身可是数据。
22.如本文所用,“阈值”被表达为数据(诸如以任何形式表示的数值),其可由处理器电路系统用作比较操作的参考。
23.如本文所用,模型是指令和/或数据集,可由处理器电路系统摄取、处理、解释和/或以其他方式操纵以产生结果。通常,模型使用输入数据进行操作,以根据模型中反映的一个或多个关系产生输出数据。该模型可能基于训练数据。在一些示例中,模型是用于人工智能和/或决策逻辑的数字和关系的结构。
24.如本文所用,配置是用于标识和定义机器如何设置的数据安排。
25.如本文所用,分数可以是数值或无量纲数字,诸如百分比。
具体实施方式
26.包括机器学习(ml)、深度学习(dl)和/或其他人工机器驱动逻辑的人工智能(ai)使机器(例如计算机、逻辑电路等)能够使用模型来处理输入数据以便基于模型先前经由训练过程学习的模式和/或关联来生成输出。例如,可以利用数据来训练模型以识别模式和/或关联,并且在处理输入数据时遵循这样的模式和/或关联,使得(多个)其他输入导致与所识别的模式和/或关联一致的(多个)输出。
27.存在许多不同类型的ai模型和/或ai架构。通常,适合在本文公开的示例方法中使用的ai模型/架构将是人工神经网络模型(例如,卷积神经网络、循环神经网络等)和机器学习模型(例如,随机森林分类器、支持向量机等)。然而,其他类型的机器学习模型可以另外或替代地使用,诸如强化学习模型等。
28.一般而言,实现ml/ai系统涉及两个阶段:学习/训练阶段和推断阶段。在学习/训练阶段,训练算法被用于训练模型以根据基于例如训练数据的模式和/或关联来操作。通常,模型包括引导如何将输入数据变换成输出数据的内部参数,诸如通过模型内的一系列节点和连接来将输入数据变换成输出数据。另外,将超参数用作训练过程的一部分,以控制学习的执行方式(例如,学习率、机器学习模型中要使用的层数等)。超参数被定义为是在发起训练过程之前确定的训练参数。
29.可以基于ml/ai模型的类型和/或预期输出来执行不同类型的训练。例如,有监督训练使用输入和相对应的期望(例如,标记的)输出来选择用于 ml/ai模型的减少模型误差的参数(例如,通过在选择参数的组合上进行迭代)。如本文中所使用,标记是指机器学习模型的预期输出(例如,分类、预期输出值等)。替代地,无监督训练(例如,在深度学习、机器学习等的子集中使用) 涉及从输入推断模式以选择用于ml/ai模型的参数(例如,不具有预期(标记的)输出的益处)。
30.在本文公开的示例中,ml/ai模型基于模型类型和架构来训练,例如,神经网络可以使用随机梯度下降法训练。然而,可附加地或替代地使用任何其他训练算法。在本文公开的示例中,训练被执行直到模型输出收敛。在本文公开的示例中,远程(例如,在中央设施处)执行训练。在其他示例中,本地(例如,在工厂的边缘设备处)执行训练。使用控制如何执行学习的超参数 (例如,学习率、要在机器学习模型中使用的层数等)来执行训练。在本文公开的示例中,控制模型输出的超参数包括节点的数量、层数等。例如,此类超参数通过更新先前模型来选择、随机生成或通过优化算法来搜索。在一些示例中,可以执行重新训练。可以响应于如图5所述的智能触发电路系统来执行此类重新训练。
31.使用训练数据来执行训练。在一些示例中,有监督训练被使用并且训练数据被标记。
32.一旦训练完成,就将该模型部署为用作可执行构造,该可执行构造基于模型中定义的节点和连接的网络来处理输入并提供输出。在一些示例中,模型是逻辑回归模型、随机森林模型或梯度增强树模型等。该模型存储在模型储存库中,如图5所示。然后,该模型可由如图5所述的智能部署电路系统执行。在一些示例中,多个模型通过智能部署电路系统部署和评估,如图5所述。
33.一旦被训练,就可以在推断阶段中操作所部署的模型来处理数据。在推断阶段,将要分析的数据(例如,实时数据)输入到模型,并且该模型执行以创建输出。该推断阶段可以被认为是ai“思考”以便基于其从训练中学习到的来生成输出(例如,通过执行模型以将所学习的模式和/或关联应用于实时数据)。在一些示例中,输入数据在被用作机器学习模型的输入之前经历预处理。此外,在一些示例中,在由ai模型生成输出数据之后,可以对该输出数据进行后处理,以将输出变换成有用的结果(例如,数据显示、由机器执行的指令,等等)。
34.在一些示例中,可以捕获所部署模型的输出并将其作为反馈来提供。通过分析该反馈,能够确定所部署模型的准确性。如果反馈指示所部署的模型的准确性低于阈值或其他标准,则可以使用反馈和更新的训练数据集、超参数等来触发对更新的模型的训练,以生成更新的所部署模型。
35.图1是示出用于边缘计算的配置的概览的框图100,该配置包括在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云110共同定位在边缘位置(诸如接入点或基站140、本地处理中枢150、或中央局120),并且因此可以包括多个实体、设备、和装备实例。与云数据中心110相比,边缘云 130被定位成更靠近端点(消费者和生产者)数据源160(例如,自主交通工具161、用户装备162、商业和工业装备163、视频捕捉设备164、无人机165、智慧城市和建筑设备166、传感器和iot设备167等)。在边缘云110中的边缘处提供的计算、存储器、和存储资源对于为由端点数据源160使用的服务和功能提供超低等待时间的响应时间以及减少从边缘云110朝向云数据中心130 的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
36.计算、存储器和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备处可用的处理资源比在基站处、比在中央局处可用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(ue)),空间和功率通常就越受限。因此,边缘计算试图通过分配被定位成既在地理上更靠近又在网络访问时间上更靠近的更多的资源来减少网络服务所需的资源量。以此种方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据,或者,将工作负荷数据带到计算资源。
37.以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署,并解决了一些网络运营商或服务提供商在其自身基础设施中可能具有的限制。这些包括以下的变体:基于边缘位置的配置(例如,因为处于基站级别的边缘在多租户场景中可能具有更受限制的性能和能力);基于对边缘位置、位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性能的相关目标。取决于等待时间、距离、和定时特征,这些部署可以在网络层中完成处理,这些网络层可以被视为“接近边缘”层、“靠近边缘”层、“本地边缘”层、“中间边缘”层、或“远边缘”层。
38.边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或与产生和消耗数据的端点设备靠近得多得多的其他设备处实现的计算平台(例如,x86 或arm计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频监控)实时地执行计算。或者作为示例,基站可被扩充有计算和加速
资源,以直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数据。或者作为另一示例,中央局网络管理硬件能以标准化计算硬件来代替,该标准化计算硬件执行虚拟化网络功能,并为服务的执行提供计算资源并且为连接的设备提供消费者功能。在边缘计算网络内,可能存在计算资源将被“移动”到数据的服务中的场景,以及其中数据将被“移动”到计算资源的场景。或者作为示例,基站计算、加速和网络资源可以提供服务,以便通过激活休眠容量(订阅、按需容量)来根据需要缩放至工作负荷需求,以便管理极端情况、紧急情况或为部署的资源在显著更长的实现的生命周期中提供长寿命。
39.图2示出了端点、边缘云和云计算环境之间的操作层。具体而言,图2描绘了在网络计算的多个说明性层之间利用边缘云110的计算用例205的示例。这些层开始于端点(设备和事物)层200,该端点层200访问边缘云110 以进行数据创建、分析、和数据消耗活动。边缘云110可以跨越多个网络层,诸如边缘设备层210,该边缘设备层210具有网关、内部(on-premise)服务器、或位于物理上邻近边缘系统中的网络装备(节点215);网络接入层220,该网络接入层220涵盖基站、无线电处理单元、网络中枢、区域数据中心(dc)、或本地网络装备(装备225);以及位于它们之间的任何装备、设备或节点(在层212中,未详细图示出)。边缘云110内和各层之间的网络通信可以经由任何数量的有线或无线介质来实现,包括经由未描绘出的连接性架构和技术来实现。
40.由于网络通信距离和处理时间约束而导致的等待时间的示例的范围可以从在端点层200之间时的小于毫秒(ms),在边缘设备层210处的低于 5ms到当与网络接入层220处的节点通信时的甚至10ms到40ms之间。在边缘云110之外是核心网络230层和云数据中心240层,它们各自均具有增加的等待时间(例如,在核心网络层230处的50ms-60ms、到在云数据中心层处的100ms或更多ms之间)。因此,在核心网络数据中心235或云数据中心245 处的、具有至少50ms至100ms或更长的等待时间的操作将无法完成用例205 的许多时间关键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间值;将会理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”层、“本地边缘”层、“接近边缘”层、“中间边缘”层或“远边缘”层。例如,从核心网络数据中心235或云数据中心245的角度来看,中央局或内容数据网络可以被视为位于“接近边缘”层内(“接近”云,具有在与用例205的设备和端点通信时的高等待时间值),而接入点、基站、内部服务器或网络网关可以被视为位于“远边缘”层内(“远”离云,具有在与用例205的设备和端点通信时的低等待时间值)。将会理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络层200-240中的任一层中的源所测量的特性。
41.由于多个服务利用边缘云,因此各种用例205可能在来自传入流的使用压力下访问资源。为了实现低等待时间的结果,在边缘云110内执行的服务在以下方面平衡了不同的要求:(a)优先级(吞吐量或等待时间)和服务质量(qos)(例如,在响应时间要求方面,用于自主汽车的通信量可能比温度传感器具有更高的优先级;或者取决于应用,性能敏感度/瓶颈可能存在于计算/加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷却和形状因子)。
42.这些用例的端对端服务视图涉及服务流的概念,并且与事务相关联。事务详细说明了用于消费服务的实体的整体服务要求、以及用于资源、工作负荷、工作流的相关联的服务、以及业务功能和业务水平要求。根据所描述的“条款”执行的服务能以确保事务在服务的生命周期期间的实时和运行时合约合规性的方式在每层处被管理。当事务中的组件缺失其约定的sla时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解sla违反的影响,以及 (2)增强系统中的其他组件以恢复整体事务sla,以及(3)实现补救的步骤。
43.因此,考虑到这些变化和服务特征,边缘云110内的边缘计算可以提供实时或接近实时地服务和响应于用例205的多个应用(例如,对象跟踪、视频监控、连接的汽车等)的能力,并满足这些多个应用的超低等待时间要求。这些优势使全新类别的应用(虚拟网络功能(vnf)、功能即服务(faas)、边缘即服务(eaas)、标准过程等)得以实现,这些应用由于等待时间或其他限制而无法利用传统的云计算。
44.然而,伴随边缘计算的优势而来的有以下注意事项。位于边缘处的设备通常是资源受限的,并且因此存在对边缘资源的使用的压力。典型地,这是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。边缘可能是功率受限且冷却受限的,并且因此需要由消耗最多功率的应用对功率使用作出解释。在这些经池化的存储器资源中可能存在固有的功率-性能权衡,因为它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更大的存储器带宽。同样,还需要硬件和信任根受信任的功能的改善的安全性,因为边缘位置可以是无人的,并且可能甚至需要经许可的访问(例如,当被容纳在第三方位置时)。在多租户、多所有方、或多访问环境中,此类问题在边缘云110中被放大,在此类环境中,由许多用户请求服务和应用,特别是当网络使用动态地波动以及多个利益相关方、用例、和服务的组成改变时。
45.在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨论的、在边缘云110(网络层200-240)中操作的层处的任何数量的部署,这些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一个或多个边缘聚合节点和一个或多个核心数据中心可以跨网络的各个层而分布,以由电信服务提供商(“电信公司”或“tsp”)、物联网服务提供商、云服务提供商 (csp)、企业实体或任何其他数量的实体提供边缘计算系统的实现,或者代表电信服务提供商(“电信公司”或“tsp”)、物联网服务提供商、云服务提供商(csp)、企业实体或任何其他数量的实体提供边缘计算系统的实现。诸如当进行编排以满足服务目标时,可以动态地提供边缘计算系统的各种实现方式和配置。
46.与本文提供的示例一致,客户端计算节点可以被具体化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意指此类节点或设备以客户端或代理/仆从/跟随方角色操作;相反,边缘计算系统中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以促进或使用边缘云110的各个实体、节点或子系统。
47.由此,边缘云110由网络层210-230之间的边缘网关节点、边缘聚合节点或其他边缘计算节点操作并在网络层210-230之间的边缘网关节点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形成。因此,边缘云110可被具体化为提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源被定位成接近具有无线电接入网络(ran)能力的端点设备(例如,移动计算设备、iot设备、智能设备等),这在本文中
进行讨论。换言之,边缘云110可被预想为连接端点设备和传统网络接入点、同时还提供存储和/或计算能力的“边缘”,这些传统网络接入点充当进入到包括移动运营商网络(例如,全球移动通信系统(gsm)网络、长期演进(lte)网络、 5g/6g网络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如,wi-fi、长程无线、包括光学网络的有线网络)也可替代此类3gpp 运营商网络被利用或与此类3gpp运营商网络组合来利用。
48.边缘云110的网络组件可以是服务器、多租户服务器、装置计算设备和/或任何其他类型的计算设备。例如,边缘云110可以包括包含壳体、底盘、机箱或外壳的自包含电子设备的装置计算设备。在一些情况下,可以针对便携性来确定壳体尺寸,以使得其可由人类携载和/或被运输。示例壳体可包括形成一个或多个外表面的材料,该一个或多个外表面部分地或完整地保护装置的内容物,其中,保护可包括天气保护、危险环境保护(例如,emi、振动、极端温度)和/或使得能够浸入水中。示例壳体可包括用于为固定式和/或便携式实现方式提供功率的功率电路系统,诸如ac功率输入、dc功率输入、(多个) ac/dc或dc/ac转换器、功率调节器、变压器、充电电路系统、电池、有线输入和/或无线功率输入。示例壳体和/或其表面可包括或连接至安装硬件,以实现到诸如建筑物、电信结构(例如,杆、天线结构等)和/或机架(例如,服务器机架、刀片支架等)之类的结构的附接。示例壳体和/或其表面可支持一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学传感器、电容传感器、接近度传感器等)。一个或多个此类传感器可被包含在装置的表面中、由装置的表面承载、或以其他方式被嵌入在装置的表面中和/或被安装至装置的表面。示例壳体和/或其表面可支持机械连接性,诸如推进硬件(例如,轮子、螺旋桨等)和/或铰接硬件(例如,机器人臂、可枢转附件等)。在一些情况下,传感器可包括任何类型的输入设备,诸如用户接口硬件(例如,按键、开关、拨号盘、滑块等)。在一些情况下,示例壳体包括包含在其中、由其携载、嵌入其中和/或附接于其的输出设备。输出设备可包括显示器、触摸屏、灯、 led、扬声器、i/o端口(例如,usb)等。在一些情况下,边缘设备是为特定目的而被呈现在网络中、但是可具有可用于其他目的的处理和/或其他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并且可设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务的其他计算任务仍然是可用的。边缘设备包括物联网设备。装置计算设备可包括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络安全之类的本地问题的硬件和软件组件。结合图2描述用于实现装置计算设备的示例硬件。边缘云110还可以包括一个或多个服务器和/或一个或多个多租户服务器。此类服务器可包括操作系统并实现虚拟计算环境。虚拟计算环境可包括管理 (例如,生成、部署、损毁等)一个或多个虚拟机、一个或多个容器等的管理程序。此类虚拟计算环境提供其中一个或多个应用和/或其他软件、代码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时进行执行的执行环境。
49.在图3中,(以移动设备、计算机、自主交通工具、业务计算装备、工业处理装备的形式的)各种客户端端点310交换特定于端点网络聚合类型的请求和响应。例如,客户端端点310可以通过借助于内部网络系统332交换请求和响应322,经由有线宽带网络获得网络接入。一些客户端端点310(诸如移动计算设备)可以通过借助于接入点(例如,蜂窝网络塔)334交换请求和响应324,经由无线宽带网络获得网络接入。一些客户端端点310(诸如自主交通工具)可通过街道定位网络系统336,经由无线机载网络获得请求和响应 326的网络接入。然而,无论网络接入的类型如何,tsp可以在边缘云110内部署聚合点342、344来聚合通
信量和请求。因此,在边缘云110内,tsp可以(诸如在边缘聚合节点340处)部署各种计算和存储资源以提供请求的内容。边缘聚合节点340和边缘云110的其他系统被连接至云或数据中心360,该云或数据中心360使用回程网络350来满足来自云/数据中心对网站、应用、数据库服务器等的更高等待时间请求。边缘聚合节点340和聚合点342、344的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在于边缘云110或tsp基础设施的其他区域内。
50.本文公开的示例涉及对例如工厂环境中机器学习模型的开发和/或部署进行自动化。例如,可以部署在边缘基础设施(诸如结合图1-图3描述的边缘基础设施)中的机器学习模型。人工智能模型(例如,机器学习模型)使用由工厂或其他数据源(例如,工业数据源、商业数据源等)生成的数据。例如,工厂中的制造过程会受到环境变化的影响。例如,如果仍然应用第一组设置,上午使用用于制造齿轮的第一组设置的温度波动可能在下午产生不可接受的结果。不可接受的结果可能被确定为偏离由工厂或监督方应用的标准或阈值。人工智能模型(例如,机器学习模型)被更新,但如果人类更新模型,则在一段时间内模型的运行效率不如更新后的模型。这段时间浪费工厂资源。
51.用于对机器学习模型的开发和/或部署进行自动化的现有技术包括由谷歌的云automl、微软的azure automl或数据机器人(datarobot)实现的automl技术。然而,这三种现有技术需要人类来监测模型性能并触发对模型进行重新训练的过程。模型更新过程更加主观,因为更新过程依赖于人工监督。人类使用时间做出反应(例如,比机器的时间长得多),因此模型更新过程是不连续的,并且如果人类控制了更新过程,次优模型将运行更长时间。
52.此外,automl的范围有限并且可能不适用于工业用例(例如,诸如工厂生产线)。现有automl技术包括神经网络架构搜索和迁移学习,并且为了执行此类神经网络架构搜索,需要大量标记的训练数据,这些数据通常不是由工厂生成的。迁移学习主要局限于计算机视觉应用和自然语言处理应用,在这些应用中,成熟的神经网络模型已使用来自工业用例以外的源的大型数据集进行训练。在一些示例中,迁移学习适用于非计算机视觉应用,但该应用局限于对大型数据集的需求。
53.图4是模型更新控制器电路系统操作以自动更新自主工厂的人工智能模型的示例环境400的框图。示例环境400包括示例模型更新中央设施402、示例网络406、示例模型更新控制器电路系统410和其他示例模型更新控制器电路系统418。
54.示例模型更新中央设施402包括示例人工智能模型储存库404并被配置成用于从示例模型更新控制器电路系统410和其他示例模型更新控制器电路系统418接收部署的人工智能模型。示例模型更新中央设施402通过网络406 连接到示例模型更新控制器电路系统410和其他示例模型更新控制器电路系统 418。
55.所示的示例网络406是互联网。示例模型更新控制器电路系统410 访问互联网。或者,网络406可以是任何其他类型的设备。在一些示例中,示例人工智能模型储存库404和/或示例模型更新中央设施402存在于示例网络 406中。
56.示例模型更新控制器电路系统410类似于其他示例模型更新控制器电路系统418。在一些示例中,示例模型更新控制器电路系统410与其他示例模型更新控制器电路系统418相同。示例模型更新控制器电路系统410包括对传感器数据或环境元数据的数据库412的使
用权。另一个示例模型更新控制器电路系统418包括对传感器数据或环境元数据的数据库416的使用权。另一个示例模型更新控制器电路系统418在数据库420中产生人工智能模型的集成 (例如,至少一个),该集成被传送到示例网络406并被分发到示例模型更新控制器电路系统410。示例模型更新控制器电路系统410在数据库408中产生人工智能模型的集成(例如,至少一个),该集成被传送到示例网络406并被分发到另一个示例模型更新控制器电路系统418。在一些示例中,数据库408 中的模型直接传送到另一个示例模型更新控制器电路系统418。示例模型更新控制器电路系统410能够使用示例数据储存库414来存储关于由示例模型更新控制器电路系统410产生的人工智能模型的数据,或者存储关于由另一个示例模型更新控制器电路系统418产生的人工智能模型的数据,或存储超参数或输入数据。
57.图5是图4的模型更新控制器电路系统410的示例实现方式的框图。示例模型更新控制器电路系统410包括示例数据接口电路系统502、示例环境数据接口电路系统504、示例智能触发器电路系统506、示例自动模型搜索电路系统508和示例智能部署电路系统510。
58.示例数据接口电路系统502由逻辑电路实现,诸如例如硬件(例如,基于半导体的)处理器。然而,可以附加地或替代地使用任何其他类型的电路,诸如例如,一个或多个模拟电路或数字电路、逻辑电路、(多个)可编程处理器、(多个)专用集成电路(asic)、(多个)可编程逻辑器件(pld)、(多个)现场可编程逻辑器件(fpld)、(多个)数字信号处理器(dsp)等。示例数据接口电路系统502被配置成用于通过使用示例网络406与模型更新中央设施402通信。在一些示例中,数据接口电路系统502与另一个示例模型更新控制器电路系统418的相对应数据接口电路系统通信。示例数据接口电路系统 502与示例数据储存库通信,以访问(例如,检取)关于由示例模型更新控制器电路系统410产生的人工智能模型的数据,或存储关于由另一个示例模型更新控制器电路系统418产生的人工智能模型的数据,或存储超参数或输入数据。
59.示例环境数据接口电路系统504由逻辑电路实现,诸如例如硬件(例如,基于半导体的)处理器。然而,可以附加地或替代地使用任何其他类型的电路,诸如例如,一个或多个模拟电路或数字电路、逻辑电路、(多个)可编程处理器、(多个)专用集成电路(asic)、(多个)可编程逻辑器件(pld)、 (多个)现场可编程逻辑器件(fpld)、(多个)数字信号处理器(dsp)等。示例环境数据接口电路系统504被构造成与在工厂操作的环境传感器通信。例如,环境传感器可被配置成用于检测温度、光照或阴影、湿度等的变化。示例环境数据接口电路系统504与示例智能触发器电路系统506通信。响应于接收到的环境数据,示例智能触发器电路系统506可以启动自动模型更新过程,这在图7中进一步描述。
60.示例智能触发器电路系统506由逻辑电路实现,诸如例如硬件(例如,基于半导体的)处理器。然而,可以附加地或替代地使用任何其他类型的电路,诸如例如,一个或多个模拟电路或数字电路、逻辑电路、(多个)可编程处理器、(多个)专用集成电路(asic)、(多个)可编程逻辑器件(pld)、 (多个)现场可编程逻辑器件(fpld)、(多个)数字信号处理器(dsp)等。示例智能触发器电路系统506使用四个信息源来确定人工智能模型更新是否发生。示例智能触发器电路系统506使用度量基线信息、来自当前人工智能模型的输出、元数据、和/或来自在其他生产线上操作的人工智能模型或由另一个示例模型更新控制器电路系统418产生的人工智能模型的输出。在一些示例中,如果示例输入参数没有充分改变(例如,根据改变的阈值水平),模型更新可能使人工智能模型保持不变。
61.通过示例智能触发器电路系统506学习度量基线。示例智能触发器电路系统506对一段时间内来自所部署模型的输出取平均。例如,示例智能触发器电路系统506可以通过记录由ai模型在一定时间内做出的多个正向预测的平均值来学习故障检测用例的正向率的正常基线。
62.示例智能触发器电路系统506监测当前人工智能模型的输出并且将其与学习到的正常基线进行比较。例如,在检测有故障的螺钉驱动过程结果的用例中,示例智能触发器电路系统506监测由ai模型随时间预测的正向(有故障)数量并计算正向率。当示例智能触发器电路系统506检测到正向率偏离正常基线时,示例智能触发器电路系统506触发示例自动模型搜索电路系统 508以开发新的模型候选。
63.示例智能触发器电路系统506可以使用元数据。元数据(诸如设备和/或过程配置和环境传感器读数)也馈送到该模块中,以便该模块知道度量的变化是否与过程/设备配置变化或工厂的温度或湿度变化一致。现代工厂通常具有变化控制过程,其中配置的变化被记录到数据库中。因此,一旦示例智能触发器电路系统506检测到偏离正常基线,示例智能触发器电路系统506向存储元数据的数据库(例如,环境数据库412)发送查询并调查是否存在任何更新。或者,配置信息可以被存储在工业设备和/或控制器上的本地硬盘驱动器上,并且示例智能触发器电路系统506可以从硬盘驱动器读取元数据。此外,来自环境传感器的读数可以通过工厂中的网络传送到示例智能触发器电路系统506。
64.示例智能触发器电路系统506可以使用来自在执行与所讨论的生产线相同的任务的其他相同生产线上运行的ai模型的输出。例如,当示例智能触发器电路系统506在一条螺钉驱动线上检测到正向率的突然增加时,示例智能触发器电路系统506检查其其他螺钉驱动线上是否检测到类似的增加。
65.通过监测来自已部署的ai模型的输出,当检测到偏离基线时,示例智能触发器电路系统506将激活示例自动模型搜索电路系统508。基于元数据(例如,环境数据)和来自上述其他已部署ai模型的信息,示例智能触发器电路系统506可以确定其检测到的度量中的变化是全局变化(其他生产线也经历类似变化)还是局部变化,以及变化与什么相关(诸如工厂温度或湿度突然增加)。然后,该判断将被传递到示例智能部署电路系统510,以促进模型部署模型的自我改进。
66.示例自动模型搜索电路系统508由逻辑电路实现,诸如例如硬件 (例如,基于半导体的)处理器。然而,可以附加地或替代地使用任何其他类型的电路,诸如例如,一个或多个模拟电路或数字电路、逻辑电路、(多个) 可编程处理器、(多个)专用集成电路(asic)、(多个)可编程逻辑器件(pld)、 (多个)现场可编程逻辑器件(fpld)、(多个)数字信号处理器(dsp)等。示例自动模型搜索电路系统508被配置成用于要么生成新模型,要么通过示例数据接口电路系统502的通信从人工智能模型储存库404搜索模型。在一些示例中,自动模型搜索电路系统508生成至少一个新模型。在其他示例中,示例自动模型搜索电路系统508根据模型生成技术从至少三种模型类型生成至少一个模型。
67.针对第一类型的模型,示例自动模型搜索电路系统508可生成实现与旧模型相同的模型架构的第一候选模型,但模型参数用在生产线上新收集的数据更新。
68.针对第二类型的模型,示例自动模型搜索电路系统508可以生成第二候选模型,该第二候选模型更新旧模型的超参数,和/或在模型架构中进行一些部分变化但保持模型架
构的主要组成部分不变。例如,支持向量机(svm) 中使用的内核函数可被改变来构建新模型。另一个示例是,当缺陷的形状或一些其他属性在缺陷检测用例中改变时,经训练以检测原始缺陷的深度神经网络的最后几层可被改变并训练以适应新的缺陷。
69.针对第三类型的模型,示例自动模型搜索电路系统508可以生成第三候选模型,该第三候选模型实现将由模型搜索模块生成的不同的模型架构。例如,如果部署的原始ai模型是基于支持向量机(svm)的分类器,则基于随机森林的新分类器可被构建。多于一个的具有新架构的候选模型可被生成,并且此类新模型的数量可被预先配置。每个生产线使用不同的随机种子进行此类模型搜索。
70.示例自动模型搜索电路系统508可以使用第二类型的模型或第三类型的模型,因为在工业环境中,尤其是在不断变化的配置和环境设置下,查找异常数据非常具有挑战性。也很难重新产生此类异常并将其用于训练,尤其是在模型部署的初始阶段。当检测到新类型的异常数据时,(多个)现有模型被更新以说明新缺陷,或者新模型被添加以检测新类型的异常。这是通过使用上面第二类型的模型或上面第三类型的模型中的一种来实现的,相当于可缩放的自学习系统。
71.或者,示例自动模型搜索电路系统508可以从示例模型储存库404 中选择模型。之前部署的每个ai模型与一些元数据一起被存储在示例人工智能模型储存库404中,元数据诸如所部署的模型的生产线、该特定生产线的设备/过程配置、模型性能(例如,预测精度)、模型运行时工厂中的环境条件(例如,温度和湿度)。可以使用示例人工智能模型储存库404的模型与所讨论的待更新ai模型之间的元数据来计算相似性分数。示例人工智能模型储存库404 中的ai模型可以缩小到相似性得分最高的模型,然后基于它们过去的模型性能,示例自动模型搜索电路系统508可以从示例人工智能模型储存库404中的多个模型中选择候选模型。
72.示例智能部署电路系统510由逻辑电路实现,诸如例如硬件(例如,基于半导体的)处理器。然而,可以附加地或替代地使用任何其他类型的电路,诸如例如,一个或多个模拟电路或数字电路、逻辑电路、(多个)可编程处理器、(多个)专用集成电路(asic)、(多个)可编程逻辑器件(pld)、(多个)现场可编程逻辑器件(fpld)、(多个)数字信号处理器(dsp)等。示例智能部署电路系统510用于部署人工智能模型。在初始部署阶段,示例智能部署电路系统510首先并行运行所有候选模型,并使用算法来确定单个输出。该算法从多数投票机制或平均值计算开始,从而赋予每个模型相同的权重。示例智能部署电路系统510通过检测来自候选模型的离群模型随时间改进自身。如果来自一个或一些候选模型的预测经常与其他大多数模型不同,那么这些离群模型的权重由模型部署模块逐渐降低。
73.如果触发模型更新的变化是全局变化(即,发生在多于一个生产线上),则示例智能部署电路系统510通过与在其他相同生产线上运行的示例智能部署电路系统510(例如,在另一个示例模型更新控制器电路系统418上运行的示例智能部署电路系统)协作,随时间改进自身。想法在于,在多个相同的生产线发生全局变化后,这些生产线应该收敛到一个类似的新基线(例如,预测的正向率)。因此,示例智能部署电路系统510应逐渐对产生更接近该度量的全局基线的度量值的模型施加更大的权重。结合图9示出了收敛的示例。
74.在一些示例中,设备包括用于触发自动模型更新过程的装置。例如,用于触发自动模型更新过程的装置可以由智能触发器电路系统506实现。在一些示例中,智能触发器电路
系统506可以由机器可执行指令来实现,诸如由处理器电路系统执行的图7中的至少框702、框704实现的机器可执行指令,该处理器电路系统可由图11的示例处理器电路系统1112、图12的示例处理器电路系统1200和/或图13的示例现场可编程门阵列(fpga)电路系统1300实现。在其他示例中,智能触发器电路系统506由其他硬件逻辑电路系统、硬件实现的状态机和/或硬件、软件和/或固件的任何其他组合来实现。例如,智能触发器电路系统506可以由被构造成用于在不执行软件或固件的情况下执行相对应的操作的至少一个或多个硬件电路实现(例如,处理器电路系统、分立的和/或集成的模拟和/或数字电路系统、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路等)来实现,但其他结构也同样适用。
75.在一些示例中,设备包括用于生成多个候选人工智能模型的装置。例如,用于生成多个候选人工智能模型的装置可以由自动模型搜索电路系统 508实现。在一些示例中,自动模型搜索电路系统508可以由机器可执行指令来实现,诸如由处理器电路系统执行的图7中的至少框708、框710、框714 实现的机器可执行指令,该处理器电路系统可由图11的示例处理器电路系统 1112、图12的示例处理器电路系统1200和/或图13的示例现场可编程门阵列 (fpga)电路系统1300实现。在其他示例中,智能触发器电路系统506由其他硬件逻辑电路系统、硬件实现的状态机和/或任何其他硬件、软件和/或固件的组合来实现。例如,智能触发器电路系统506可以由被构造成用于在不执行软件或固件的情况下执行相对应的操作的至少一个或多个硬件电路实现(例如,处理器电路系统、分立的和/或集成的模拟和/或数字电路系统、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路等)来实现,但其他结构也同样适用。
76.在一些示例中,设备包括用于随时间改进预测性能的装置。例如,用于随时间改进预测性能的装置可以由智能部署电路系统510来实现。在一些示例中,智能部署电路系统510可以由机器可执行指令来实现,诸如由处理器电路系统执行的图7中的至少框716、框718、框720、框722实现的机器可执行指令,该处理器电路系统可由图11的示例处理器电路系统1112、图12的示例处理器电路系统1200和/或图13的示例现场可编程门阵列(fpga)电路系统1300实现。在其他示例中,智能部署电路系统510由其他硬件逻辑电路系统、硬件实现的状态机和/或任何其他硬件、软件和/或固件的组合来实现。例如,智能部署电路系统510可以由被构造成用于在不执行软件或固件的情况下执行相对应的操作的至少一个或多个硬件电路实现(例如,处理器电路系统、分立的和/或集成的模拟和/或数字电路系统、fpga、专用集成电路(asic)、比较器、运算放大器(op-amp)、逻辑电路等)来实现,但其他结构也同样适用。
77.虽然图5图示出实现图4的模型更新控制器电路系统410的示例方式,但图5中所图示的元件、过程和/或设备中的一个或多个可以被组合、拆分、重新设置、省略、消除和/或以任何其他方式被实现。进一步地,图4的示例数据接口电路系统502、示例环境数据接口电路系统504、示例智能触发器电路系统506、示例自动模型搜索电路系统508和示例智能部署电路系统510和/ 或更一般地,示例模型更新控制器电路系统410可由硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例数据接口电路系统502、示例环境数据接口电路系统504、示例智能触发器电路系统506、示例自动模型搜索电路系统508和示例智能部署电路系统510和/或更一般地,示例模型更新控制器电路系统410中的任一个可
由处理器电路系统、(多个)模拟电路、(多个)数字电路、(多个)逻辑电路、(多个)可编程处理器、 (多个)可编程微控制器、(多个)图形处理单元(gpu)、(多个)数字信号处理器(dsp)、(多个)专用集成电路(asic)、(多个)可编程逻辑器件(pld)和/或(多个)现场可编程逻辑器件(fpld)来实现(诸如现场可编程门阵列(fpga))。当阅读到本专利的涵盖纯软件和/或固件实现的装置或系统权利要求中的任一项时,示例数据接口电路系统502、示例环境数据接口电路系统504、示例智能触发器电路系统506、示例自动模型搜索电路系统508和示例智能部署电路系统510中的至少一个由此被明确地定义为包括包含该软件和/或固件的非瞬态计算机可读存储设备或存储盘(诸如存储器、数字多功能盘(dvd)、紧凑盘(cd)、蓝光盘等等)。更进一步地,图4的示例模型更新控制器电路系统410可以包括附加于或替代于图5中所示的那些元件、过程和/或设备的一个或多个元件、过程和/或设备,和/或可以包括所图示的元件、过程和设备中任何或所有元件、过程和设备中的多于一个元件、过程和设备。
78.在图6和图7中示出了表示用于实现图4的模型更新控制器电路系统410的示例硬件逻辑电路系统、机器可读指令、硬件实现的状态机和/或其任何组合的流程图。机器可读指令可以是用于由处理器电路系统执行的一个或多个可执行程序或可执行程序的(多个)部分,处理器电路系统诸如下文结合图11所讨论的示例处理器平台1100中示出的处理器电路系统1112和/或下文结合图12和/或图13所讨论的示例处理器电路系统。程序可以被具体化在存储在与位于一个或多个硬件设备中的处理器电路系统相关联的一个或多个非瞬态计算机可读存储介质上的软件中,非瞬态计算机可读存储介质诸如cd、软盘、硬盘驱动器(hdd)、dvd、蓝光盘、易失性存储器(例如,任何类型的随机存取存储器(ram)等),或非易失性存储器(例如,闪存存储器、hdd等),但完整的程序和/或其中的部分可以替代地由除处理器电路系统外的一个或多个硬件设备执行,和/或具体化在固件或专用硬件中。机器可读指令可以分布在多个硬件设备上和/或由两个或更多个硬件设备(例如,服务器和客户端硬件设备)执行。例如,客户端硬件设备可以由端点客户端硬件设备(例如,与用户关联的硬件设备)或中间客户端硬件设备(例如,可促进服务器与端点客户端硬件设备之间通信的无线电接入网络(ran)网关)来实现。类似地,非瞬态计算机可读存储介质可以包括位于一个或多个硬件设备中的一个或多个介质。此外,虽然参考图 6-图7所图示的流程图描述了示例程序,但是可替代地使用实现示例模型更新控制器电路系统410的许多其他方法。例如,可改变框的执行次序,和/或可改变、消除或组合所描述的框中的一些框。附加地或替代地,框中的任何框或所有框可以由被构造成用于在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,处理器电路系统、分立的和/或集成的模拟和/或数字电路系统、fpga、asic、比较器、运算放大器(op-amp)、逻辑电路等) 来实现。处理器电路系统可以分布在不同的网络位置和/或在一个或多个硬件设备本地(例如,单核处理器(例如,单核中央处理器单元(cpu))、单个机器中的多核处理器(例如,多核cpu等)、跨服务器机架的多个服务器分布的多个处理器、跨一个或多个服务器机架分布的多个处理器、位于相同封装中的cpu 和/或fpga(例如,相同的集成电路(ic)封装或在两个或更多个独立的壳体中等)。
79.本文中描述的机器可读指令能以压缩格式、加密格式、分段格式、编译格式、可执行格式、封装格式等中的一种或多种来存储。本文描述的机器可读指令可以作为可用于创建、制造和/或产生机器可执行指令的数据或数据结构(例如,指令的部分、代码、代码表示等)来存储。例如,机器可读指令可以被分段并被存储在位于网络或网络集合(例如,在云
中、在边缘设备中等) 中的相同或不同位置处的一个或多个存储设备和/或计算设备(例如,服务器) 上。机器可读指令可能需要安装、修改、适配、更新、组合、补充、配置、解密、解压缩、拆包、分发、重新分配、编译等中的一项或多项,以使得它们由计算设备和/或其他机器直接可读取、可解释、和/或可执行。例如,机器可读指令可以存储在多个部分中,这些部分被单独压缩、加密和/或存储在单独的计算设备上,其中,这些部分在被解密、解压缩和组合时形成实现诸如本文所述的可以一起形成程序的一个或多个操作的一组可执行指令。
80.在另一个示例中,机器可读指令可以以它们可被处理器电路系统读取的状态存储,但是需要添加库(例如,动态链接库(dll))、软件开发工具包(sdk)、应用编程接口(api)等,以便在特定的计算设备或其他设备上执行机器可读指令。在另一个示例中,在可整体或部分地执行机器可读指令和/或相对应的(多个)程序之前,可能需要配置机器可读指令(例如,存储的设置、数据输入、记录的网络地址等)。因此,如本文所使用,机器可读介质可以包括机器可读指令和/或(多个)程序,而不管机器可读指令和/或(多个) 程序在存储时或以其他方式处于静态或在传输中时的特定格式或状态如何。
81.本文所描述的机器可读指令可以由任何过去、现在或将来的指令语言、脚本语言、编程语言等表示。例如,机器可读指令可以用以下语言中的任何一种语言来表示:c、c 、java、c#、perl、python、javascript、超文本标记语言(html)、结构化查询语言(sql)、swift等。
82.如上所述,可使用存储在一个或多个非瞬态计算机和/或机器可读介质上的可执行指令(例如,计算机和/或机器可读指令)实现图6-图7的示例操作,非瞬态计算机和/或机器可读介质诸如光学存储设备、磁存储设备、hdd、闪存存储器、只读存储器(rom)、cd、dvd、高速缓存、任何类型的ram、寄存器和/或在任何时长内(例如,在扩展时间段内、永久地、在简短的实例期间、在临时缓冲和/或信息高速缓存期间)将信息存储于其内的任何其它存储设备或存储盘。如本文中所使用,术语非瞬态计算机可读介质和非瞬态计算机可读存储介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且被定义为排除传播信号且排除传输介质。
[0083]“包含”和“包括”(及其所有形式和时态)在本文中用作开放式术语。因此,每当权利要求将任何形式的“包含”和“包括”(例如,包括、包含、包括有、包含有、具有等)用作前序部分或用于任何种类的权利要求记载内容之中时,要理解的是,附加的要素、项等可以存在而不落在对应权利要求或记载的范围之外。如本文中所使用,当短语“至少”被用作例如权利要求的前序部分中的过渡术语时,它以与术语“包含”和“包括”是开放式的相同的方式是开放式的。当例如以诸如a、b和/或c之类的形式使用术语“和/或”时,指的是a、b、c 的任何组合或子集,诸如(1)单独的a、(2)单独的b、(3)单独的c、 (4)a与b、(5)a与c、(6)b与c、或(7)a与b与c。如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“a和b中的至少一者”旨在指代包括以下各项中的任一项的实现方式:(1)至少一个a、(2) 至少一个b、或(3)至少一个a和至少一个b。类似地,如本文中在描述结构、组件、项、对象和/或事物的上下文中所使用,短语“a或b中的至少一者”旨在指代包括以下各项中的任一项的实现方式:(1)至少一个a、(2)至少一个b、或(3)至少一个a和至少一个b。如本文中在描述过程、指令、动作、活动和/或步骤的实行或执行的上下文中所使用,短语“a和b中的至少一者”旨在指代包括以下各项中的任一项的实现方式:(1)至少一个a、(2) 至少一个b、或(3)至少一个
a和至少一个b。类似地,如本文中在描述过程、指令、动作、活动和/或步骤的实行或执行的上下文中所使用,短语“a或 b中的至少一者”旨在指代包括以下各项中的任一项的实现方式:(1)至少一个a、(2)至少一个b、或(3)至少一个a和至少一个b。
[0084]
如本文所使用,单数引用(例如,“一(a、an)”、“第一”、“第二”等)不排除复数。本文所使用的术语“一(a或an)”对象是指一个或多个该对象。术语“一(a)”(或“一(an)”)、“一个或多个”和“至少一个”在本文中可以可互换地使用。此外,尽管单独列出,但多个装置、元件或方法动作可由例如相同实体或对象来实现。另外,虽然各个特征可以被包括在不同的示例或权利要求中,但是这些特征可能被组合,并且在不同的示例或权利要求中的包含并不意味着特征的组合是不可行和/或不是有利的。
[0085]
图6是代表可由处理器电路系统执行和/或实例化以基于模型更新过程来输出候选模型组合的示例机器可读指令和/或示例操作600的流程图。图 6的机器可读指令和/或操作600从框602开始,在框602处,示例智能触发器电路系统506基于四个信息源中的至少一个来触发自动模型更新过程。例如,示例智能触发器电路系统506可基于度量基线数据、包括环境数据的元数据、人工智能模型数据或来自其他生产线的人工智能模型数据来触发自动模式更新过程。
[0086]
在框604处,示例自动模型搜索电路系统508生成多个候选机器学习模型。例如,示例自动模型搜索电路系统508可以通过搜索机器学习模型的人工智能储存库或通过生成至少三种类型的模型来生成多个候选机器学习模型。在一些示例中,示例自动模型搜索电路系统508可生成第一新人工智能模型,该第一新人工智能模型实现在第一生产线上操作的第一人工智能模型的模型架构,但包括基于新收集的数据更新的模型参数,或者可生成第二新人工智能模型,该第二新人工智能模型实现在第一生产线上操作的第一人工智能模型的类似模型架构,但包括超参数更新,或可生成实现新模型架构的第三新人工智能模型,该新模型架构不基于第一生产线上操作的第一人工智能模型。
[0087]
在框606处,示例智能部署电路系统510输出模型组合的预测,以随时间改进预测性能。例如,智能部署电路系统510可以输出对模型组合的预测,以通过监测所产生的多个模型、移除离群值和/或存储在质量阈值附近执行的模型来随时间改进预测性能。示例指令600结束。在一些示例中,当过程重复(例如,总是发生)时,示例指令600返回到框602。
[0088]
图7是代表可由处理器电路系统执行和/或实例化以基于模型更新过程来输出候选模型组合的示例机器可读指令和/或示例操作700的流程图。图 7的机器可读指令和/或操作700从框702开始,在框702处,示例智能触发器电路系统506接收四个数据源中的至少一个。例如,示例智能触发器电路系统 506可以通过访问度量基线、来自在第一工厂生产线上操作的第一人工智能模型的输出、元数据或来自第二人工智能模型的输出来接收四个数据源中的至少一个,其中第二人工智能模型在第二工厂生产线上操作。控制流至框704。
[0089]
在框704处,智能触发器电路系统506确定触发更新。例如,智能触发器电路系统506可以响应于与度量基线的偏差来确定触发更新。例如,智能触发器电路系统506可以响应于来自在第一工厂生产线上操作的第一人工智能模型的输出而确定触发更新,该输出诸如指示第一人工智能模型的精度在预测制造过程中的误差时不准确的指示。例如,智能触发器电路系统506可以响应于元数据(诸如环境传感器读数、设备配置和过程配置中的至少一个)而确定触发更新。例如,智能触发器电路系统506可以响应于来自在第二工厂生产线
上操作的第二人工智能模型的输出而确定触发更新,该输出诸如指示第二人工智能模型的精度在预测制造过程中的误差时不准确的指示。
[0090]
例如,示例智能触发器电路系统506可确定不触发更新(例如,“否”)。控制流至框702,用于智能触发器电路系统506接收四个数据源中的至少一个。例如,示例智能触发器电路系统506可确定触发更新(例如,“是”)。控制流至框706。
[0091]
在框706处,示例数据接口电路系统502从示例模型储存库404接收元数据。例如,示例数据接口电路系统502可以通过访问与示例模型储存库 404中的不同人工智能模型相对应的元数据,从示例模型储存库404接收元数据。控制流至框708。
[0092]
在框708处,示例自动模型搜索电路系统508判定模型储存库404 中是否存在类似模型。例如,示例自动模型搜索电路系统可以通过判定示例模型储存库404中是否存在任何模型来确定模型在模型储存库404中。例如,示例自动模型搜索电路系统508可以确定模型在模型储存库404中(例如,“是”)。控制流至框710。例如,示例自动模型搜索电路系统508可确定模型不在模型储存库404中(例如,“否”)。控制流至框714。
[0093]
在框710处,示例自动模型搜索电路系统508确定使用模型储存库 404中的模型。例如,示例自动模型搜索电路系统508可以基于与模型储存库 404中的人工智能模型与工厂生产线上的条件之间的元数据相对应的相似性分数来确定使用模型储存库中的模型。例如,示例自动模型搜索电路系统508可以确定使用模型储存库404中的人工智能模型(例如,“是”)。控制流至框712。例如,示例自动模型搜索电路系统508可确定不使用模型储存库404中的人工智能模型(例如,“否”)。控制流至框714。
[0094]
在框712处,示例自动搜索电路系统508从模型储存库404检取多个模型。例如,示例自动搜索电路系统508可以基于元数据与当前工厂生产线之间的相似性分数来从模型储存库404检取多个模型。在一些示例中,示例自动搜索电路系统508可以基于模型的性能分数来从模型储存库404检取多个模型。控制流至框716。
[0095]
在框714处,示例自动模型搜索电路系统508生成多个模型。例如,示例自动模型搜索电路系统508可响应于示例模型储存库404中缺少模型或示例模型储存库404中缺少类似(例如,基于元数据)模型而生成多个模型。例如,可能没有针对特定环境条件进行调整的模型,诸如工厂生产线全面投产后 10度的温度波动,因此示例自动模型搜索电路系统508可以生成多个模型并存储与模型被生成时的条件相对应的特定元数据。在一些示例中,多个模型是至少两个(2)。来自多个模型(例如,至少两个)的输出数据用于确定平均故障率并移除离群模型。控制流至框716。
[0096]
在框716处,示例智能部署电路系统510智能地部署人工智能模型。例如,示例智能部署电路系统510可以通过并行运行(例如,部署)候选模型并基于算法来确定合并来自多个模型的数据的单个输出来智能地部署人工智能模型。在一些示例中,该算法是一种多数投票机制或平均值计算,其为候选模型提供相似(例如,相同)的权重。控制流至框718。
[0097]
在框718处,示例智能部署电路系统510监测候选模型。例如,示例智能部署电路系统510可以通过确定多个模型的输出来监测候选模型。随着时间流逝,分配给多个模型(例如,模型集成)中的特定候选模型的权重可以基于该特定候选模型的输出增加或减少。控制流至框720。
[0098]
在框720处,示例智能部署电路系统510移除离群模型。例如,示例智能部署电路系
统510可通过判定模型正在预测高于平均值的故障率还是低于平均值的故障率来移除离群模型。例如,如果真实故障率为百分之五(5%),则可以从多个模型(例如,模型集合)中移除一致地预测高于平均故障率的百分之二十(20%)的故障率的模型。控制流至框722。
[0099]
在框722处,示例智能部署电路系统510将经优化的模型存储在模型储存库404中。例如,示例智能部署电路系统510可以将执行超过阈值的候选模型存储在示例模型储存库404中,其中元数据与由经优化的候选模型监测的工厂生产线相对应。经优化的候选模型被存储,并可由示例自动模型搜索电路系统508在稍后时间选择。示例指令700结束。
[0100]
图8是模型过程数据流程图。在图8的示例中,示例智能触发器电路系统506、示例自动模型搜索电路系统508和示例智能部署电路系统510工作以在例如工厂环境中对机器学习模型的开发和/或部署进行自动化。例如,可以部署在边缘基础设施(诸如结合图1-图3描述的边缘基础设施)中的机器学习模型。人工智能模型(例如,机器学习模型)使用由工厂或其他数据源(例如,工业数据源、商业数据源等)生成的数据。例如,工厂中的制造过程会受到环境变化的影响。
[0101]
在图8的示例中,示例智能触发器电路系统506访问当前部署模型、来自示例环境数据库412的元数据,以及来自在由另一个示例模型更新控制器电路系统418生成的对等相同生产线上操作的模型的输出数据。响应于四个数据源,示例智能触发器电路系统506触发更新过程。示例自动模型搜索电路系统508生成候选模型(例如,候选模型1、示例候选模型2、未示出的其他候选模型以及示例候选模型n)。示例自动模型搜索电路系统508生成候选模型或从人工智能模型储存库404检取类似候选模型。示例智能部署电路系统510 部署从示例自动模型搜索电路系统508接收的模型的演进集成。示例智能部署电路系统510可以监测随着时间的推移已部署模型的行为和精度,并且响应于性能差的模型(例如,根据阈值),移除离群模型并存储性能更好的模型(例如,根据阈值)。在一些示例中,性能更好的模型被标记并保存以供将来使用。当过程重复时,演进模型集成可以用作部署模型。
[0102]
图9是由示例智能部署电路系统执行的监测的扩展示例。在该示例中,工厂中有3个机器人执行相同的螺钉驱动任务(例如,机器人a、机器人 b和机器人c)。在图9的示例中,每个机器人获得3个模型候选,以预测螺钉驱动过程是否有故障。例如,机器人a获得模型候选a1、模型候选a2和模型候选a3。每个机器人上的示例智能部署电路系统跟踪模型候选的预测结果。在一些示例中,模型候选a1、a2和a3被标记并保存以供将来使用。例如,标记的模型a1可以存储在示例人工智能模型储存库404(如图4或图8 中所示)中,作为用于构建下一个候选模型的模板。3个机器人的平均故障率为1%。因此,在多数投票算法中,模型a1将被机器人a更多地加权,模型 b3将被机器人b更多地加权,而模型c1将被机器人c更多地加权。
[0103]
模型候选(每个模型候选的权重随时间变化)的演进集成是新的 ai模型,其部署用于取代旧的ai模型。集成被视为一个模型,并且如果以后需要更新集成,则一个新的模型候选的集将被生成,而不是多个集。以此方式可以减少模型所需的存储器和存储空间。该集成用于改进较弱的模型,以产生更高性能的模型,其中更高性能的模型可以通过诸如精度之类的度量来衡量。
[0104]
示例列902指代表模型候选的字段。示例列904、906、908、910 和912表示模型候选在一时间实例处的预测。例如,列904是在第一时间处的预测。在图9的示例中,预测是“ok”(例如,可以、令人满意、良好等)或“nok
”ꢀ
(例如,不好、不满意、差)。示例故障率(例如,列
914)是对螺钉驱动装配线如何产生误差的预测。例如,3%的故障率意味着制造过程中存在约3%的缺陷。
[0105]
示例行916指模型候选a1,示例行918指模型候选a2,而示例行 920指模型候选a3。机器人a的平均故障率(例如,多数投票故障率)由行 922表示。示例行924指机器人b的平均故障率并且示例行926指机器人c的平均故障率。
[0106]
在第一时间实例处(例如,列904)针对行916中的模型候选a1,针对螺钉驱动装配线的预测为“nok”(例如,不可以)。然而,随着更多时间的流逝,诸如在第二时间实例处(例如,列906),螺钉驱动装配线的预测为“ok
”ꢀ
(例如,可以)。随着更多时间的流逝,螺钉驱动装配线的预测稳定在0.9% (例如,列914)故障率。行918中的第二模型候选a2预测螺钉驱动装配线的故障率为3%,而行920中的第三候选模型a3预测螺钉驱动装配线的故障率为4%。根据相对应螺钉驱动装配线的故障率的平均值,真实(例如,准确、可靠、一致同意)故障率约为1%。机器人b预测故障率为1.2%,如行924所示,而机器人c预测故障率为0.8%,如行926所示。机器人a使用机器人b 和机器人c的故障率预测,以去除预测螺钉驱动装配线故障率为0.4%的离群模型a3和预测螺钉驱动装配线故障率为3%的离群模型a2。模型a3预测的正向率低于真实正向率,并且工厂产生的误差高于模型a3预测的误差。模型 a2预测的正向率高于真实正向率,因为工厂产生的误差小于模型a2预测的误差。两种型号(例如,a2或a3)都效率低。在图9的示例中,产生0.9%故障率的模型a1存储在图4的人工智能模型储存库404中。
[0107]
公开了对执行相同任务的多个不同机器人的候选模型预测的示例。故障率是在每个模型候选的某一时间段内测量的。由示例智能部署电路系统使用每个机器人每个时间步长处的多数投票结果作为每个机器人每个时间步长处的预测结果。在全局更改已触发三个机器人上的模型更新过程后,这三个机器人与其他机器人通信并确定任务的平均故障率(在该示例中为1%)。然后,单个机器人上的示例智能部署电路系统将逐渐向与新的全局平均故障率更好匹配的模型候选赋予更多权重。
[0108]
在一些示例中,图9是示例管理控制台(例如,视觉显示器、监测站、仪器面板、仪表板等),其中生物实体(诸如人类)可跟踪模型的演进集成。例如,人类(工程师、工人、工头、数据科学家等)可跟踪模型的性能,并响应于由人类做出的确定进行干预(例如,调节模型)。在这些示例中,模型的不同特性(例如,配置)可显示给个人。在一些示例中,模型的不同特性 (例如,配置)可显示给人类。在一些示例中,机器学习算法是在不需要人工干预的情况下自动跟踪模型的性能。示例管理控制台可以在本地(例如,在工厂)或远程(例如,在数据处理中心)可见。在一些示例中,示例管理控制台可由如图10a和10b所述的iot设备(例如,无线手机、独立设备等)来实现。
[0109]
在一些示例中,候选模型可以是简档配置的,使得第一工厂使用候选模型,同时具有不同简档的第二工厂可以微调该模型。
[0110]
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节点或设备中的任一者可以基于图10a和图10b中所描绘的组件来实现。相应的边缘计算节点可以被具体化为能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或其他“物”的类型。例如,边缘计算设备可以被具体化为个人计算机,服务器,智能手机,移动计算设备,智能装置,机载计算系统(例如,导航系统),具有外箱、外壳的自包含设备等,或能够执行所
描述的功能的其他设备或系统。
[0111]
在图10a中描绘的简化示例中,边缘计算节点1000包括计算引擎 (本文中也称为“计算电路系统”)1002、输入/输出(i/o)子系统1008、数据存储 1010、通信电路子系统1012,以及任选地,一个或多个外围设备1014。在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机中发现的那些组件(例如,显示器、外围设备等)。附加地,在一些示例中,说明性组件中的一个或多个可被并入到另一组件中,或以其他方式形成另一组件的部分。
[0112]
计算节点1000可被具体化为能够执行各种计算功能的任何类型的引擎、设备、或设备集合。在一些示例中,计算节点1000可被具体化为单个设备,诸如集成电路、嵌入式系统、现场可编程门阵列(fpga)、芯片上系统(soc)或者其他集成系统或设备。在说明性示例中,计算节点1000包括或被具体化为处理器1004和存储器1006。处理器1004可被具体化为能够执行本文中所描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器 1004可被具体化为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他处理器或处理/控制电路。
[0113]
在一些示例中,处理器1004可被具体化为、包括或耦合至fpga、专用集成电路(asic)、可重新配置的硬件或硬件电路系统、或用于促进本文中所描述的功能的执行的其他专用硬件。而且在一些示例中,处理器704可被具体化为专用x处理单元(xpu),也称为数据处理单元(dpu)、基础设施处理单元(ipu)或网络处理单元(npu)。此类xpu可具体化为独立电路或电路封装、集成在soc内或与联网电路系统(例如,在智能nic或增强型智能nic中)集成、加速电路系统、存储设备或ai硬件(例如,gpu或编程 fpga)。在cpu或通用处理硬件之外,此类xpu可被设计成用于接收编程以处理一个或多个数据流并执行针对数据流的特定任务和动作(诸如主控微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格、或收集和分发遥测)。然而,将理解,xpu、soc、cpu和处理器1004的其他变体可以彼此协调工作,以在计算节点1000内并代表计算节点1000执行许多类型的操作和指令。
[0114]
存储器1006可被具体化为能够执行本文中所述的功能的任何类型的易失性(例如,动态随机存取存储器(dram)等)或非易失性存储器或数据存储。易失性存储器可以是需要功率来维持由该介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器 (ram),诸如dram或静态随机存取存储器(sram)。可以在存储器模块中使用的一种特定类型的dram是同步动态随机存取存储器(sdram)。
[0115]
在示例中,存储器设备是块可寻址存储器设备,诸如基于nand 或nor技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备 (例如,3d xpoint
tm
存储器)或其他字节可寻址的原位写入非易失性存储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示例中,3d交叉点存储器(例如,3d xpoint
tm
存储器)可包括无晶体管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器1006的全部或部分可以被集成到处理器1004中。存储器1006可以存储在操作期间使用的各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序操作的数据。
[0116]
计算电路系统1002经由i/o子系统1008通信地耦合到计算节点1000的其他组件,
该i/o子系统1008可被具体化为用于促进与计算电路系统 1002(例如,与处理器1004和/或主存储器1006)以及计算电路系统1002的其他组件的输入/输出操作的电路系统和/或组件。例如,i/o子系统1008可被具体化为或以其他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中,i/o子系统1008可以形成芯片上系统(soc)的部分,并可连同计算电路系统1002的处理器1004、存储器1006、和其他组件中的一者或多者一起被并入到计算电路系统1002中。
[0117]
一个或多个说明性数据存储设备1010可被具体化为被配置成用于数据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备1010 可包括存储用于数据存储设备1010的数据以及固件代码的系统分区。各个数据存储设备1010还可包括根据例如计算节点1000的类型来存储用于操作系统的数据文件和可执行文件的一个或多个操作系统分区。
[0118]
通信电路系统1012可被具体化为能够实现通过网络在计算电路系统1002与其他计算设备(例如,边缘计算系统的边缘网关)之间进行的通信的任何通信电路、设备或其集合。通信电路系统1012可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协议(诸如3gpp 4g或5g标准)、无线局域网协议(诸如ieee 802.11/)、无线广域网协议,以太网、蓝牙低能量、iot协议 (诸如ieee 802.15.4或zig)、低功率广域网(lpwan)或低功率广域网(lpwa)协议等)来实行此类通信。
[0119]
说明性通信电路系统1012包括网络接口控制器(nic)1020,其也可被称为主机结构接口(hfi)。nic 1020可被具体化为一个或多个插入式板、子卡、网络接口卡、控制器芯片、芯片组或可由计算节点1000用来与另一计算设备(例如,边缘网关节点)连接的其他设备。在一些示例中,nic 1020 可被具体化为包括一个或多个处理器的芯片上系统(soc)的部分,或nic 1020 可被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,nic 1020可包括本地处理器(未示出)和/或本地存储器(未示出),这两者均位于nic 1020本地。在此类示例中,nic 1020的本地处理器可以能够执行本文中描述的计算电路系统1002的功能中的一个或多个功能。附加地或替代地,在此类示例中,nic 1020的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集成到客户端计算节点的一个或多个组件中。
[0120]
附加地,在一些示例中,相应的计算节点1000可以包括一个或多个外围设备1014。取决于计算节点1000的特定类型,此类外围设备1014可包括在计算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点1000可以由边缘计算系统中的相应的边缘计算节点(无论是客户端、网关还是聚合节点)来具体化,或者由类似形式的装置、计算机、子系统、电路系统或其他组件来具体化。
[0121]
在更详细的示例中,图10b图示出可以存在于边缘计算节点1050 中的组件的示例的框图,该组件用于实现本文所描述的技术(例如,操作、工艺、方法和方法论)。该边缘计算节点1050在被实现为计算设备(例如,移动设备、基站、服务器、网关等)或计算设备(例如,移动设备、基站、服务器、网关等)的一部分时提供节点2100的相应组件的更靠近的视图。边
缘计算节点1050可包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点1050可包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与该任何设备耦合。这些组件可被实现为集成电路(ic)、ic的部分、分立电子器件,或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其适用于边缘计算节点1050中的组合,或作为以其他方式被并入在更大的系统的底座内的组件。
[0122]
边缘计算设备1050可包括处理器1052形式的处理电路系统,该处理电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xpu/dpu/ipu/npu、专用处理单元、专门处理单元,或其他已知的处理元件。处理器1052可以是芯片上系统(soc)的部分,在该soc中,处理器1052和其他组件形成为单个集成电路或单个封装,诸如来自加利福尼亚州圣克拉拉市的英特尔公司的爱迪生
tm
(edison
tm
)或伽利略
tm
(galileo
tm
) soc板。作为示例,处理器1052可包括基于架构酷睿
tm
(core
tm
)的 cpu处理器(诸如夸克
tm
(quark
tm
)、凌动
tm
(atom
tm
)、i3、i5、i7、i9 或mcu类处理器)、或可从获得的另一此类处理器。然而,可使用任何数量的其他处理器,诸如可从加利福尼亚州桑尼威尔市的超微半导体公司获得的处理器、来自加利福尼亚州桑尼威尔市的mips技术公司的基于的设计、许可自arm控股有限公司的基于的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自公司的a5-a13处理器、来自技术公司的骁龙
tm (snapdragon
tm
)处理器或来自德州仪器公司的omap
tm
处理器。处理器1052 和伴随的电路系统可以以单插座形状因子、多插座形状因子或各种其他格式提供,包括有限的硬件配置或包括少于图10b中所示的所有元件的配置。
[0123]
处理器1052可通过互连1056(例如,总线)来与系统存储器1054 通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器1054可以是根据联合电子器件工程委员会(jedec)设计的随机存取存储器(ram),诸如ddr或移动ddr标准(例如,lpddr、lpddr2、 lpddr3或lpddr4)。在特定示例中,存储器组件可符合jedec颁布的dram 标准,诸如ddr sdram的jesd79f、ddr2 sdram的jesd79-2f、ddr3 sdram的jesd79-3f、ddr4 sdram的jesd79-4a、低功率ddr(lpddr) 的jesd209、lpddr2的jesd209-2、lpddr3的jesd209-3和lpddr4的 jesd209-4。此类标准(和类似的标准)可被称为基于ddr的标准,而存储设备的实现此类标准的通信接口可被称为基于ddr的接口。在各种实现方式中,单独的存储器设备可以是任何数量的不同封装类型,诸如单管芯封装(sdp)、双管芯封装(ddp)或四管芯封装(q17p)。在一些示例中,这些设备可以直接焊接到主板上,以提供薄型解决方案,而在其他示例中,设备被配置为一个或多个存储器模块,这一个或多个存储器模块进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(dimm),包括但不限于microdimm (微dimm)或minidimm(迷你dimm)。
[0124]
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储,存储1058还可经由互连1056而耦合至处理器1052。在示例中,存储1058可经由固态盘驱动器(ssdd)来实现。可用于存储1058的其他设备包括闪存存储器卡(诸如安全数字(sd)卡、microsd卡、极限数字(xd)图片卡,等等)和通用串行总线(usb)闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫属化物玻璃的存储器设备、多阈值级别nand闪存存储器、 nor闪存存储器、单
级或多级相变存储器(pcm)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(fetram)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储器(mram)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(cb-ram)的电阻式存储器、或自旋转移力矩(stt)
ꢀ‑
mram、基于自旋电子磁结存储器的设备、基于磁隧穿结(mtj)的设备、基于dw(畴壁)和sot(自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存储器的组合。
[0125]
在低功率实现方式中,存储1058可以是与处理器1052相关联的管芯上存储器或寄存器。然而,在一些示例中,存储1058可使用微硬盘驱动器 (hdd)来实现。进一步地,附加于或替代所描述的技术,可将任何数量的新技术用于存储1058,诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
[0126]
组件可通过互连1056进行通信。互连1056可包括任何数量的技术,包括工业标准架构(isa)、扩展isa(eisa)、外围组件互连(pci)、外围组件互连扩展(pcix)、pci express(pci快速,pcie)或任何数量的其他技术。互连1056可以是例如在基于soc的系统中使用的专有总线。其他总线系统可被包括,诸如集成电路间(i2c)接口、串行外围设备接口(spi)接口、点对点接口、以及功率总线,等等。
[0127]
互连1056可将处理器1052耦合至收发器1066,以用于例如与连接的边缘设备1062通信。收发器1066可使用任何数量的频率和协议,诸如ieee 802.15.4标准下的2.4千兆赫兹(ghz)传输,使用如由特别兴趣小组定义的低能量(ble)标准、或zig标准,等等。为特定的无线通信协议配置的任何数量的无线电可用于到连接的边缘设备1062的连接。例如,无线局域网(wlan)单元可用于根据电气和电子工程师协会(ieee)802.11标准实现通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由无线广域网(wwan)单元发生。
[0128]
无线网络收发器1066(或多个收发器)可以使用用于不同范围的通信的多种标准或无线电来进行通信。例如,边缘计算节点1050可使用基于蓝牙低能量(ble)或另一低功率无线电的本地收发器与接近的(例如,在约10 米内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设备1062可通过zig或其他中间功率的无线电而联络到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者可通过分开的收发器而发生,分开的收发器例如使用ble的本地收发器和分开的使用zig的网格收发器。
[0129]
可包括无线网络收发器1066(例如,无线电收发器),以经由局域网协议或广域网协议来与云(例如,边缘云1095)中的设备或服务通信。无线网络收发器1066可以是遵循ieee 802.15.4或ieee 802.15.4g标准等的低功率广域(lpwa)收发器。边缘计算节点1050可使用由semtech和lora联盟开发的lorawan
tm
(长距离广域网)在广域上通信。本文中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如sigfox和其他技术)的任何数量的其他云收发器一起使用。进一步地,可使用其他通信技术,诸如在 ieee 802.15.4e规范中描述的时分信道跳。
[0130]
除了针对如本文中所描述的无线网络收发器1066而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如,收发器1066可包括使用扩展频谱(spa/sas)通信以实现高速通信的蜂窝收发器。进一步地,可使用任何数量的其他协议,诸如用于中速通信和供应网络通信的网络。收发器1066可包括与任何数量的3gpp(第三代合作伙伴计
划)规范(诸如在本公开的末尾处进一步详细讨论的长期演进(lte)和第五代(5g)通信系统) 兼容的无线电。网络接口控制器(nic)1068可被包括以提供到边缘云1095 的节点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备1062) 的有线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器区域网(can)、本地互连网(lin)、设备网络(devicenet)、控制网络(controlnet)、数据高速路 、现场总线(profibus)或工业以太网(profinet),等等。附加的nic 1068可被包括以启用到第二网络的连接,例如,第一nic 1068通过以太网提供到云的通信,并且第二nic 1068通过另一类型的网络提供到其他设备的通信。
[0131]
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备使用的可适用通信电路系统可以包括组件1064、1066、1068或1070中的任何一个或多个,或由组件1064、1066、1068或1070中的任何一个或多个来具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电路系统来具体化。
[0132]
边缘计算节点1050可以包括或被耦合到加速电路系统1064,该加速电路系统1064可以由一个或多个人工智能(ai)加速器、神经计算棒、神经形态硬件、fpga、gpu的布置、一个或多个soc、一个或多个cpu、一个或多个数字信号处理器、专用asic、或被设计用于完成一个或多个专有任务的其他形式的专用处理器或电路系统来具体化。这些任务可以包括ai处理(包括机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理和服务操作的特定边缘计算任务。
[0133]
互连1056可将处理器1052耦合至用于连接附加的设备或子系统的传感器中枢或外部接口1070。设备可包括传感器1072,诸如加速度计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(例如,gps)传感器、压力传感器、气压传感器,等等。中枢或接口1070 可进一步用于将边缘计算节点1050连接至致动器1074,诸如功率开关、阀致动器、可听声音发生器、视觉警告设备等。
[0134]
在一些任选的示例中,各种输入/输出(i/o)设备可存在于边缘计算节点1050内,或可连接至边缘计算节点1050。例如,可包括显示器或其他输出设备1084来显示信息,诸如传感器读数或致动器位置。可以包括输入设备1086(诸如触摸屏或小键盘)来接受输入。输出设备1084可包括任何数量的音频或视觉显示形式,包括:简单视觉输出,诸如二进制状态指示器(例如,发光二极管(led));多字符视觉输出;或更复杂的输出,诸如显示屏(例如,液晶显示器(lcd)屏),其具有从边缘计算节点1050的操作生成或产生的字符、图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可用于:提供边缘计算系统的输出并接收边缘计算系统的输入;管理边缘计算系统的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理或管理功能或服务用例。
[0135]
电池1076可为边缘计算节点1050供电,但是在其中边缘计算节点 1050被安装在固定位置的示例中,该边缘计算节点1050可具有耦合至电网的电源,或者电池可以用作备用或用于临时功能。电池1076可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
[0136]
电池监测器/充电器1078可被包括在边缘计算节点1050中以跟踪电池1076(如果包括的话)的充电状态(soch)。电池监测器/充电器1078可用于监测电池1076的其他参数以
提供失效预测,诸如电池1076的健康状态(soh)和功能状态(sof)。电池监测器/充电器1078可包括电池监测集成电路,诸如来自线性技术公司(lineartechnologies)的ltc4020或ltc2990、来自亚利桑那州的凤凰城的安森美半导体公司(onsemiconductor)的adt7488a、或来自德克萨斯州达拉斯的德州仪器公司的ucd90xxx族的ic。电池监测器/充电器1078可通过互连1056将关于电池1076的信息传输至处理器1052。电池监测器/充电器1078也可包括使处理器1052能够直接监视电池1076的电压或来自电池1076的电流的模数(adc)转换器。电池参数可被用于确定边缘计算节点1050可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
[0137]
功率块1080或耦合至电网的其他电源可与电池监测器/充电器1078耦合以对电池1076充电。在一些示例中,功率块1080可用无线功率接收机代替,以便例如通过边缘计算节点1050中的环形天线来无线地获得功率。无线电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的ltc4020芯片,等等)可被包括在电池监测器/充电器1078中。可以基于电池1076的尺寸并且因此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(airfuelalliance)颁布的airfuel标准、由无线电力协会(wirelesspowerconsortium)颁布的qi无线充电标准、或由无线电力联盟(allianceforwirelesspower)颁布的rezence充电标准等等来执行充电。
[0138]
存储1058可包括用于实现本文中公开的技术的软件、固件或硬件命令形式的指令1082。虽然此类指令1082被示出为被包括在存储器1054和存储1058中的代码块,但是可以理解,可用例如被建立到专用集成电路(asic)中的硬连线电路来代替代码块中的任一个。
[0139]
在示例中,经由存储器1054、存储1058或处理器1052提供的指令1082可被具体化为非瞬态机器可读介质1060,该非瞬态机器可读介质1060包括用于引导处理器1052执行边缘计算节点1050中的电子操作的代码。处理器1052可通过互连1056来访问非瞬态机器可读介质1060。例如,非瞬态机器可读介质1060可由针对存储1058所描述的设备来具体化,或者可包括特定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质1060可包括用于指示处理器1052执行例如像参照上文中描绘的操作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文中所使用,术语“机器可读介质”和“计算机可读介质”是可互换的。
[0140]
而且,在特定示例中,处理器1052上的指令1082(单独地或与机器可读介质1060的指令1082结合)可以配置受信任执行环境(tee)1090的执行或操作。在示例中,tee1090作为处理器1052可访问的保护区域来操作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用软件防护扩展(sgx)或trust硬件安全扩展、管理引擎(me)或融合安全可管理性引擎(csme)来提供tee1090的各种实现方式以及处理器1052或存储器1054中伴随的安全区域。安全强化、硬件信任根、和受信任或受保护操作的其他方面可以通过tee1090和处理器1052在边缘计算设备1050中实现。
[0141]
图11是被构造以执行和/或实例化图6-图7的机器可读指令和/或操作以实现图4的模型更新控制器电路系统410的示例处理器平台1100的框图。处理器平台1100可以是例如,服务器、个人计算机、工作站、自学习机(例如,神经网络)、移动设备(例如,手机、智能电话、诸如ipad
tm
之类的平板)、个人数字助理(pda)、互联网设备、dvd播放器、cd播放器、数字
视频记录仪、蓝光播放器、游戏控制台、个人视频记录仪、机顶盒、耳机(例如,增强现实(ar)耳机、虚拟现实(vr)耳机等)或其他可穿戴设备、或任何其他类型的计算设备。
[0142]
所图示示例的处理器平台1100包括处理器电路系统1112。所图示示例的处理器电路系统1112是硬件。例如,处理器电路系统1112可以由来自任何所期望的系列或制造商的一个或多个集成电路、逻辑电路、fpga、微处理器、cpu、gpu、dsp和/或微控制器实现。处理器电路系统1112可以由一个或多个基于半导体的(例如,基于硅)器件来实现。在该示例中,处理器电路系统1112实现示例数据接口电路系统502、示例环境数据接口电路系统504、示例智能触发器电路系统506、示例自动模型搜索电路系统508和示例智能部署电路系统510。
[0143]
所图示示例的处理器电路系统1112包括本地存储器1113(例如,高速缓存、寄存器等)。所图示示例的处理器电路系统1112经由总线1118而与包括易失性存储器1114和非易失性存储器1116的主存储器进行通信。易失性存储器1114可由同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、动态随机存取存储器和/或任何其他类型的ram设备实现。非易失性存储器1116可由闪存存储器和/或任何其他所期望类型的存储器设备实现。由存储器控制器1117控制对所图示示例的主存储器1114、1116的访问。
[0144]
所图示示例的处理器平台1100还包括接口电路系统1120。接口电路系统1120可以由根据任何类型的接口标准的硬件实现,诸如以太网接口、通用串行总线(usb)接口、蓝牙(bluetooth)接口、近场通信(nfc)接口、 pci接口和/或pcie接口。
[0145]
在所图示的示例中,一个或多个输入设备1122被连接至接口电路系统1120。(多个)输入设备1122准许用户将数据和/或命令输入到处理器电路系统1112中。(多个)输入设备1122可以由例如音频传感器、话筒、相机 (静态或视频)、键盘、按钮、鼠标、触摸屏、轨迹板、轨迹球、等点鼠标(isopoint) 设备和/或语音识别系统实现。
[0146]
一个或多个输出设备1124也被连接至所图示示例的接口电路系统 1120。输出设备1124可例如由显示设备(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)、阴极射线管(crt)显示器、面内切换(ips)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所图示示例的接口电路系统1120典型地包括图形驱动器卡、图形驱动器芯片和/或诸如gpu之类的图形处理器电路系统。
[0147]
所图示示例的接口电路系统1120还包括诸如发射器、接收器、收发器、调制解调器、住宅网关、无线接入点、和/或网络接口之类的通信设备,以促进经由网络1126与外部机器(例如,任何种类的计算设备)交换数据。通信可以经由例如,以太网连接、数字订户线路(dsl)连接、电话线连接、同轴电缆系统、卫星系统、直线对传式无线系统、蜂窝电话系统、光连接等。
[0148]
所图示示例的处理器平台1100还包括用于存储软件和/或数据的一个或多个大容量存储设备1128。此类大容量存储设备1128的示例包括磁性存储设备、光存储设备、软盘驱动器、hdd、cd、蓝光盘驱动器、独立磁盘冗余阵列(raid)系统、固态存储设备(诸如闪存存储器设备)和dvd驱动器。
[0149]
可由图6-图7的机器可读指令来实现的机器可执行指令1132可以被存储在大容量存储设备1128中,存储在易失性存储器1114中,存储在非易失性存储器1116中,和/或存储在诸如cd或dvd之类的可移除非瞬态计算机可读存储介质上。
[0150]
图12是图11的处理器电路系统1112的示例实现方式的框图。在该示例中,图11的处理器电路系统1112由微处理器1200来实现。例如,微处理器1200可以实现多核硬件电路系统,诸如cpu、dsp、gpu、xpu等。尽管它可以包括任意数量的示例核1202(例如,1个核),但本示例的微处理器1200是包括n个核的多核半导体器件。微处理器1200的核1202可以独立操作,或者可以协作执行机器可读指令。例如,与固件程序、嵌入式软件程序或软件程序相对应的机器代码可以由核1202中的一个来执行,或者可以由核 1202中的多个在相同或不同的时间执行。在一些示例中,与固件程序、嵌入式软件程序或软件程序相对应的机器代码被分割成线程,并由两个或多个核1202 并行执行。软件程序可与由图6-图7的流程图表示的机器可读指令和/或操作的部分或全部相对应。
[0151]
核1202可以通过示例第一总线1204进行通信。在一些示例中,第一总线1204可以实现通信总线,用于实行与核1202中的一个(多个)相关联的通信。例如,第一总线1204可以实现内部集成电路(i2c)总线、串行外围接口(spi)总线、pci总线或pcie总线中的至少一个。另外或替代地,第一总线1204可以实现任何其他类型的计算或电气总线。核1202可以通过示例接口电路系统1206从一个或多个外部设备获取数据、指令和/或信号。核1202 可以通过接口电路系统1206向一个或多个外部设备输出数据、指令和/或信号。尽管该示例的核1202包括示例本地存储器1220(例如,可被拆分为l1数据高速缓存和l1指令高速缓存的一级(l1)高速缓存),但微处理器1200还包括可由核共享的示例共享存储器1210(例如,二级(l2_高速缓存)),以用于高速访问数据和/或指令。数据和/或指令可以通过写入共享存储器1210和/ 或从共享存储器1210读取来传输(例如,共享)。核1202中的每一个的本地存储器1220和共享存储器1210可以是包括多级高速缓存存储器和主存储器 (例如,图11的主存储器1114、1116)的存储设备的层次结构的一部分。通常,层次结构中较高级别的存储器比较低级别的存储器表现出较低的访问时间和较小的存储容量。高速缓存层次结构的各级别中的更改由高速缓存一致性策略管理(例如,协调)。
[0152]
每个核1202可被称为cpu、dsp、gpu等,或任何其他类型的硬件电路系统。每个核1202包括控制单元电路系统1214、算术和逻辑(al)电路系统(有时称为alu)1216、多个寄存器1218、l1高速缓存1220和示例第二总线1222。可能存在其他结构。例如,每个核1202可以包括向量单元电路系统、单指令多数据(simd)单元电路系统、加载/存储单元(lsu)电路系统、分支/跳转单元电路系统、浮点单元(fpu)电路系统等。控制单元电路系统1214包括基于半导体的电路,其构造成用于控制(例如,协调)相对应核1202内的数据移动。al电路系统1216包括基于半导体的电路,其构造成对相对应核1202内的数据执行一个或多个数学和/或逻辑运算。一些示例中的 al电路系统1216执行基于整数的运算。在其他示例中,al电路系统1216还执行浮点运算。在又一个示例中,al电路系统1216可包括执行基于整数的运算的第一al电路系统和执行浮点运算的第二al电路系统。在一些示例中, al电路系统1216可被称为算术逻辑单元(alu)。寄存器1218是基于半导体的结构,用于存储数据和/或指令,诸如由相对应核1202的al电路系统1216 执行的运算的一个或多个的结果。例如,寄存器1218可以包括(多个)向量寄存器、(多个)simd寄存器、(多个)通用寄存器、(多个)标志寄存器、 (多个)段寄存器、(多个)机器专用寄存器、(多个)指令指针寄存器、(多个)控制寄存器、(多个)调试寄存器、(多个)存储器管理寄存器、(多个) 机器检查寄存器等。寄存器1218可布置在如图12所示的组中。或者,寄存器 1218可以以任何其他安排、格式或结构组织,包括分布
在整个核1202中以缩短访问时间。第二总线1222可以实现i2c总线、spi总线、pci总线或pcie 总线中的至少一个。
[0153]
每个核1202和/或更一般地说,微处理器1200可包括如上示出和描述的结构之外的附加和/或替代结构。例如,可能存在一个或多个时钟电路、一个或多个电源、一个或多个功率栅、一个或多个高速缓存主代理(cha)、一个或多个聚合/公共网格站点(cms)、一个或多个移位器(例如,(多个) 桶形移位器)和/或其他电路系统。微处理器1200是一种半导体器件,其被制造成包括许多相互连接的晶体管,以在包含在一个或多个封装中的一个或多个集成电路(ic)中实现上述结构。处理器电路系统可以包括和/或与一个或多个加速器协作。在一些示例中,加速器由逻辑电路系统来实现,以比通用处理器更快和/或更有效地执行某些任务。加速器的示例包括asic和fpga,诸如本文所讨论的。gpu或其他可编程设备也可以是加速器。加速器可以安装在处理器电路系统上,与处理器电路系统在同一芯片封装中,和/或与处理器电路系统分离的一个或多个单独的封装中。
[0154]
图13是图11的处理器电路系统1112的另一个示例实现方式的框图。在此示例中,处理器电路系统1112由fpga电路系统1300实现。例如, fpga电路系统1300可用于执行否则可由执行相对应机器可读指令的图12的示例微处理器1200执行的操作。然而,一旦配置,fpga电路系统1300在硬件中实例化机器可读指令,因此,通常可以比执行相对应软件的通用微处理器执行操作更快地执行操作。
[0155]
更具体而言,与上面描述的图12的微处理器1200不同(微处理器 1200是通用设备,可编程为执行图6-图7的流程图表示的机器可读指令的部分或全部,但其互连和逻辑电路系统在制造后是固定的),图13的示例的fpga 电路系统1300包括互连和逻辑电路系统,这些互连和逻辑电路系统可以在制造之后以不同的方式配置和/或互连,以实例化例如由图6-图7的流程图表示的机器可读指令的部分或全部。特别地,fpga 1300可以被认为是逻辑门、互连和开关的阵列。可以对开关进行编程,以改变逻辑门通过互连进行互连的方式,从而有效地形成一个或多个专用逻辑电路(除非和直到fpga电路系统 1300被重新编程)。配置的逻辑电路使逻辑门能够以不同的方式协作,来对输入电路系统接收的数据执行不同的操作。这些操作可与由图6-图7的流程图表示的软件的部分或全部相对应。因此,fpga电路系统1300可以被构造成有效地实例化图6-图7的流程图的机器可读指令的部分或全部作为专用逻辑电路,以类似于asic的专用方式执行与这些软件指令相对应的操作。因此,fpga 电路系统1300可执行与图6-图7的机器可读指令的部分或全部相对应的操作的速度快于通用微处理器执行相同的操作的速度。
[0156]
在图13的示例中,fpga电路系统1300被构造成由终端用户通过诸如verilog之类的硬件描述语言(hdl)编程(和/或重新编程一次或多次)。图13的fpga电路1300包括示例输入/输出(i/o)电路系统1302,以从示例配置电路系统1304和/或外部硬件(例如,外部硬件电路系统)1306获得数据和/或向示例配置电路系统1304和/或外部硬件(例如,外部硬件电路系统)1306 输出数据。例如,配置电路系统1304可实现接口电路系统,该接口电路系统可获得机器可读指令以配置fpga电路系统1300或其(多个)部分。在一些此类示例中,配置电路系统1304可以从用户、机器(例如,可以实现人工智能/机器学习(ai/ml)模型以生成指令的硬件电路系统(例如,编程或专用电路系统)等获取机器可读指令。在一些示例中,外部硬件1306可以实现图13 的微处理器1300。fpga电路系统1300还包括示例逻辑门电路系统
1308的阵列、多个示例可配置互连1310和示例存储电路系统1312。逻辑门电路系统1308 和互连1310可配置成用于实例化一个或多个操作,这些操作可与图6-图7的至少一些机器可读指令和/或其他期望操作相对应。图13所示的逻辑门电路系统1308是成组或分块制造的。每个块包括可以配置为逻辑电路的基于半导体的电气结构。在一些示例中,电气结构包括为逻辑电路提供基本构建块的逻辑门(例如,和门、或门、或非门等)。电可控开关(例如,晶体管)存在于逻辑门电路系统1308中的每个中,以使得能够配置电气结构和/或逻辑门以形成电路来执行期望操作。逻辑门电路系统1308可以包括其他电气结构,诸如查找表(lut)、寄存器(例如,触发器或锁存器)、多路复用器等。
[0157]
所示示例的互连1310是导电路径、迹线、过孔等,其可包括电可控开关(例如,晶体管),其状态可通过编程(例如,使用hdl指令语言) 来改变以激活或停用逻辑门电路系统1308的一个或多个之间的一个或多个连接,以编程期望的逻辑电路。
[0158]
所示示例的存储电路系统1312被构造成用于存储由相对应逻辑门执行的一个或多个操作的(多个)结果。存储电路系统1312可以通过寄存器等来实现。在所示的示例中,存储电路系统1312分布在逻辑门电路系统1308 之间,以促进访问并提高执行速度。
[0159]
图13的示例fpga电路系统1300还包括示例专用操作电路系统1314。在该示例中,专用操作电路系统1314包括专用电路系统1316,可以调用该专用电路系统1316来实现常用功能,以避免需要在现场编程这些功能。此类专用电路系统1316的示例包括存储器(例如,dram)控制器电路系统、 pcie控制器电路系统、时钟电路系统、收发器电路系统、存储器和乘法器-累加器电路系统。可能存在其他类型的专用电路系统。在一些示例中,fpga电路系统1300还可以包括示例通用可编程电路系统1318,诸如示例cpu 1320 和/或示例dsp 1322。其他通用可编程电路系统1318可以附加地或替代地存在,诸如gpu、xpu等,其可以被编程以执行其他操作。
[0160]
尽管图12和13示出了图11的处理器电路系统1112的两个示例实现方式,考虑许多其他方法。例如,如上所述,现代fpga电路系统可以包括机载cpu,诸如图13的示例cpu 1320中的一个或多个。因此,图11的处理器电路系统1112可附加地通过组合图12的示例微处理器1200和图13的示例 fpga电路系统1300来实现。在一些此类混合示例中,由图6-图7的流程图表示的机器可读指令的第一部分可由图12的核1202中的一个或多个执行并且图6-图7的流程图表示的机器可读指令的第二部分可由图13的fpga电路系统1300执行。
[0161]
在一些示例中,图11的处理器电路系统1112可以在一个或多个封装中。例如,图11的处理器电路系统1112和/或图13的fpga电路系统1300 可以在一个或多个封装中。在一些示例中,xpu可由图11的处理器电路系统 1112来实现,该处理器电路系统2012可以在一个或多个封装中。例如,xpu 可包括一个封装中的cpu、另一个封装中的dsp、又另一个封装中的gpu和再另一个封装中的fpga。
[0162]
图11图示了图示将诸如图11的示例机器可读指令1132之类的软件分发给由第三方拥有和/或操作的硬件设备的示例软件分发平台1405的框图。示例软件分发平台1405可以由能够存储软件并将软件传送到其他计算设备的任何计算机服务器、数据设施、云服务等来实现。第三方可以是拥有和/或操作软件分发平台1405的实体的客户。例如,拥有和/或操作软件分发平台1405 的实体可以是软件(诸如图11的示例机器可读指令1132)的开发方、销售方、和/或许可方。第三方可以是消费方、用户、零售商、oem等,他们购买和/ 或许可
软件以用于使用和/或转售和/或分许可。在所图示的示例中,软件分发平台1405包括一个或多个服务器和一个或多个存储设备。存储设备存储机器可读指令1132,该机器可读指令1132可以与图6-图7的示例计算机可读指令 600和700相对应,如上文所描述。示例软件分发平台1405的一个或多个服务器与网络1410通信,该网络1410可以与互联网和/或上文所述示例网络1410 中的任一个的任何一个或多个相对应。在一些示例中,作为商业事务的一部分,一个或多个服务器响应于将软件传送到请求方的请求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处理用于软件的交付、销售、和 /或许可的支付。服务器使购买方和/或许可方能够从软件分发平台1405下载机器可读指令1132。例如,软件(其可与图11的示例机器可读指令1132相对应) 可被下载到示例处理器平台1100,该示例处理器平台用于执行机器可读指令 1132以实现模型更新控制器电路系统410。在一些示例中,软件分发平台1405 的一个或多个服务器周期性地提供、传送和/或强制进行软件(例如,图11的示例机器可读指令1132)更新以确保改善、补丁、更新等被分发并应用于终端用户设备处的软件。
[0163]
根据前述内容,将会领悟,已经公开了在无需使用人工监督的情况下自动更新自主工厂的人工智能模型的示例方法、装置和制品。所公开的方法、装置和制品通过减少浪费的资源和低效率来提高使用计算设备的效率,因为正在运行预测工厂中制造过程的故障率的次优模型。所公开的方法、装置和制品相对应地涉及计算机的功能的一个或多个改善。
[0164]
本文中公开了自动更新自主工厂的人工智能模型的示例方法、装置、系统和制品。进一步的示例及其组合包括以下内容:
[0165]
示例1包括一种用于自动更新在第一工厂生产线的数据上操作的人工智能模型的设备,该设备包括智能触发器电路系统,用于触发自动模型更新过程;自动模型搜索电路系统,用于响应于模型更新,而生成多个候选人工智能模型;以及智能模型部署电路系统,用于输出人工智能模型组合的预测以随着时间提高预测性能。
[0166]
示例2包括示例1的设备,其中智能触发器电路系统基于度量基线、来自在第一工厂生产线的数据上操作的第一人工智能模型的输出、元数据、以及来自第二人工智能模型的输出中的至少一个来触发模型更新,其中第二人工智能模型在第二工厂生产线的数据上操作。
[0167]
示例3包括示例2的设备,其中元数据包括环境传感器读数、设备配置和过程配置中的至少一个。
[0168]
示例4包括示例1的设备,进一步包括在第一工厂生产线的数据上操作的第一人工智能模型,其中自动搜索电路系统响应于智能触发器电路系统触发自动模型更新过程,而生成多个候选人工智能模型或从经训练的人工智能模型的储存库中选择多个候选人工智能模型。
[0169]
示例5包括示例4的设备,其中多个候选人工智能模型中的第一候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的模型架构,进一步包括基于新收集的数据来更新的模型参数。
[0170]
示例6包括示例4的设备,其中多个候选人工智能模型中的第二候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的类似模型架构,进一步包括超参数更新。
[0171]
示例7包括示例4的设备,其中多个候选人工智能模型中的第三候选人工智能模型实现了一种模型架构,该模型架构不基于在第一工厂生产线的数据上操作的第一人工智能模型的模型架构。
[0172]
示例8包括示例4的设备,其中自动模型搜索电路系统基于相似性分数和性能分数来从经训练的人工智能模型的储存库中选择第一候选人工智能模型。
[0173]
示例9包括示例4的设备,其中智能模型部署电路系统并行运行多个候选人工智能模型,并且智能模型部署电路系统基于多个候选人工智能模型的输出从多个候选人工智能模型中移除离群候选人工智能模型。
[0174]
示例10包括一种设备,该设备包括非瞬态计算机可读介质、该设备处的指令、逻辑电路,该逻辑电路执行指令至少用于:触发自动模型更新过程;响应于模型更新,而生成多个候选人工智能模型;以及输出人工智能模型组合的预测以随时间提高预测性能。
[0175]
示例11包括示例10的非瞬态计算机可读介质,其中指令在被执行时进一步使得逻辑电路用于:基于度量基线、来自在第一工厂生产线的数据上操作的第一人工智能模型的输出、元数据、以及来自第二人工智能模型的输出中的至少一个来触发模型更新,其中第二人工智能模型在第二工厂生产线的数据上操作。
[0176]
示例12包括示例11的非瞬态计算机可读介质,其中元数据包括环境传感器读数、设备配置和过程配置中的至少一个。
[0177]
示例13包括示例10的非瞬态计算机可读介质,进一步包括在第一工厂生产线的数据上操作的第一人工智能模型,其中指令在被执行时,进一步使得逻辑电路用于:响应于经触发的自动模型更新过程,而生成多个候选人工智能模型或从经训练的人工智能模型的储存库中选择多个候选人工智能模型。
[0178]
示例14包括示例13的非瞬态计算机可读介质,其中多个候选人工智能模型中的第一候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的模型架构,进一步包括基于新收集的数据来更新的模型参数。
[0179]
示例15包括示例13的非瞬态计算机可读介质,其中多个候选人工智能模型中的第二候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的类似模型架构,进一步包括超参数更新。
[0180]
示例16包括示例13的非瞬态计算机可读介质,其中多个候选人工智能模型中的第三候选人工智能模型实现了一种模型架构,该模型架构不基于在第一工厂生产线的数据上操作的第一人工智能模型的模型架构。
[0181]
示例17包括示例13的非瞬态计算机可读介质,其中指令在被执行时,进一步使得逻辑电路用于:基于相似性分数和性能分数来从经训练的人工智能模型储存库中选择第一候选人工智能模型。
[0182]
示例18包括示例13的非瞬态计算机可读介质,其中指令在被执行时,进一步使得逻辑电路用于:并行运行多个候选人工智能模型,并且基于多个候选人工智能模型的输出从多个候选人工智能模型中移除离群候选人工智能模型。
[0183]
示例19包括一种设备,该设备包括至少一个存储器、设备中的指令和处理器电路系统,该处理器电路系统包括:控制电路系统,用于控制处理器电路系统内的数据移动;算术和逻辑电路系统,用于对数据执行一个或多个操作;以及一个或多个寄存器,用于存储一
个或多个操作的结果,该处理器电路系统执行指令用于:触发自动模型更新过程;响应于模型更新,而生成多个候选人工智能模型;以及输出人工智能模型组合的预测以随时间提高预测性能。
[0184]
示例20包括示例19的设备,其中该处理器电路系统进一步执行指令用于:基于度量基线、来自在第一工厂生产线的数据上操作的第一人工智能模型的输出、元数据、以及来自第二人工智能模型的输出中的至少一个来触发模型更新,其中第二人工智能模型在第二工厂生产线的数据上操作。
[0185]
示例21包括示例20的设备,其中元数据包括环境传感器读数、设备配置和过程配置中的至少一个。
[0186]
示例22包括示例19的设备,进一步包括在第一工厂生产线的数据上操作的第一人工智能模型,其中响应于经触发的自动模型更新过程,处理器电路系统进一步执行指令用于生成多个候选人工智能模型或从经训练的人工智能模型的储存库中选择多个候选人工智能模型。
[0187]
示例23包括示例22的设备,其中多个候选人工智能模型中的第一候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的模型架构,进一步包括基于新收集的数据来更新的模型参数。
[0188]
示例24包括示例22的设备,其中多个候选人工智能模型中的第二候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的类似模型架构,进一步包括超参数更新。
[0189]
示例25包括示例22的设备,其中多个候选人工智能模型中的第三候选人工智能模型实现了一种模型架构,该模型架构不基于在第一工厂生产线的数据上操作的第一人工智能模型的模型架构。
[0190]
示例26包括示例22的设备,其中处理器电路系统进一步执行指令用于基于相似性分数和性能分数来从经训练的人工智能模型的储存库中选择第一候选人工智能模型。
[0191]
示例27包括示例22的设备,其中处理器电路系统进一步执行指令用于并行运行多个候选人工智能模型,并且基于多个候选人工智能模型的输出从多个候选人工智能模型中移除离群候选人工智能模型。
[0192]
示例28包括一种用于自动更新在第一工厂生产线的数据上操作的人工智能模型的方法,该方法包括:触发自动模型更新过程;响应于模型更新,而生成多个候选人工智能模型;以及输出人工智能模型组合的预测以随着时间提高预测性能。
[0193]
示例29包括示例28的方法,其中方法进一步包括基于度量基线、来自在第一工厂生产线的数据上操作的第一人工智能模型的输出、元数据、以及来自第二人工智能模型的输出中的至少一个来触发模型更新,其中第二人工智能模型在第二工厂生产线的数据上操作。
[0194]
示例30包括示例29的方法,其中元数据包括环境传感器读数、设备配置和过程配置中的至少一个。
[0195]
示例31包括示例28的方法,进一步包括第一人工智能模型在第一工厂生产线的数据上操作;响应于经触发的自动模型更新过程,生成多个候选人工智能模型或从经训练的人工智能模型的储存库中选择多个候选人工智能模型。
[0196]
示例32包括示例31的方法,其中多个候选人工智能模型中的第一候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的模型架构,进一步包括基于新收集的数据来更新的模型参数。
[0197]
示例33包括示例31的方法,其中多个候选人工智能模型中的第二候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的类似模型架构,进一步包括超参数更新。
[0198]
示例34包括示例31的方法,其中多个候选人工智能模型中的第三候选人工智能模型实现了一种模型架构,该模型架构不基于在第一工厂生产线的数据上操作的第一人工智能模型的模型架构。
[0199]
示例35包括示例31的方法,进一步包括基于相似性分数和性能分数来从经训练的人工智能模型的储存库中选择第一候选人工智能模型。
[0200]
示例36包括示例31的方法,进一步包括并行运行多个候选人工智能模型,并且基于多个候选人工智能模型的输出从多个候选人工智能模型中移除离群候选人工智能模型。
[0201]
示例37包括一种用于自动更新在第一工厂生产线的数据上操作的人工智能模型的设备,该设备包括:用于触发自动模型更新过程的装置;用于响应于模型更新而生成多个候选人工智能模型的装置;以及用于输出人工智能模型组合的预测以随着时间提高预测性能的装置。
[0202]
示例38包括示例37的设备,其中设备进一步包括用于基于度量基线、来自在第一工厂生产线的数据上操作的第一人工智能模型的输出、元数据、以及来自第二人工智能模型的输出中的至少一个来触发模型更新的装置,其中第二人工智能模型在第二工厂生产线的数据上操作。
[0203]
示例39包括示例38的设备,其中元数据包括环境传感器读数、设备配置和过程配置中的至少一个。
[0204]
示例40包括示例37的设备,进一步包括在第一工厂生产线上操作的第一人工智能模型,其中用于响应于用于触发自动模型更新过程的装置触发自动模型更新过程,进一步包括用于生成多个候选人工智能模型的装置或用于从经训练的人工智能模型的储存库中选择多个候选人工智能模型的装置。
[0205]
示例41包括示例40的设备,其中多个候选人工智能模型中的第一候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的模型架构,进一步包括基于新收集的数据来更新的模型参数。
[0206]
示例42包括示例40的设备,其中多个候选人工智能模型中的第二候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的类似模型架构,进一步包括超参数更新。
[0207]
示例43包括示例40的设备,其中多个候选人工智能模型中的第三候选人工智能模型实现了一种模型架构,该模型架构不基于在第一工厂生产线的数据上操作的第一人工智能模型的模型架构。
[0208]
示例44包括示例40的设备,进一步包括用于基于相似性分数和性能分数来从经训练的人工智能模型的储存库中选择第一候选人工智能模型的装置。
[0209]
示例45包括示例40的设备,进一步包括用于并行运行多个候选人工智能模型的装
置,以及用于基于多个候选人工智能模型的输出从多个候选人工智能模型中移除离群候选人工智能模型的装置。
[0210]
示例46包括一种系统,该系统包括与第一工厂生产线的工厂条件相对应的第一物联网(iot)传感器,与第二工厂生产线的工厂条件相对应的第二iot传感器,模型更新设备,包括:智能触发器电路系统,用于接收来自第一iot传感器和第二iot传感器的元数据,该智能触发器电路系统用于更新在第一工厂生产线的数据上操作的至少一个人工智能模型;自动模型搜索电路系统,用于响应于模型更新,而生成多个候选人工智能模型;以及智能模型部署电路系统,用于输出人工智能模型组合的预测以随着时间提高预测性能。
[0211]
示例47包括示例46的系统,其中模型更新设备接收来自第一iot 传感器和第二iot传感器的元数据,并且响应来自第一iot传感器的元数据和第二iot传感器的元数据之间的相似性阈值,而触发模型更新。
[0212]
示例48包括示例46的系统,其中智能触发器电路系统基于度量基线、来自在第一工厂生产线的数据上操作的第一人工智能模型的输出、元数据、以及来自第二人工智能模型的输出中的至少一个来触发模型更新,其中第二人工智能模型在第二工厂生产线的数据上操作。
[0213]
示例49包括示例48的系统,其中元数据包括环境传感器读数、设备配置和过程配置中的至少一个。
[0214]
示例50包括示例46的系统,进一步包括在第一工厂生产线的数据上操作的第一人工智能模型,其中自动搜索电路系统响应于智能触发器电路系统触发自动模型更新过程,而生成多个候选人工智能模型或从经训练的人工智能模型的储存库中选择多个候选人工智能模型。
[0215]
示例51包括示例50的系统,其中多个候选人工智能模型中的第一候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的模型架构,进一步包括基于新收集的数据来更新的模型参数。
[0216]
示例52包括示例50的系统,其中多个候选人工智能模型中的第二候选人工智能模型实现了在第一工厂生产线的数据上操作的第一人工智能模型的类似模型架构,进一步包括超参数更新。
[0217]
示例53包括示例50的系统,其中多个候选人工智能模型中的第三候选人工智能模型实现了一种模型架构,该模型架构不基于在第一工厂生产线的数据上操作的第一人工智能模型的模型架构。
[0218]
示例54包括示例50的系统,其中自动模型搜索电路系统基于相似性分数和性能分数来从经训练的人工智能模型的储存库中选择第一候选人工智能模型。
[0219]
示例55包括示例50的系统,其中智能模型部署电路系统并行运行多个候选人工智能模型,并且智能模型部署电路系统基于多个候选人工智能模型的输出从多个候选人工智能模型中移除离群候选人工智能模型。
[0220]
尽管本文中已公开了某些示例系统、方法、装置和制品,但本专利涵盖的范围并不限于此。相反,本专利涵盖落入本专利权利要求范围内的全部系统、方法、装置和制品。
[0221]
所附的权利要求由此通过本参考被并入到本具体实施方式中,其中每一项权利要求其本身作为本公开的单独的实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献