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

自动化硬件资源优化的制作方法

2021-12-17 21:20:00 来源:中国专利 TAG:

自动化硬件资源优化


背景技术:

1.人工神经网络——也简称为神经网络——是一种机器学习框架,在该机器学习框架中,使用对输入与输出之间的关系进行映射的高度连接的计算层来对观察数据的模式或学习表示进行处理。在深度学习的上下文中,“深度神经网络”可以指利用输入层与输出层之间的多个隐藏层的神经网络,其可以允许基于未在原始数据中明确定义的特征进行学习。各种形式的神经网络可以用于基于过去的示例或“训练数据集”来进行关于新数据的预测。在各种实施方案中,深度神经网络可以被训练为分类器,并且可以用于执行例如图像处理或自然语言处理。
2.基于深度神经网络的应用通常需要强大的计算资源用于训练和运行时。此外,这样的应用通常具有消耗资源的预处理步骤。因此,重要的是适当地确定和配置要在其上训练或运行那些基于神经网络的应用的计算硬件。然而,对基于神经网络的应用进行托管的硬件可以是具有各种不同硬件配置的异构硬件资源。此外,在其中执行基于神经网络的应用的硬件计算环境可以与其他应用共享,从而导致可用于在任何特定时间对基于神经网络的应用进行托管的硬件的一些可变性。因此,本领域需要一种用于对可用计算硬件进行动态配置以优化由该硬件托管的基于神经网络的应用的性能的解决方案。


技术实现要素:

3.提供了自动化硬件资源优化系统以及由这样的系统所使用的方法,其基本上如结合附图中的至少一个附图所示和/或所描述的那样,并且如根据权利要求中更完整地阐述的那样。
附图说明
4.图1示出了根据一种实施方案的示例性硬件资源优化系统的图;
5.图2示出了根据一种实施方案的图1的硬件资源优化系统与硬件机器组合的更详细视图;
6.图3a是根据一种实施方案的呈现了示例性硬件资源优化方法的流程图;以及
7.图3b呈现了可以作为图3a中概述的示例性方法的一部分执行的附加可选动作。
具体实施方式
8.以下描述包含与本公开中的实施方案有关的具体信息。本领域技术人员将认识到,本公开可以以与本文具体论述的方式不同的方式实现。本技术中的附图及其随附的详细描述仅涉及示例性实施方案。除非另有说明,否则附图中的相同或对应的元件可以由相同或对应的附图标记指示。此外,本技术中的附图和图示通常不是按比例绘制的,并且并非旨在对应于实际的相对尺寸。
9.如上所述,基于深度神经网络的应用(application)通常需要强大的计算资源用于训练和运行时。此外,这样的应用通常具有消耗资源的预处理步骤。因此,重要的是适当
地确定和配置要在其上训练或运行那些基于神经网络的应用的计算硬件。然而,对基于神经网络的应用进行托管的硬件可以是异构的,而硬件计算环境可以与其他应用共享,从而导致可用于在任何特定时间对基于神经网络的应用进行托管的硬件的一些可变性。
10.关于应用于计算硬件的术语“异构”,应当指出的是,出于本技术的目的,异构硬件被定义为具有不同配置的两个或更多个硬件元件。不同硬件配置的示例包括不同类型或数量的中央处理单元(cpus)、不同大小或速度的存储器或磁盘、图形处理单元(gpu)的存在或不存在、以及图形处理单元在存在时的类型或数量的差异、网络连接速度、和/或其他附接装置比如张量处理单元(tpu)的存在或不存在,在此仅举几例。
11.本技术公开了自动化硬件资源优化系统以及由这种系统所使用的方法,其通过对可用计算硬件进行动态配置以适合将由该硬件托管的基于神经网络的应用来克服常规技术中的缺点和不足。应当指出的是,如本技术中所使用的,术语“自动化(automation)”、“自动化的(automated)”和“自动化(automating)”是指不需要人类用户比如网络管理员的参与的系统和方法。尽管在一些实施方案中,人类操作者或管理员可以检查执行本文所描述的自动化方法的自动化系统的性能,但是人类参与是可选的。因此,本技术中所描述的方法可以在本文所描述的硬件处理部件的控制下执行。
12.此外,如上所述,神经网络是一种机器学习框架,在该机器学习框架中,使用对输入与输出之间的关系进行映射的高度连接的计算层来对观察数据的模式或学习表示进行处理。在深度学习的上下文中,“深度神经网络”可以指利用输入层与输出层之间的多个隐藏层的神经网络,其可以允许基于未在原始数据中明确定义的特征进行学习。如在本技术中所使用的,被描述为“基于神经网络的应用”的特征是包括一个或更多个嵌入式深度神经网络的集成软件应用。因此,在一些实施方案中,基于神经网络的应用可以包括单个神经网络,而在其他实施方案中,基于神经网络的应用可以包括多个神经网络,所述多个神经网络可以配置成顺序地、并行地、或以顺序和并行操作的组合来执行数据处理任务。
13.尽管本技术中的公开内容集中于基于神经网络的应用的硬件资源优化,但是其重点是由于这些应用通常需要强大的计算资源和资源密集型的预处理步骤。然而,本硬件资源优化解决方案可以有利地用于不包括嵌入式神经网络的其他应用。可以受益于本优化解决方案的其他类型的应用例如包括视频镜头分割应用以及用于变换视频的各种应用。
14.图1示出了根据一个实施方案的示例性自动化硬件资源优化系统120的图。如图1所示,自动化硬件资源优化系统120可以在包括本地网络100的使用环境中使用,本地网络100包括本地计算硬件106,比如通信地耦接至自动化硬件资源优化系统120的基于本地的机器130a、机器130b和/或机器130c中的一者或更多者。另外或替代性地,其中利用自动化硬件资源优化系统120的使用环境可以包括基于云的计算硬件116,比如通信地耦接至自动化硬件资源优化系统120的远程基于云的机器130d和/或机器130e中的一者或更多者。
15.如图1中进一步所示,自动化硬件资源优化系统120交互地链接至基于神经网络的应用数据库102,该基于神经网络的应用数据库102存储一个或更多个基于神经网络的软件应用,所述一个或更多个基于神经网络的软件应用在图1中描绘为基于神经网络的应用104a和应用104b。图1中还示出了测试数据110、调谐(tuning)数据112和性能监测数据114,这些数据由自动化硬件资源优化系统120使用,以便在由本地计算硬件106和基于云的计算硬件116中的一者或两者托管时对基于神经网络的应用104a和应用104b中的一者或更多者
的性能进行优化。
16.应当指出的是,尽管图1示出了由单个云实体提供的基于云的计算硬件116,但是该表示仅仅是示例性的。在其他实施方案中,基于云的计算硬件116可以由多个不同的云计算服务提供。此外,机器130a、机器130b、机器130c、机器130d和机器130e(下文中称为“机器130a至机器130e”)和基于神经网络的应用104a和应用104b的特定数量仅是示例性的。在其他实施方案中,基于神经网络的应用数据库102可以存储一个基于神经网络的应用、两个基于神经网络的应用、或多于两个基于神经网络的应用。此外,本地网络100中包括的本地计算硬件106可以包括单个机器、两个机器、图1中所示的三个机器、或多于三个机器,而基于云的计算硬件116可以类似地包括单个机器、图1中所示的两个机器、或多于两个机器。
17.机器130a至机器130e中的每一者均可以被实现为一个或更多个计算平台,比方说例如计算机服务器。在一个实施方案中,例如,机器130d和机器130e可以对应于一个或更多个web服务器,所述一个或更多个web服务器可由自动化硬件资源优化系统120通过诸如互联网的分组交换网络访问。相比之下,机器130a、机器130b和机器130c(下文中称为“机器130a至机器130c”)可以对应于可由自动化硬件资源优化系统120通过局域网(lan)或另一类型的有限分布或专用网络访问的一个或更多个计算机服务器。
18.还应当指出的是,尽管机器130a至机器130e都是使用相同的图像来描绘的,但是该表示也仅仅是示例性的。在其他实施方案中,机器130a至机器130e中的两者或更多者可以被实现为计算硬件的异构组合,每个计算硬件包括其自己的处理器资源和存储器资源。还应当指出的是,尽管图1将基于神经网络的应用数据库102描绘为被包括作为本地网络100的一部分,但是该表示也仅仅是示例性的。在其他实施方案中,基于神经网络的应用数据库102可以远离自动化硬件资源优化系统120,并且可以由自动化硬件资源优化系统120经由诸如互联网的公共通信网络访问。
19.图2示出了根据一个实施方案的自动化硬件资源优化系统220与机器230组合的更详细视图。图2中还示出了测试数据210、调谐数据212和性能监测数据214,这些数据由自动化硬件资源优化系统220使用,以便在由机器230托管时对图1中的基于神经网络的应用104a和应用104b中的一者或更多者的性能进行优化。测试数据210、调谐数据212和性能监测数据214通常分别对应于图1中的测试数据110、调谐数据112和性能监测数据114。因此,测试数据210、调谐数据212和性能监测数据214可以共享由本公开归属于相应测试数据110、调谐数据112和性能监测数据114的任何特性,反之亦然。
20.如图2所示,自动化硬件资源优化系统220包括计算平台222和系统存储器226,其中,计算平台222具有硬件处理器224,系统存储器226被实现为存储软件代码228和配置文件240的非暂时性存储装置。硬件处理器224可以是计算平台222的cpu,例如,在该计算平台222中,硬件处理器224执行软件代码228以生成配置文件240。
21.应当指出的是,尽管为了概念清楚起见,本技术将软件代码228和配置文件240称为存储在系统存储器226中,但是更一般地,系统存储器226可以采取任何计算机可读非暂时性存储介质的形式。如本技术中所使用的表述“计算机可读非暂时性存储介质”是指任何介质,所述任何介质不包括向自动化硬件资源优化系统220的硬件处理器224提供指令的载波或其他暂时性信号。因此,计算机可读非暂时性介质可以对应于各种类型的介质,比方说例如易失性介质和非易失性介质。易失性介质可以包括动态存储器比如动态随机存取存储
器(动态ram),而非易失性存储器可以包括光学存储装置、磁性存储装置或静电存储装置。计算机可读非暂时性介质的常见形式例如包括光盘、ram、可编程只读存储器(prom)、可擦除prom(eprom)和闪存。
22.图2中的自动化硬件资源优化系统220通常对应于图1中的自动化硬件资源优化系统120,并且那些对应特征可以共享由本公开归因于任一对应特征的任何特性。也就是说,尽管图1中未示出,但是自动化硬件资源优化系统120可以包括分别对应于计算平台222、硬件处理器224、和系统存储器226的特征,该系统存储器226存储用于生成配置文件240的软件代码228。
23.如图2中进一步所示,机器230可以包括:各自具有cpu存储器233的一个或更多个cpu 232、各自具有gpu存储器235的一个或更多个gpu 234、各自具有tpu存储器237的一个或更多个tpu 236、实现为非暂时性存储装置比方说例如硬盘驱动器或固态存储器的主存储器238、以及存储器高速缓存239。图2中的机器230通常可以对应于图1中的机器130a至机器130e中的任何一个机器、若干个机器或全部机器。因此,机器130a至机器130e可以共享本公开归属于机器230的任何特性,反之亦然。也就是说,尽管图1中未示出,但是机器130a至机器130e可以包括分别对应于cpu 232、gpu 234、tpu 236、主存储器238和高速缓存239的特征。此外,与机器130a至机器130e中的一者或更多者一样,机器230可以是本地网络100中包括的本地计算硬件106的一部分,或者可以包括在基于云的计算硬件116中。
24.自动化硬件资源优化系统120/220与机器130a至机器130c/230之间的通信可以作为有线通信或无线通信发生。当无线地执行通信时,可以使用第四代(4g)无线通信协议或者使用满足由国际电信联盟(itu)建立的imt

2020要求的5g无线通信协议来执行自动化硬件资源优化系统120/220与机器130a至机器130e/230之间的通信。替代性地或另外,自动化硬件资源优化系统120/220与机器130a至机器130e/230之间的无线通信可以经由无线保真(wifi)、全球微波接入互操作性(wimax)通信或任何其他合适的无线通信协议而发生。
25.将通过参照图3a进一步描述软件代码228的功能。图3a示出了根据一个实施方案的呈现了示例性硬件资源优化方法的流程图350。关于图3a中概述的方法,应当指出的是,流程图350中省略了某些细节和特征,以免使本技术中的发明特征的论述模糊。
26.参照结合图1和图2的图3a,流程图350开始于对用于对基于神经网络的应用104a或应用104b进行托管的计算硬件106/116进行识别(动作351)。如上面参照图1所描述的那样,表述“基于神经网络的应用”是指包括一个或更多个嵌入式深度神经网络的集成软件应用。基于神经网络的应用104a和应用104b可以包括单个神经网络或多个神经网络,所述多个神经网络可以配置成顺序地、并行地、或以顺序和并行操作的组合来执行数据处理任务。
27.基于神经网络的应用104a和应用104b中包括的一个神经网络或多个神经网络可以配置成例如推断地执行面部识别、对象识别、位置识别和/或语音识别。在一些实施方案中,基于神经网络的应用104a和应用104b可以配置成通过对图像或媒体内容进行分析来执行数据处理。当用于对媒体内容进行分析时,这样的内容可以例如包括呈电影形式的一个或更多个音频

视频文件、包括电视节目或基于web的节目的剧集内容、以及视频游戏、以及省略音频的一个或更多个视频文件、或诸如音乐的一个或更多个音频文件、或诸如数字书籍或其他出版物的电子文本。
28.在动作351中识别的计算硬件106/116可以包括机器130a至机器130e/230中的一
者或更多者。也就是说,在动作351中识别的计算硬件106/116可以包括本地计算硬件106中所包括的机器130a至机器130c/230中的一者或更多者和/或基于云的计算硬件116中所包括的机器130d/230和机器130e/230中的一者或更多者。用于对基于神经网络的应用104a或应用104b中的一个应用进行托管的计算硬件106/116的识别可以由软件代码228执行,该软件代码228由自动化硬件资源优化系统120/220的硬件处理器224执行。如上所述,机器230对应于计算硬件106/116中包括的机器130a至机器130e中的任一机器。因此,并且为了概念清楚起见,特征“计算硬件106/116”和“机器230”将在流程图350的以下描述中同义地使用。
29.流程图350继续,基于机器230的第一性能参数来确定用于使用基于神经网络的应用104a或应用104b执行数据处理的批量大小(动作352)。动作352可以由软件代码228执行,该软件代码228由自动化硬件资源优化系统120/220的硬件处理器224执行。应当指出的是,本硬件资源优化解决方案可以执行初始性能评估以对在动作351中标识的每个机器230进行基准测试。该基准将使得软件代码228能够使用由一个或更多个机器230托管的基于神经网络的应用104a或应用104b来优化用于执行数据处理的处理流程。
30.在一些实施方案中,软件代码228可以确定将同时通过基于神经网络的应用104a或应用104b传播的样本的最大数量(即,批量大小)。为了确定批量大小,软件代码228可以以不同大小的组中的合成数据的形式发送测试数据110/210,以对机器230的性能进行建模和监测。在一些实施方案中,使用gpu 234或tpu 236而不是cpu 232来使用基于神经网络的应用104a或应用104b执行数据处理可能是有利的或期望的,这是因为通常使用gpu或tpu进行更快的神经网络推断。在那些实施方案中的一些中,用于确定批量大小的第一性能参数可以是gpu或tpu使用,如在机器230处理测试数据110/210期间由gpu或tpu存储器负载测量的。例如,软件代码228可以监测测试数据110/210中包括的每个批次的推断时间,以及推断期间gpu 234或tpu 236的存储器负载,并且软件代码228可以基于那些性能gpu或tpu参数中的一个或两个参数来确定批次大小。应当指出的是,gpu或tpu存储器负载可以用作用于确定批量大小的特别好的代理。
31.还应当指出的是,尽管与基于神经网络的应用104a或应用104b中包括的一个或更多个神经网络的深度学习架构相关的机器230的性能参数的初始估计可以针对每个机器230从头开始完成,如上所述,但是在其他实施方案中,基准测试可以基于预先存在的数据来执行。例如,机器230的性能参数可以从公共基准获得,或者作为类似计算硬件上的基于类似神经网络的应用的先前基准测试的结果。
32.流程图350继续,使用具有在动作352中确定的批量大小的数据批来调谐机器230的第二性能参数,以使得能够基本上连续地加载机器230的硬件处理器存储器(动作353)。一旦在动作352中确定了适当的批量大小,自动化硬件资源优化系统120/220的硬件处理器224就可以执行软件代码228,以将具有现在确定的批量大小的调谐数据112/212发送至机器230并监测gpu存储器235或tpu存储器237,以基本上使gpu存储器235或tpu存储器237为空的时间量最小化(即,gpu或tpu存储器负载是间歇性的)。因此,在一些实施方案中,在动作353中调谐的第二性能参数可以是gpu 234的存储器负载率或tpu 236的存储器负载率。替代性地,在其他实施方案中,使用gpu 234的使用率或tpu 236的使用率可能是有利的或期望的。
33.gpu或tpu存储器负载间歇性通常是缓慢的数据加载过程的结果。作为响应,软件
代码228可以增加专用于将数据加载到gpu存储器235或tpu存储器237以及那些线程之间的共享存储器中的线程的数量,直到存储器负载持续地处于基本上恒定的数据流的状态。如果gpu或tpu存储器负载继续是间歇的,则可以评估主存储器238输入/输出(i/o)速度,并且在性能不足的情况下,软件代码228可以推荐硬盘更新或添加一些cpu线程以更快地填充存储器高速缓存239。
34.在机器230不包括tpu 236,并且gpu 234的性能不足以托管基于神经网络的应用104a或应用104b,或者在动作352中基于gpu 234的性能确定的批量大小非常小的情况下,还可以评估cpu 232的性能。虽然cpu通常比gpu或tpu慢以用于使用基于神经网络的应用来执行数据处理,但是当所使用的神经网络模型不太苛刻时,或者在处理成本是比处理时间更重要的标准的情况下,这可以是可接受的替代方案。
35.在cpu 232用于使用基于神经网络的应用104a或应用104b来执行数据处理的使用情况下,结合gpu 234或作为gpu 234的替代,可以针对cpu 232执行动作352和动作353。也就是说,在一些实施方案中,在动作352中用以确定批量大小的第一性能参数可以包括在测试数据110/210的处理期间cpu 232的存储器负载。此外,在那些实施方案中,在动作353中调谐的第二性能参数可以包括cpu 232的使用率或cpu 232的存储器负载率。因此,在动作352中使用的第一性能参数可以是在机器230处理测试数据110/210期间cpu 232的存储器负载和/或gpu 234的存储器负载和/或tpu 236的存储器负载率。另外,在动作353中调谐的第二性能参数可以是cpu 232的使用率或存储器负载率和/或gpu 234的使用率或存储器负载率和/或tpu 236的使用率或存储器负载率。
36.流程图350继续,基于在动作352中确定的批量大小和在动作353中调谐的第二性能参数,对用于使用基于神经网络的应用104a或应用104b执行数据处理的处理流程进行优化(动作354)。用于使用基于神经网络的应用104a或应用104b执行数据处理的过程流的优化可以由软件代码228执行,该软件代码228由自动化硬件资源优化系统120/220的硬件处理器224执行。
37.例如,软件代码228可以将发送至基于神经网络的应用104a或应用104b中包括的相同神经网络的数据处理任务分组在一起,以利用最佳批量大小并使tpu/gpu/cpu使用最大化,从而大大减少独立启动每个任务的开销。当应用于诸如图像标记的短任务时,这可能是特别有利的。当在动作351中标识的计算硬件106/116包括多于一个机器230时,软件代码228可以使用在初始性能基准测试期间获得的信息来对某些机器上的某些任务进行优先级排序。由于并非所有神经网络模型都具有相同的硬件要求,因此一个神经网络模型可能在具有cpu的机器上更好地执行,另一个神经网络模型可能与小型gpu,即,相对低速的gpu和/或具有相对小的gpu存储器的gpu,一起很好地执行,而另一个神经网络模型可能例如需要具有较大gpu存储器并且/或者能够具有较高处理速度的较大gpu以便快速工作。
38.涉及相同输入但不同神经网络模型的任务比方说例如面部识别和位置识别可能受益于共享共同的预处理技术比方说例如视频中的镜头检测。另外,在一些实施方案中,多于一个神经网络可以共享公共架构的一些元件,比方说例如一个或更多个初始神经网络层和权重。在这些情况中的任何情况下,软件代码228可以配置成启动与同一机器上的同一输入相关的任务,以便在后续任务中重用由第一任务计算的时间预处理材料。在一些实施方案中,在动作354中优化处理流程还可以包括确定何时可以在同一机器上同时,即,并行,执
行两个或更多个数据处理任务。例如,如果两个或更多个任务不使用根据基准研究的全部硬件资源,则这可以是可能的,从而与顺序地执行两个或更多个任务相比有利地减少了执行两个或更多个任务所需的总时间。作为具体示例,密集gpu或tpu专用任务可以与密集cpu专用任务并行处理。因此,使用基于神经网络的应用104a或应用104b执行的数据处理可以包括多个任务,并且在动作354中优化的处理流程可以促成同时执行这些任务中的至少一些。
39.在一些实施方案中,示例性流程图350可以以生成配置文件240结束,该配置文件240标识计算硬件116/216、基于神经网络的应用104a或应用104b、在动作352中确定的批量大小、在动作353中调谐的第二性能参数、以及在动作354中优化的处理流程(动作355)。当使用一个或更多个机器230来对基于神经网络的应用104a或应用104b进行托管时,配置文件240可以用于优化硬件资源使用。动作355可以由软件代码228执行,该软件代码228由自动化硬件资源优化系统120/220的硬件处理器224执行。
40.配置文件240可以存储在系统存储器238中,因此它可以在未来的使用情况下再次使用,其中相同的基于神经网络的应用将由相同的计算硬件托管。另外,配置文件240可以用于在用于对相同或类似的基于神经网络的应用进行托管时促进类似计算硬件的未来基准测试,并且/或者配置文件240可以用于在用于对相同或类似的基于神经网络的应用进行托管时预测类似计算硬件的最佳配置。
41.图3b呈现了可以作为图3a中概述的示例性方法的一部分执行的附加可选动作。因此,尽管在一些实施方案中,由流程图350概述的方法可以以动作355结束,但是在其他实施方案中,流程图350可以继续,即,可选地在数据处理期间使用由在动作351中识别的计算硬件106/116托管的基于神经网络的应用104a或应用104b来监测第一性能参数和第二性能参数中的一者或两者(动作356)。在动作356中执行的性能监测可以包括一些性能参数的监测和/或那些相同或其他性能参数的基本上连续监测。例如,动作356可以包括:连续监测完成数据处理任务所花费的时间,同时如果以及当那些时间开始降级时或者当检测到硬件改变时监测tpu/gpu/cpu使用或存储器负载。在一些实施方案中,在动作356期间收集的数据可以被持久地存储,并且可以用于检测性能随时间的劣化。
42.在数据处理期间监测计算硬件的性能提供了在处理瓶颈发展时实时识别处理瓶颈的优点。这些处理瓶颈可能由于不良的初始基准而发展,从而导致动作352中的不准确的批次确定、动作353中的失谐和/或动作354中的次优处理流程。替代性地,瓶颈可能是由于计算硬件106/116中包括的一个或更多个机器230的性能的劣化而产生的。动作356可以由软件代码228基于由自动化硬件资源自动化系统120/220从一个或更多个机器230接收的性能监测数据114/214来执行,该软件代码228由自动化硬件资源优化系统120/220的硬件处理器224执行。
43.在一些实施方案中,流程图350可以继续并结束于可选地基于在数据处理期间第一性能参数或第二性能参数中的一者或两者的变化来修改在动作352中确定的批量大小、在动作353中调谐的第二性能参数的调谐、或在动作354中优化的处理流程中的至少一者(动作357)。动作357促成配置文件240的修改,以在使用基于神经网络的应用104a或应用104b的数据处理期间解决在动作351中识别的计算硬件106/116中包括的机器230的实际性能。应当指出的是,尽管流程图350将动作356示出为在动作357之前,但是在一些实施方案
中,动作356和动作357可以基本上同时执行。
44.在一些用例中,第一性能参数和第二性能参数中的一者或两者的变化可能会导致处理瓶颈的发展,如上所述。在那些实施方案中,可以执行动作357以解决瓶颈。动作357可以由软件代码228执行,该软件代码228由自动化硬件资源优化系统120/220的硬件处理器224执行。
45.替代性地或另外,当一个或更多个机器230接收软件或硬件更新时,性能监测数据114/214也可以用于确定是否需要更新配置文件240。例如,新的软件版本可能改变机器230的处理效率。通过监测排队的任务,例如可以检测gpu存储器235的减少,并且可以重复机器230的基准测试以期望增加批量大小。
46.因此,本技术公开了自动化硬件资源优化系统和由这种系统使用的方法,其克服了传统技术中的缺点和不足。与通过对用于其上托管的计算硬件的神经网络架构进行优化来优化基于神经网络的应用性能的常规方法相比,本方法有利地通过优化可用硬件的配置和利用该硬件的过程流程来使基于神经网络的应用对托管它的硬件有效地不可知。也就是说,与常规方法相比,本解决方案配置可用的计算硬件以优化多个不同的神经网络操作,这是在本发明中所描述的。因此,本硬件资源优化解决方案使得能够使用异构硬件资源,包括在本地计算环境中可用的那些硬件资源、作为基于云的资源可用的那些硬件资源、以及包括本地和基于云的计算资源的混合的混合计算环境中使用的那些硬件资源。此外,本硬件优化解决方案有利地实现了实时处理瓶颈的识别,以及实现了对配置文件的改变以解决和解决瓶颈,以及利用由软件或硬件更新引起的增强的硬件效率。
47.优化基于神经网络的应用性能的常规方法的一个显著优点在于,本硬件资源优化解决方案使得能够排他地依赖于本地计算硬件来处理关键或敏感数据,从而避免将这样的数据发送到云中。也就是说,本硬件资源解决方案实现了通过使用混合本地/云计算环境提供的可扩展性的优点,同时选择性地将一些数据处理任务限制到本地的本地计算硬件。此外,本解决方案识别用于执行每个数据处理任务的最佳本地硬件资源元素,从而有利地充分利用本地硬件环境的潜在性能。
48.从以上描述中可知,显然可以在不脱离本技术中所描述的概念的范围的情况下使用各种技术来实现这些概念。此外,虽然已经具体参照某些实施方案对概念进行了描述,但是本领域普通技术人员将认识到,在不脱离这些概念的范围的情况下,可以在形式和细节上进行改变。因此,所描述的实施方案在所有方面都被认为是说明性的而非限制性的。还应当理解的是,本技术不限于本文所描述的特定实施方案,而是在不背离本公开的范围的情况下,许多重新布置、修改和替换是可能的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献