首页> 中国专利> 基于客户端设备和/或设备上机器学习模型的性能度量来评估设备上机器学习模型

基于客户端设备和/或设备上机器学习模型的性能度量来评估设备上机器学习模型

摘要

本文公开的实施方式涉及用于基于(多个)客户端设备和/或(多个)设备上机器学习(ML)模型的(多个)性能度量来评估设备上ML模型的系统和方法。(多个)客户端设备能够包括设备上存储器,该设备上存储器存储(多个)设备上ML模型和(多个)设备上ML模型的多个测试实例。当满足某些条件时,(多个)客户端设备能够使用(多个)设备上ML模型来处理多个测试实例以生成(多个)性能度量。(多个)性能度量能够包括例如(多个)时延度量、(多个)存储器消耗度量、(多个)CPU使用度量、(多个)ML模型度量(例如,精确度和/或调用)和/或其他度量。在一些实施方式中,(多个)设备上ML模型能够基于(多个)性能度量进行激活(或保持处于活动状态)以在(多个)客户端设备处本地使用。在其他实施方式中,(多个)设备上ML模型能够基于(多个)性能度量被稀疏化。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-09-29

    发明专利公报更正 卷:39 号:35-01 页码: 申请号:2021800883366 IPC(主分类):G06F0011340000 修正类型代码: 更正项目:优先权数据 误: 正:17/215,588 2021.03.29 US

    发明专利更正

  • 2023-08-29

    公开

    国际专利申请公布

说明书

背景技术

(多个)机器学习(ML)模型的联合学习是用于训练(多个)ML模型的越来越流行的ML技术。在传统的联合学习中,设备上ML模型本地存储在用户的客户端设备上,而全局ML模型,即设备上ML模型的基于云的对应物,远程存储在远程系统(例如,服务器集群)上。使用设备上ML模型的客户端设备能够处理在客户端设备处检测到的用户输入以生成预测输出,并且能够将预测输出与真实值输出进行比较以生成客户端梯度。此外,客户端设备能够将客户端梯度传输到远程系统。远程系统能够利用客户端梯度,以及可选地在附加客户端设备处以类似方式生成的附加客户端梯度来更新全局ML模型的权重。远程系统能够将全局ML模型或全局ML模型的所更新的权重传输到客户端设备。然后,客户端设备能够用全局ML模型替换设备上ML模型,或者用所更新的全局ML模型的权重替换设备上ML模型的权重,从而更新设备上ML模型。

值得注意的是,这些联合学习技术能够独立于设备。例如,具有第一设备特性集合(例如,存储器消耗、CPU使用、时延等)的第一客户端设备和具有不同的第二设备特性集合的第二客户端设备,可以基于参与(多个)设备上ML模型的联合学习的第一客户端设备和第二客户端设备来共享相同(多个)设备上ML模型的对应实例。然而,至少部分地基于不同的设备特性集合,最适合第一客户端设备的设备上ML模型的给定实例可能不是最适合第二客户端设备。因此,设备上ML模型的给定实例可能次优地执行并且不必要地浪费第二客户端设备的计算资源。由于具有不同设备特性的不同客户端设备正由不同制造商以越来越快的速度引入,这一问题更加复杂。

发明内容

本文公开的实施方式涉及基于对应客户端设备和/或设备上机器学习(ML)模型中的一个或多个的多个性能度量来评估一个或多个设备上ML模型。对应客户端设备中的每一个能够包括设备上存储器,该设备上存储器存储设备上ML模型中的一个或多个以及用于设备上ML模型中的一个或多个的多个测试实例。此外,对应客户端设备能够使用设备上ML模型中的一个或多个来处理多个测试实例以针对多个测试实例中的每一个来生成多个性能度量。对于多个测试实例中的给定测试实例,多个性能度量能够包括设备特定性能度量和/或模型特定性能度量。设备特定性能度量能够包括例如时延度量、存储器消耗度量、CPU使用度量和/或其他设备特定度量。模型特定性能度量能够括一个或多个ML模型度量,该一个或多个ML模型度量基于用于处理多个测试实例的一个或多个ML模型的类型。在一些实施方式中,设备上ML模型中的一个或多个能够基于多个性能度量进行激活(或保持处于活动状态)以在对应客户端设备处本地使用。在其他实施方式中,设备上ML模型中的一个或多个能够基于多个性能度量进行稀疏化。

例如,假设给定客户端设备具有设备上存储器,该设备上存储器存储设备上自动语音识别(ASR)模型和ASR模型的多个测试实例。在此示例中,多个测试实例中的每一个的测试实例输入能够包括音频数据的片段,并且多个测试实例中的每一个的测试实例输出能够包括与在音频数据的片段中捕获的口头话语相对应的真实值转录。此外,给定客户端设备能够使用设备上ARS模型来处理第一测试实例的音频数据的片段以生成一个或多个语音假设作为预测输出。在生成第一测试实例的设备特定度量时,给定客户端设备能够确定与音频数据的片段的处理相关联的时延度量、与音频数据的片段的处理相关联的存储器消耗度量、与音频数据的片段的处理相关联的CPU使用度量,和/或与音频数据的片段的处理相关联的其他设备特定度量。此外,在生成模型特定度量时,给定客户端设备能够确定与将音频数据的片段的语音假设中的一个或多个与音频数据的片段中的真实值转录进行比较相关联的ASR准确性度量,在其中给定客户端设备将转录流传输到显示器的实施方式中与音频数据的片段的流传输转录相关联的ASR稳定性度量,和/或其他ASR性能度量。给定客户端设备能够以相同或相似的方式处理剩余的测试实例以生成那些测试实例的对应性能度量。尽管以上工作示例是相对于设备上ASR模型描述的,但是应理解,这是为了示例的目的而不意味着限制,并且本文描述的技术能够用于评估任何设备上ML模型。

在一些实施方式中,给定客户端设备能够基于将测试实例中的每一个的多个性能度量中的每一个与对应性能度量阈值进行比较来确定是否激活(或保持处于活动状态)给定ML模型。继续以上工作示例,能够将第一测试实例的时延度量与对应时延阈值进行比较,能够将第一测试实例的存储器消耗度量与对应存储器消耗阈值进行比较,能够将第一测试实例的CPU使用度量与对应CPU使用阈值进行比较,能够将第一测试实例的ASR准确性度量与对应ASR准确性阈值进行比较,能够将第一测试实例的ASR稳定性度量与对应ASR稳定性阈值进行比较,和/或能够将第一测试实例的其他性能度量与对应性能阈值进行比较。给定客户端设备可以以相同或类似的方式处理剩余测试实例的剩余性能度量。在附加的或可替选的实施方式中,给定客户端设备能够基于将测试实例中的每一个的多个性能度量的一些统计度量与对应性能度量阈值进行比较来确定是否激活(或保持处于活动状态)给定ML模型。继续以上工作示例,对于基于处理多个测试实例而生成的剩余性能度量,能够将多个测试实例的平均时延度量与对应时延阈值进行比较,能够将多个测试实例的平均存储器消耗度量与对应时延阈值进行比较,等等。在附加的或可替选的实施方式中,给定客户端设备能够将多个训练实例传输到远程系统,并且远程系统能够基于将测试实例中的每一个的多个性能度量中的每一个与对应性能度量阈值进行比较来确定是否激活(或保持处于活动状态)给定ML模型。

在一些实施方式中,给定客户端设备或远程系统能够响应于确定多个性能度量满足对应性能度量阈值而确定激活(或保持处于活动状态)给定ML模型。在附加的或可替选的实施方式中,给定客户端设备或远程系统能够响应于确定多个性能度量中的一个或多个未能满足对应性能度量阈值而确定稀疏化给定ML模型。能够通过去除给定ML模型的连接、层、参数和/或其他特征来稀疏化给定ML模型,从而有效地减小给定ML模型的尺寸。在稀疏化给定ML模型时,能够减小设备特定性能度量(例如,时延更少、存储器消耗更少、CPU使用更少等)。然而,可能减小模型特定性能度量(例如,在精确度和/或调用中的准确性降低)。值得注意的是,给定ML模型能够以不同稀疏度进行稀疏化。例如,响应于确定多个性能度量中的一个或多个不满足给定ML模型的对应性能度量阈值,能够通过去除第一连接、第一层和/或第一参数以第一稀疏度稀疏化给定ML模型。此外,响应于随后确定给定ML模型的稀疏化实例的多个附加性能度量中的一个或多个不满足对应性能度量阈值,能够通过进一步去除第二连接、第二层和/或第二参数以第二稀疏度稀疏化给定ML模型。另外,响应于随后确定给定ML模型的另外的稀疏化实例的多个另外的附加性能度量中的一个或多个不满足对应性能度量阈值,能够通过又进一步去除第三连接、第三层和/或第三参数以第三稀疏度进一步稀疏化给定ML模型。因此,在稀疏化给定ML模型时,给定客户端设备和/或远程系统寻求平衡给定客户端设备的给定ML模型的性能和稀疏性,直到给定ML模型在给定客户端设备处最优地执行为止。

在一些实施方式中,给定客户端设备响应于确定满足一个或多个客户端设备条件来处理多个测试实例。一个或多个客户端设备条件能够包括以下中的一个或多个:例如一天中的某个时间、一周中的某一天、给定客户端设备正在充电、给定客户端设备至少具有阈值荷电状态、给定客户端设备的温度低于温度阈值、或给定客户端设备没有被用户持有。换句话说,当给定客户端设备的用户正在主动地使用给定客户端设备时,给定客户端设备可能不生成多个性能度量。在这些实施方式的一些版本中,在由给定客户端设备的用户配置给定客户端设备之后(例如,在用户购买给定客户端设备后),在第一次满足一个或多个客户端设备条件时,给定客户端设备处理多个测试实例。

在附加的或可替选的实施方式中,给定客户端设备响应于确定满足客户端设备条件中的一个或多个以及满足一个或多个评估条件来处理多个测试实例。一个或多个评估条件能够包括以下中的一个或多个:例如已经在给定客户端设备处执行的系统更新的阈值数量、已经由给定客户端设备使用或消耗的存储器的阈值数量,自从在给定客户端设备处生成用于处于活动状态的给定ML模型的多个性能度量以来的阈值持续时间,和/或其他评估条件。换句话说,在给定客户端设备处初始激活给定ML模型之后,能够周期性地评估给定ML模型以确保保持给定客户端设备的给定ML模型的性能与稀疏性之间的平衡。

在一些实施方式中,给定客户端设备能够具有设备特性集合。设备特性集合能够包括硬件特性(例如,可用存储器的类型、可用存储器的数量、处理器的类型、处理器的数量等)、软件特性(例如,固件、操作系统等)、制造商特性(例如,给定客户端设备的制造商的指示)和/或其他设备特性。由给定客户端设备生成的多个性能度量可能影响是否在共享相同设备特性集合的附加客户端设备处激活(或保持处于活动状态)给定ML模型,但可能不影响是否在不共享相同设备特性集合的其他客户端设备处激活(或保持处于活动状态)给定ML模型。附加地或可替选地,由与给定客户端设备共享相同设备特性集合的附加客户端设备生成的多个性能度量可能影响是否在给定客户端设备处激活(或保持处于活动状态)给定ML模型。例如,能够将由各自具有相同设备特性集合的一组客户端设备生成的多个性能度量传输到远程系统,并且远程系统能够确定是激活(或保持处于活动状态)还是稀疏化存储在组的每个客户端设备处的设备上的对应给定ML模型。值得注意的是,即使给定客户端设备不在生成多个性能特性的组中但与组的客户端设备共享相同设备特性集合,远程系统也能够确定是激活(或保持处于活动状态)还是稀疏化存储在给定客户端设备处的设备上的对应给定ML模型。

通过使用本文描述的技术,能够实现各种技术优点。作为一个非限制性示例,通过将(多个)ML模型和(多个)ML模型的多个测试实例存储在(多个)客户端设备的设备上存储器中,能够通过消除向(多个)客户端设备传输(多个)ML模型和多个测试实例的需要来减少网络资源的消耗。例如,当购买客户端设备时,(多个)客户端设备能够已经具有存储在设备上存储器中的(多个)ML模型和多个训练实例。作为另一个非限制性示例,通过基于在(多个)客户端设备处处理多个测试实例来激活(或保持处于活动状态)或稀疏化(多个)ML模型,能够通过平衡(多个)ML模型的性能和稀疏性来减少计算资源的消耗。例如,(多个)ML模型能够是基于(多个)客户端设备的设备特性在(多个)客户端设备处使用的最优(多个)ML模型。作为又一非限制性示例,通过基于在(多个)其他客户端设备处处理多个测试实例来激活(或保持处于活动状态)或稀疏化(多个)ML模型,能够通过利用由共享相同设备特性的(多个)其他客户端设备生成的多个性能度量来减少计算资源的消耗。因此,改进了(多个)客户端设备并且减少了计算和/或网络资源的消耗。

提供以上描述是作为本公开的一些实施方式的概述。下文将更详细地描述这些实施方式和其他实施方式的进一步描述。

附图说明

图1A描绘了展示本公开的各个方面并且能够在其中实施本文公开的实施方式的示例环境的框图。

图1B描绘了根据各种实施方式的展示本公开的各个方面的示例过程流。

图2描绘了展示本公开的各个方面并且能够在其中实施本文公开的实施方式的示例环境的框图。

图3描绘了图示根据各种实施方式的使性能度量由客户端设备生成以用于激活和/或评估设备上(多个)机器学习模型的示例方法的流程图。

图4描绘了图示根据各种实施方式的使性能度量由一组客户端设备生成以用于在对应附加客户端设备处激活和/或评估对应设备上(多个)机器学习模型的示例方法的流程图。

图5描绘了根据各种实施方式的计算设备的示例架构。

具体实施方式

图1A描绘了展示本公开的各个方面的示例环境的框图。图1A图示了客户端设备110、远程系统130、第一组附加客户端设备140和第二组附加客户端设备150。客户端设备110、第一组附加客户端设备140中的每个客户端设备以及第二组附加客户端设备150中的每个客户端设备能够通过一个或多个网络199与远程系统130通信耦合,如图1所示。一个或多个网络199能够包括例如局域网(LAN)、广域网(WAN)、和/或任何其他类型的网络的任何组合。

在各种实施方式中,客户端设备110能够包括设备上条件引擎111、设备上机器学习(ML)引擎112、设备上性能度量引擎113、设备上激活引擎114、设备上稀疏化引擎115、和/或其他设备上引擎。此外,客户端设备110能够包括设备上存储器,该设备上存储器存储一个或多个设备上ML模型(例如,存储在(多个)设备上ML模型数据库112A中)、多个测试实例(例如,存储在测试实例112B中)和/或其他设备上数据。远程系统130能够包括例如远程性能度量引擎133、远程激活引擎134和远程稀疏化引擎135。此外,远程系统130能够包括存储一个或多个远程ML模型(例如,存储在(多个)远程ML模型数据库130A中)的远程存储器。另外,尽管为了简单起见未在图1中示出,第一组附加客户端设备140和第二组附加客户端设备150的客户端设备中的每一个能够包括相对于图1的客户端设备110所描述的(例如,相对于图4所描述的)设备上引擎的一个或多个对应实例和对应设备上存储器。

客户端设备110以及附加客户端设备140和150能够是例如:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视(或配备有具有自动助理能够的联网软件狗的标准电视)的智能设备,和/或包括计算设备的用户可穿戴设备(例如,具有计算设备的用户手表、具有计算设备、虚拟或增强现实计算设备的用户眼镜)。可以提供附加的和/或可替选的客户端设备。

在各种实施方式中,客户端设备110能够基于存储在测试实例数据库112B中的多个测试实例来生成存储在(多个)设备上模型数据库112A中的给定设备上ML模型的多个性能度量。在一些实施方式中,并且如本文所描述,给定设备上ML模型可以在客户端设备110处处于休眠状态(即,不可用于在客户端设备110处本地使用),并且根据基于多个测试实例生成的多个性能度量来激活或稀疏化。在附加的或可替选的实施方式中,并且也如本文所描述,给定设备上ML模型可以在客户端设备110处处于活动状态(即,可用于在客户端设备110处本地使用),并且根据基于多个测试实例生成的多个性能度量来去激活或稀疏化。

在一些实施方式中,给定设备上ML模型的多个性能度量能够包括设备特定性能度量和模型特定性能度量。例如,设备特定性能度量能够包括对应时延度量(例如,以秒或毫秒为单位)、对应存储器消耗度量(例如,总体消耗的或基于处理测试实例而消耗的存储器的百分比)、对应CPU使用度量(例如,总体或用于处理测试实例的CPU使用的百分比),和/或与客户端设备110在使用给定设备上ML模型来处理多个测试实例中的每一个时的性能相关联的其他对应性能度量。另外,例如,模型特定性能度量能够包括与能够基于给定设备上ML模型的类型的给定设备上ML模型的性能相关联的一个或多个对应度量。例如,在其中给定设备上ML模型是设备上自动语音识别(ASR)模型的实施方式中,模型特定性能度量能够包括指示一个或多个语音假设对于本文所描述的对应测试实例的准确性的对应ASR准确性度量,指示一个或多个语音假设的对应转录对于本文所描述的对应测试实例的稳定程度的对应ASR稳定性度量,和/或其他对应ASR性能度量。尽管上文描述的模型特定性能度量是相对于给定设备上ASR模型来描述的,但是应理解,这是为了示例的目的而并不意味着限制。例如,本文所描述的技术能够用于为各种不同的设备上ML模型(例如,相对于图1B和2所描述的)生成模型特定性能度量。在其他实施方式中,给定设备上ML模型的多个性能度量能够包括设备特定性能度量或模型特定性能度量中的一个。

存储在测试实例数据库112B中的多个测试实例中的每一个能够包括测试实例输入和测试实例输出。此外,存储在测试实例数据库112B中的多个测试实例中的每一个能够是与不同类型的ML模型相关联的多个不同类型的测试实例之一。例如,多个测试实例能够是:能够由给定基于音频的设备上ML模型处理以生成给定基于音频的设备上ML模型的性能度量的基于音频的测试实例,能够由给定基于视觉的设备上ML模型处理以生成给定基于视觉的设备上ML模型的性能度量的基于视觉的测试实例,能够由给定基于文本的设备上ML模型处理以生成给定基于文本的设备上ML模型的性能度量的基于文本的测试实例,和/或用于测试其他类型的设备上ML模型的其他类型的测试实例。本文更详细地描述了测试实例和处理测试实例以生成多个性能度量(例如,相对于图1A和1B的设备上性能度量引擎113)。

在一些实施方式中,响应于(多个)设备上条件引擎111确定满足一个或多个客户端设备条件,客户端设备110能够生成用于给定设备上ML模型的多个性能度量。一个或多个客户端设备条件能够包括以下中的一个或多个:例如一天中的某个时间、一周中的某一天、客户端设备110正在充电、客户端设备110至少具有阈值荷电状态、客户端设备110的温度低于温度阈值、或客户端设备110没有被用户持有。换句话说,当客户端设备110的用户正在主动地使用客户端设备110时,客户端设备110可能不生成多个性能度量。

在这些实施方式的一些版本中,存储在(多个)ML模型数据库112A中的给定ML模型能够处于休眠状态,并且客户端设备110能够初始地生成多个性能度量以基于多个性能度量来确定是激活还是稀疏化给定ML模型(例如,相对于图3所描述)。换句话说,当用户获取(例如,购买)客户端设备110时,给定ML模型和多个测试实例能够已经存储在客户端设备110的设备上存储器中,并且客户端设备110能够在第一次满足一个或多个客户端设备条件时生成多个性能度量,以确定是激活还是稀疏化设备上存储器中处于休眠状态的给定ML模型。在附加的或可替选的实施方式中,存储在(多个)ML模型数据库112A中的给定ML模型能够处于活动状态,并且客户端设备110能够随后生成多个附加性能度量,以确定是基于多个附加性能度量来保持给定ML模型处于活动状态还是稀疏化在客户端设备110处处于活动状态的给定ML模型(例如,也如相对于于图3所描述)。在这些实施方式中,客户端设备110能够响应于确定满足一个或多个评估条件而生成多个附加性能度量。一个或多个评估条件能够包括以下中的一个或多个:例如已经在客户端设备110处执行的系统更新的阈值数量、已经由客户端设备110使用的存储器的阈值数量,自从在客户端设备110处生成用于处于活动状态的ML模型的多个性能度量以来的阈值持续时间,和/或其他评估条件。

在基于给定测试实例生成多个性能度量时,设备上ML引擎112能够使用给定ML模型处理给定测试实例的测试实例输入以生成预测输出,并且设备上性能度量引擎113能够基于对测试实例输入的处理生成给定测试实例的多个性能度量。例如并且简要参考图1B,客户端设备110能够从测试实例数据库112B获得给定测试实例。给定测试实例能够包括一个或多个测试实例输入101A和一个或多个测试实例输出101B。设备上ML引擎112能够使用存储在(多个)设备上ML模型数据库112A中的给定ML模型来处理一个或多个测试实例输入101A以生成一个或多个预测输出102。此外,设备上性能度量引擎113能够生成多个性能度量103。例如,设备上性能度量引擎113能够基于将一个或多个测试实例输出101B与一个或多个预测输出101B进行比较来生成模型特定性能度量,并且能够基于对一个或多个测试实例输入101A的处理来生成设备特定性能度量。此外,设备上性能度量引擎113能够基于多个性能度量103将多个性能度量传输到设备上激活引擎114、设备上稀疏化引擎115和/或远程系统130中的一个或多个。

例如,假设在客户端设备110处本地存储的给定ML模型是基于音频的ML模型。在此示例中,针对多个测试实例中的每一个的测试实例输入能够包括对应的音频数据的片段。此外,多个测试实例中的每一个的测试实例输出可以基于基于音频的ML模型的类型。例如,测试实例输出能够包括:当给定ML模型是ASR模型时,与测试实例输入的音频数据的片段相对应的真实值转录;当给定ML模型是热词检测模型时,测试实例输入的音频数据的片段是否包括一个或多个特定单词或短语的指示;当给定ML模型是话音活动检测(VAD)模型时,测试实例输入的音频数据的片段是否包括用户讲话的指示;当给定ML模型是连续会话模型时,基于测试实例输入的音频数据的片段是否保持客户端设备110的一个或多个组件处于活动状态的指示;和/或任何其他基于音频的ML模型的其他测试输入输出。

另外,例如,附加地或可替选地假设在客户端设备110处本地存储的给定ML模型是基于视觉的ML模型。在此示例中,针对多个测试实例中的每一个的测试实例输入能够包括对应的视觉数据的实例。此外,多个测试实例中的每一个的测试实例输出可以基于基于视觉的ML模型的类型。例如,测试实例输出能够包括:当给定ML模型是对象检测模型时,与在视觉数据的实例中捕获的一个或多个对象相对应的一个或多个真实值边界框;当给定ML模型是对象分类模型时,与在视觉数据的实例中捕获的对象的一个或多个分类相对应的一个或多个真实值标签;当给定ML模型是无热词调用模型时,在视觉数据的实例中捕获的姿势(例如,嘴唇运动、手部运动等)是否包括一个或多个特定姿势的指示;和/或针对任何其他基于视觉的ML模型的其他测试输入输出。

另外,例如,附加地或可替选地假设在客户端设备110处本地存储的给定ML模型是基于文本的ML模型。在此示例中,针对多个测试实例中的每一个的测试实例输入能够包括一个或多个文本片段。此外,多个测试实例中的每一个的测试实例输出可以基于基于文本的ML模型的类型。例如,当给定ML模型是文本到语音(TTS)模型时,测试实例输出能够包括与测试实例输入的一个或多个文本片段相对应的真实值音频数据。此外,在其中客户端设备110包括设备上TTS模型的实施方式中,这些测试实例能够附加地或可替选地用作在客户端设备100处本地存储的任何基于音频的ML模型的测试实例。例如,客户端设备110能够使用设备上TTS模型来处理文本片段中的一个或多个,以生成包括与一个或多个文本片段相对应的所合成语音的所合成语音音频数据。所合成语音音频数据能够用作测试实例输入,并且测试实例输出能够基于与所合成语音相对应的一个或多个文本片段(例如,真实值转录、所合成语音是否包括一个或多个特定单词或短语的指示,等等)来确定。

在这些示例中,设备上性能度量引擎113能够基于对测试实例输入的处理以相同或类似的方式生成设备特定性能度量(例如,对应时延度量、对应存储器消耗度量、对应CPU度量、和/或其他设备特定性能度量)。然而,设备上性能度量引擎113能够基于正在评估的给定ML模型以不同的方式生成设备特定性能度量。例如,在其中给定ML模型是热词检测模型的实施方式中,一个或多个预测输出102能够对应于指示测试实例输入的音频数据是否包括一个或多个特定单词或短语的预测值(例如,二进制值、概率、对数似然性等)。在此示例中,设备上性能度量引擎113能够基于将预测值与指示音频数据是否包括一个或多个测试实例输出101B中包括的特定单词或短语中的一个或多个的真实值进行比较来生成热词度量。作为另一示例,在其中给定ML模型是TTS模型的实施方式中,一个或多个预测输出102能够对应于预测音频数据(或预测音频数据的表示,诸如其Mel滤波器组特征、其傅立叶变换、其Mel倒频谱系数、和/或预测音频数据的其他表示)。在此示例中,设备上性能度量引擎113能够基于将预测音频数据(或其表示)与一个或多个测试实例输出101B中包括的真实值音频数据(或其表示)进行比较来生成TTS度量。相对于图3描述了基于多个测试实例来生成多个性能度量。

返回参考图1A,并且如上所述,设备上性能度量引擎113能够基于多个性能度量103将多个性能度量传输到设备上激活引擎114、设备上稀疏化引擎115、和/或远程系统130中的一个或多个。在一些实施方式中,设备上性能度量引擎113能够响应于确定多个性能度量满足对应性能度量阈值而将指示给定ML模型应被激活或保持处于活动状态的指示传输到设备上激活引擎114(例如,如相对于图3所描述)。例如,假设正在评估的给定ML模型是在客户端设备110处(例如,在(多个)ML模型数据库112B中)本地存储的休眠ML模型。进一步假设设备上性能度量引擎113确定多个性能度量满足对应性能度量阈值。在此示例中,设备上激活引擎114能够激活休眠ML模型以在客户端设备110处本地使用。作为另一示例,假设正在评估的给定ML模型是在客户端设备110处(例如,在(多个)ML模型数据库112B中)本地存储的活动ML模型。进一步假设设备上性能度量引擎113确定多个性能度量满足对应性能度量阈值。在此示例中,设备上激活引擎114能够保持活动ML模型处于活动状态以在客户端设备110处本地使用。

在附加的或可替选的实施方式中,设备上性能度量引擎113能够通过一个或多个网络199将多个性能度量传输到远程系统130,并且远程性能度量引擎133能够基于确定传输到远程系统130的多个性能度量是否满足对应性能度量阈值来确定给定ML模型是否应在客户端设备110处被激活或保持处于活动状态。远程激活引擎134能够生成指示给定ML应在客户端设备110处被激活或保持处于活动状态(假设多个性能度量满足对应性能度量阈值)的指示并且通过一个或多个网络199将指示传输回客户端设备110。远程性能度量引擎133还能够考虑由共享相同设备特性集合的附加客户端设备生成的多个对应性能度量,以确定给定ML是否应在客户端设备110(例如,各组附加客户端设备140或150中的一个)处被激活或保持处于活动状态,如相对于图3和4所描述。

在一些实施方式中,设备上性能度量引擎113能够响应于确定多个性能度量中的一个或多个不满足对应性能度量阈值而将指示给定ML模型应被稀疏化的指示传输到设备上稀疏化引擎115(例如,也如相对于图3所描述)。设备上稀疏化引擎115能够通过去除给定ML模型的连接、层、参数和/或其他特征来稀疏化给定ML模型,从而有效地减小给定ML模型尺寸。在稀疏化休眠ML模型时,能够减小设备特定性能度量(例如,时延更少、存储器消耗更少、CPU使用更少等)。然而,可以减小模型特定性能度量(例如,在精确度和/或调用中的准确性降低)。值得注意的是,设备上稀疏化引擎115能够稀疏化具有不同稀疏度的给定ML模型。例如,响应于确定多个性能度量中的一个或多个不满足给定ML模型的对应性能度量阈值,设备上稀疏化引擎115能够通过去除第一连接、第一层和/或第一参数以第一稀疏度稀疏化给定ML模型。此外,响应于随后确定多个附加性能度量中的一个或多个不满足稀疏化ML模型的对应性能度量阈值,设备上稀疏化引擎115能够通过进一步去除第二连接、第二层和/或第二参数以第二稀疏度稀疏化给定ML模型。此外,响应于随后确定多个另外的附加性能度量中的一个或多个不满足另外的稀疏化ML模型的对应性能度量阈值,设备上稀疏化引擎115能够通过又进一步去除第三连接、第三层和/或第三参数以第三稀疏度稀疏化给定ML模型。因此,在稀疏化给定ML模型时,设备上稀疏化引擎115寻求平衡客户端设备110的给定ML模型的性能和稀疏性。

在附加的或可替选的实施方式中,设备上性能度量引擎113能够响应于确定多个性能度量中的一个或多个不满足对应性能度量阈值而将请求给定ML模型的稀疏化实例的指示传输到远程系统130。在这些实施方式中,远程稀疏化引擎135能够稀疏化给定ML模型,或从(多个)远程ML模型数据库130A获得给定ML模型的稀疏化实例。远程系统130能够将稀疏化ML模型传输回客户端设备110,并且客户端设备110能够进一步评估稀疏化ML模型。在附加的或可替选的实施方式中,诸如当如上所述由远程系统130处理多个性能度量时,远程系统能够确定给定ML应被稀疏化,并且将指示传输回客户端设备110以在客户端设备110处本地稀疏化给定ML模型,或将给定ML模型的稀疏化实例传输回客户端设备110。

如上所述,在其中远程系统130用于确定是否激活以保持给定ML模型处于活动状态的实施方式中,远程系统130还能够考虑由具有与客户端设备110相同的设备特性集合的其他客户端设备生成的多个对应性能度量。例如,假设客户端设备110和第一组附加客户端设备140各自具有第一设备特性集合。第一设备特性集合能够包括例如第一硬件特性集合(例如,可用存储器的第一类型、可用存储器的第一数量、处理器第一类型、处理器第一数量等)、第一软件特性集合(例如,第一固件、第一操作系统等)、第一制造商特性(例如,客户端设备组的第一制造商的指示)、和/或其他设备特性。进一步假设第二组附加客户端设备150各自具有第二设备特性集合,使得第一硬件特性集合、第一软件特性集合或第一制造商特性中的一个或多个不同于客户端设备110和第一组附加客户端设备140的那些特性。在此示例中,由第一组附加客户端设备140生成的多个对应性能度量可能影响是否在客户端设备110处激活给定ML模型,但是由第二组附加客户端设备150生成的多个对应性能度量可能至少部分地基于设备特性的差异而不影响是否在客户端设备110处激活给定ML模型。

通过使用本文描述的技术,能够实现各种技术优点。作为一个非限制性示例,通过将(多个)ML模型和(多个)ML模型的多个测试实例存储在(多个)客户端设备的设备上存储器中,能够通过消除向(多个)客户端设备传输(多个)ML模型和多个测试实例的需要来减少网络资源的消耗。例如,当购买客户端设备时,(多个)客户端设备可能已经具有存储在设备上存储器中的(多个)ML模型和多个训练实例。作为另一个非限制性示例,通过基于在(多个)客户端设备处处理多个测试实例来激活(或保持处于活动状态)或稀疏化(多个)ML模型,能够通过平衡(多个)ML模型的性能和稀疏性来减少计算资源的消耗。例如,(多个)ML模型能够是基于(多个)客户端设备的设备特性在(多个)客户端设备处使用的最优(多个)ML模型。作为又一非限制性示例,通过基于在(多个)其他客户端设备处处理多个测试实例来激活(或保持处于活动状态)或稀疏化(多个)ML模型,能够通过利用由共享相同设备特性的(多个)其他客户端设备生成的多个性能度量来减少计算资源的消耗。因此,改进了(多个)客户端设备,并且减少了计算和/或网络资源的消耗。

现在转向图2,图示了客户端设备210,描绘了包括各种设备上ML引擎作为自动助理客户端240的一部分(或与之通信)的实施方式。还图示了与各种设备上ML引擎介接的相应设备上ML模型。为简单起见,图2中未图示客户端设备210的其他组件。图2图示了自动助理客户端240在执行各种动作时如何利用各种设备上ML引擎及其相应ML模型的一个示例。例如,ML引擎及其相应ML模型能够对应于如本文所描述的(例如,关于图1A、1B、3和4)被激活、去激活和/或稀疏化的那些ML引擎及其相应ML模型。

图2中的客户端设备210被图示为具有一个或多个麦克风261、一个或多个扬声器262、一个或多个视觉组件263和(多个)显示器264(例如,触敏显示器)。客户端设备210可以进一步包括(多个)压力传感器、(多个)接近传感器、(多个)加速度计、(多个)磁力计,和/或除由一个或多个麦克风261捕获的音频数据之外还用于生成其他传感器数据的(多个)其他传感器。客户端设备210至少选择性地执行自动助理客户端240。在图2的示例中,自动助理客户端240包括热词检测引擎222、无热词调用引擎224、继续会话引擎226、ASR引擎228、对象检测引擎230、对象分类引擎232、话音识别引擎234和面部识别引擎236。自动助理客户端240进一步包括语音捕获引擎216和视觉捕获引擎218。应理解,图2中所示的设备上ML引擎和设备上ML模型是为了示例的目的而提供,并不意味着限制。例如,自动助理客户端240能够进一步包括附加和/或可替选的引擎,诸如TTS引擎和相应TTS模型、VAD引擎和相应VAD模型、端点检测器引擎和相应端点检测器模型、嘴唇运动引擎、和/或(多个)其他引擎以及相关联的(多个)ML模型。此外,应理解,本文描述的引擎和/或模型中的一个或多个能够组合,使得单个引擎和/或模型能够执行本文描述的多个引擎和/或模型的功能。

一个或多个基于云的自动助理组件270能够可选地在一个或多个计算系统(统称为“云”计算系统)上实施,基于云的自动助理组件270经由网络299(例如,LAN、WAN和/或其他网络的任何组合)中的一个或多个通信耦合到客户端设备210。基于云的自动助理组件270能够例如经由高性能服务器的集群来实施。在各种实施方式中,通过其与一个或多个基于云的自动助理组件270的交互,自动助理客户端240的实例可以形成从用户的角度来看似乎是通常由295指示的自动助理的逻辑实例,用户可以与逻辑实例参与人机交互(例如,口头交互、基于姿势的交互和/或基于触摸的交互)。

客户端设备210能够是例如:台式计算设备、膝上型计算设备、平板计算设备、移动电话计算设备、用户车辆的计算设备(例如,车载通信系统、车载娱乐系统、车载导航系统)、独立交互式扬声器、诸如智能电视(或配备有具有自动助理功能的联网软件狗的标准电视)的智能设备,和/或包括计算设备的用户可穿戴装置(例如,具有计算设备的用户手表、具有计算设备、虚拟或增强现实计算设备的用户眼镜)。可以提供附加的和/或可替选的客户端设备。

一个或多个视觉组件263能够采用各种形式,诸如单体相机、立体相机、LIDAR组件(或其他(多个)基于激光的组件)、雷达组件等。一个或多个视觉组件263可以例如由视觉捕获引擎218使用,以捕获与部署客户端设备210的环境的视觉帧(例如,图像帧、基于激光的视觉帧)相对应的视觉数据。在一些实施方式中,能够利用此类(多个)视觉帧来确定用户是否存在于客户端设备210附近和/或用户(例如,用户的面部)相对于客户端设备210的距离。例如,在确定是否激活图2中描绘的各种设备上ML引擎和/或其他(多个)设备上ML引擎时,能够利用此类(多个)确定。此外,语音捕获引擎218能够被配置为捕获用户的(多个)口头话语和/或经由麦克风261中的一个或多个捕获的其他音频数据。

如本文所描述,此类音频数据和其他非麦克风传感器数据(也称为客户端数据)能够由图2中所描绘的各种设备上引擎处理,以使用以上相对于图1A、1B、3和4所描述的方式激活、去激活和/或稀疏化的对应设备上ML模型在客户端设备210处进行预测。

作为一些非限制性示例,热词检测引擎222能够利用热词检测模型222A来预测音频数据是否包括一个或多个特定单词或短语以调用自动助理295(例如,“Ok Google(好的,谷歌)”、“Hey Google(嗨,谷歌)”,“What is the weather Google(天气怎么样,谷歌)?”等)或自动助理295的某些功能;无热词调用引擎224能够利用无热词调用模型224A来预测非麦克风传感器数据(例如,视觉数据)是否包括姿势或信号以调用自动助理295(例如,基于用户的凝视并且可选地进一步基于用户的嘴部运动);继续会话引擎226能够利用继续会话模型226A来预测另外的音频数据是否被引导到自动助理295(例如,或被引导到客户端设备210的环境中的附加用户);ASR引擎228能够利用ASR模型228A来生成所识别的文本,或预测对应于在客户端设备210处检测到的音频数据的(多个)音素和/或(多个)符号,并且基于(多个)音素和/或(多个)符号来生成所识别的文本;对象检测引擎230能够利用对象检测模型230A来预测在客户端设备210处捕获的视觉数据中包括的(多个)对象位置;对象分类引擎232能够利用对象分类模型232A来预测在客户端设备210处捕获的视觉数据中包括的(多个)对象的(多个)对象分类;话音识别引擎234能够利用话音识别模型234来预测音频数据是否捕获到客户端设备210的一个或多个用户的口头话语(例如,通过生成扬声器嵌入、或能够与客户端设备210的一个或多个用户的对应实际嵌入相比较的其他表示);并且面部识别引擎236能够利用面部识别模型来预测视觉数据是否捕获在客户端设备210的环境中的一个或多个用户(例如,通过生成图像嵌入、或能够与客户端设备210的一个或多个用户的对应图像嵌入相比较的其他表示)。

在一些实施方式中,客户端设备210可以进一步包括自然语言理解(NLU)引擎238和履行引擎240。NLU引擎238可以使用NLU模型238A对由ASR引擎228生成的所识别文本、(多个)预测音素和/或(多个)预测符号执行设备上自然语言理解以生成NLU数据。NLU数据能够包括例如对应于口头话语的(多个)意图,以及可选地包括用于(多个)意图的(多个)参数的(多个)槽值。此外,履行引擎240能够使用设备上履行模型240A并且基于对NLU数据的处理来生成履行数据。此履行数据能够定义对由客户端设备210的用户提供的口头话语的本地和/或远程响应(例如,回答)、基于口头话语与本地安装的(多个)应用程序执行的(多个)交互、基于口头话语向(多个)物联网(IoT)设备传输的(多个)命令(直接或经由(多个)对应远程系统),和/或基于口头话语执行的其他(多个)解析动作。然后提供履行数据以用于所确定的(多个)动作的本地和/或远程执行/施行以解析口头话语。施行能够包括例如呈现本地和/或远程响应(例如,视觉和/或听觉)、与本地安装的应用程序交互、向(多个)IoT设备传输(多个)命令,和/或其他(多个)动作。在其他实施方式中,可以省略NLU引擎234和履行引擎240,并且ASR引擎228能够直接基于音频数据生成履行数据。例如,假设ASR引擎228使用ASR模型228A处理“turn on the lights(开灯)”的口头话语。在此示例中,ASR引擎228能够生成语义输出,该语义输出然后传输到与灯相关联的软件应用程序,和/或直接传输到指示其应被打开的灯。

值得注意的是,(多个)基于云的自动助理组件270包括作为设备上引擎的对应物的基于云的引擎272、274、276、278、280、282、284、286、288和290,以及作为本文相对于图2描述的设备上模型的基于云的对应物的相应基于云的模型272A、274A、276A、278A、280A、282A、284A、286A、288A和290A。然而,在各种实施方式中,这些基于云的引擎和基于云的模型可以不被调用,因为设备上引擎和设备上模型可以在客户端设备210处本地施行。尽管如此,还能够可选地包括远程施行模块,远程施行模块基于本地或远程生成的NLU数据和/或履行数据来执行远程施行。可以包括附加的和/或可替选的远程引擎。如本文所描述,在各种实施方式中,设备上语音处理、设备上图像处理、设备上NLU、设备上履行、和/或设备上施行能够至少由于它们在解析口头话语或其他用户输入时提供的时延和/或网络使用减少(由于不需要(多个)客户端服务器往返来解析口头话语或其他用户输入)而被排他地或优先地使用。然而,能够至少选择性地利用一个或多个基于云的自动助理组件270。例如,此类(多个)组件能够与(多个)设备上组件并行使用,并且当(多个)本地组件发生故障时,能够使用来自此类组件的输出。例如,如果设备上引擎和/或模型中的任何一个发生故障(例如,由于客户端设备210的资源相对有限),则可以利用云的更稳健的资源来利用云的几乎无限的资源。

现在转到图3,描绘了图示使性能度量由客户端设备生成以用于激活和/或评估设备上机器学习(ML)模型的示例方法300的流程图。为了方便,参考执行操作的系统来描述方法300的操作。方法300的系统包括计算设备(例如,图1的客户端设备110、图2的客户端设备210、图6的计算设备610、和/或其他客户端设备)的一个或多个处理器和/或(多个)其他组件。此外,虽然方法300的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。

在框352处,系统确定是否满足一个或多个客户端设备条件。一个或多个客户端设备条件能够包括以下中的一个或多个:例如一天中的某个时间、一周中的某一天、客户端设备正在充电、客户端设备至少具有阈值荷电状态、客户端设备的温度低于温度阈值、或客户端设备没有被用户持有。换句话说,当客户端设备的用户正在主动使用客户端设备时,客户端设备可能不生成多个性能度量。如果在框352的迭代处,系统确定不满足一个或多个客户端设备条件,则系统继续在框352处监视是否满足一个或多个客户端设备条件。如果在框352的迭代处,系统确定满足一个或多个客户端设备条件,则系统前进到框354。尽管框352被描述为发生在方法300的开始处,但应理解,这是为了示例的目的而不意味着限制。例如,能够在每个框之前使用框352的操作的多个实例以确保客户端设备的用户没有主动使用客户端设备。

在框354处,系统使客户端设备基于也在客户端设备处本地存储的休眠ML模型的多个测试实例来生成在客户端设备处本地存储的休眠ML模型的多个性能度量。多个性能度量能够包括设备特定性能度量和/或模型特定性能度量。例如,设备特定性能度量能够包括对应时延度量(例如,以秒或毫秒为单位)、对应存储器消耗度量(例如,总体消耗的或基于处理测试实例而消耗的存储器的百分比)、对应CPU使用度量(例如,总体或用于处理测试实例的CPU使用的百分比),和/或与客户端设备在使用休眠ML模型来处理多个测试实例中的每一个时的性能相关联的其他对应性能度量。另外,例如,模型特定性能度量能够包括与能够基于休眠ML模型的类型的休眠ML模型的性能相关联的一个或多个对应度量。

例如,如在子框354A处所示,系统使客户端设备使用休眠ML模型来处理多个测试实例中的给定测试实例的测试实例输入以生成输出。此外,如在子框354B处所示,系统使客户端设备基于对给定测试实例的测试实例输入的处理来生成给定测试实例的多个性能度量。例如,假设休眠ML模型是与用于测试客户端设备上的休眠ASR模型的多个测试实例一起本地存储在客户端设备上的休眠ASR模型。进一步假设多个测试实例包括至少20个基于音频的测试实例,每个测试实例包括作为测试实例输入的对应音频数据片段和作为测试实例输出的对应音频数据片段的对应真实值转录。系统能够使客户端设备使用休眠ASR模型来处理第一测试实例的音频数据的对应音频片段,以生成多个语音假设作为预测输出。此外,系统能够使客户端设备基于对第一测试实例的测试实例输入的处理来生成第一测试实例的多个性能度量。在这种情况下,多个性能度量能够包括客户端设备在基于第一测试实例输入生成多个语音假设时的对应时延度量的设备特定性能度量、客户端设备在基于第一测试实例输入生成多个语音假设时的对应存储器消耗度量、客户端设备在基于第一测试实例输入生成多个语音假设时的对应CPU使用度量,和/或其他设备特定度量。此外,多个性能度量能够包括基于将一个或多个语音假设与测试实例输出的对应真实值转录进行比较而确定的对应ASR准确性度量的模型特定性能度量、指示一个或多个语音假设的转录的稳定程度的对应ASR稳定性度量(例如,在客户端设备处以流式方式视觉呈现的转录改变的频率),和/或其他模型特定性能度量。系统能够继续子框354A和354B的操作以针对休眠ML模型的剩余19个测试实例中的每一个生成多个性能度量。

在框356处,系统基于多个性能度量来确定是否在客户端设备处激活休眠ML模型。在一些实施方式中,系统能够使客户端设备确定是否激活休眠ML模型。在附加的或可替选的实施方式中,系统能够使客户端设备(例如,通过图1的网络199中的一个或多个)将多个测试实例中的每一个的多个性能度量传输到远程系统,并且远程系统能够基于多个性能度量来确定休眠ML模型是否应被激活以在客户端设备处本地使用。远程系统能够将是否在客户端设备处激活休眠ML模型的指示传输回客户端设备。

系统能够基于多个测试实例中的每一个的多个性能度量来确定是否激活休眠ML模型。在一些实施方式中,如果针对多个测试实例中的每一个,多个性能度量中的每一个满足对应性能阈值,则系统能够确定是否激活休眠ML模型。例如并且继续上文关于框354描述的示例,系统能够基于以下来确定是否激活休眠ML模型:20个对应时延度量中的每一个是否满足对应时延阈值、20个对应存储器消耗度量中的每一个是否满足对应存储器消耗阈值、20个对应CPU使用度量中的每一个是否满足对应CPU使用阈值、20个(如果存在多个语音假设,则可选地更多)对应ASR准确性度量中的每一个是否满足对应ASR准确性阈值、20个对应ASR稳定性度量中的每一个是否满足对应ASR稳定性阈值,和/或其他性能度量是否满足对应性能度量。在附加的或可替选的实施方式中,系统能够基于对多个测试实例中的每一个的多个性能度量的统计分析来确定是否激活休眠ML模型。例如并且继续上文关于框354描述的示例,系统能够基于多个性能度量的平均值是否满足对应性能阈值(例如,对应时延度量的平均值是否满足对应时延阈值)来确定是否激活休眠ML模型。

如果在框356的迭代处,系统确定不激活休眠ML模型,则系统前进到框358。在框358处,系统使休眠ML模型稀疏化。在一些实施方式中,休眠ML模型能够在客户端设备处本地稀疏化,或者也能够(例如,从图1的(多个)ML模型数据库112B)获得也在客户端设备处本地存储的休眠ML模型的稀疏化实例。稀疏化的休眠ML模型能够是与客户端设备在框354处使用的休眠ML模型相同的ML模型,但是能够具有减小的尺寸。客户端设备能够通过去除休眠ML模型的一些连接、层、参数和/或其他特征来稀疏化休眠ML模型。在稀疏化休眠ML模型时,能够减小设备特定性能度量(例如,时延更少、存储器消耗更少、CPU使用更少等),然而,可以因此减小模型特定性能度量(例如,在精确度和/或调用中的准确性降低)。在附加的或可替选的实施方式中,系统能够使客户端设备将获得休眠ML模型的稀疏化实例的请求传输到远程系统,并且远程系统能够将休眠ML的稀疏化实例传输到客户端设备。

系统返回到框352以执行方法300的后续迭代。对于方法300的此后续迭代,系统能够在框352的后续迭代处确定是否仍然满足一个或多个客户端设备条件。此外,假设满足一个或多个客户端设备条件,则系统能够使客户端设备基于相同的多个测试实例来生成稀疏化休眠ML模型的多个附加性能度量。系统能够使客户端设备以与上文相对于框354描述的相同或类似的方式生成多个附加性能度量,但是在框354的后续迭代中使用稀疏化休眠ML模型而不是休眠ML模型。此外,系统能够基于多个附加性能度量来确定是否激活稀疏化ML模型,或确定是否以与上文相对于框356描述的相同或类似的方式进一步稀疏化休眠ML模型。换句话说,系统能够响应于确定休眠ML模型在客户端设备上没有最优执行而使客户端设备迭代地稀疏化休眠ML模型(或获得休眠ML模型的稀疏化实例),并且能够继续稀疏化休眠ML模型,直到激活客户端设备的最优版本ML模型为止。

如果在框356的迭代处,系统确定激活休眠ML模型,则系统前进到框360。在框360处,系统使休眠ML模型被激活以在客户端设备处本地使用。系统能够使用所激活ML模型来基于在客户端设备处接收到的用户输入而在客户端设备处本地进行一个或多个预测(例如,如相对于图2所描述)。

在框362处,系统使对应休眠ML模型被激活以在对应附加客户端设备处本地使用,对应附加客户端设备中的每一个在客户端设备处具有相同的设备特性。设备特性能够包括例如硬件特性(例如,可用存储器的类型、可用存储器的数量、处理器的类型、处理器的数量等)、软件特性(例如,固件、操作系统等)、制造商特性(例如,客户端设备的制造商的指示)。换句话说,系统能够基于确定在客户端设备处激活休眠ML模型,使与客户端设备基本相同的其他客户端设备也激活休眠ML模型(或休眠ML模型的稀疏化实例)。

附加地或可替选地,系统可以跳过框362的操作并且直接进行到框364。在框364处,系统确定是否满足一个或多个评估条件。一个或多个评估条件能够包括以下中的一个或多个:例如已经在客户端设备处执行的系统更新的阈值数量、已经由客户端设备使用的存储器的阈值数量,自从在客户端设备处生成用于处于活动状态的给定ML模型的多个性能度量以来的阈值持续时间,和/或其他评估条件。如果在框364的迭代处,系统确定不满足一个或多个评估条件,则系统继续在框364处监视是否满足一个或多个评估条件。如果在框364的迭代处,系统确定满足一个或多个评估条件,则系统返回框352以执行方法300的后续迭代。换句话说,系统能够周期性地评估活动ML模型(活动ML模型是原始休眠ML模型还是原始休眠ML模型的稀疏化实例),以确保活动ML模型仍然是客户端设备的最优ML模型。

现在转到图4,描绘了图示使性能度量由一组客户端设备生成以用于在对应附加客户端设备处激活和/或评估对应设备上机器学习(ML)模型的示例方法400的流程图。为了方便,参考执行操作的系统来描述方法400的操作。方法400的系统包括计算设备(例如,图1的客户端设备110、图2的客户端设备210、图6的计算设备610和/或其他计算设备)的一个或多个处理器和/或(多个)其他组件。此外,虽然方法400的操作以特定顺序示出,但这并不意味着限制。可以重新排序、省略或添加一个或多个操作。

在框452处,系统使一组客户端设备基于也在该组中的每个客户端设备处本地存储的对应ML模型的多个测试实例,生成在该组中的每个客户端设备处本地存储的对应ML模型的多个对应性能度量,该组中的每个客户端设备具有第一设备特性集合。在该组中的每个客户端设备处本地存储的对应ML模型可以是对应休眠ML模型或对应活动ML模型。此外,多个测试实例在组的客户端设备上能够是统一的。此外,第一设备特性集合能够包括例如第一硬件特性集合(例如,可用存储器的第一类型、可用存储器的第一数量、处理器第一类型、处理器第一数量等)、第一软件特性集合(例如,第一固件、第一操作系统等)、第一制造商特性(例如,组的客户端设备的第一制造商的指示)。

在各种实施方式中,响应于确定在每个客户端设备处满足对应客户端设备条件(例如,相对于图3的框352所描述),系统使组的每个客户端设备生成多个对应性能度量。值得注意的是,能够满足组的第一客户端设备的一个或多个客户端设备条件,但可能不满足组的第二客户端设备的一个或多个客户端设备条件。因此,系统能够使组的每个客户端设备以异步方式生成多个对应性能度量。

例如,如在子框452A处所示,系统使组的给定客户端设备使用对应ML模型来处理多个测试实例中的给定测试实例的测试实例输入以生成对应输出。此外,如在子框452B处所示,系统使组的给定客户端设备基于对给定测试实例的测试实例输入的处理来生成给定测试实例的多个对应性能度量。系统能够继续子框452A和452B的操作,以在给定客户端设备处针对对应ML模型的多个测试实例中的每一个生成多个对应性能度量。子框452A和452B的操作能够以相对于图3的操作子框354A和354B所描述的相同或相似的方式来执行。然而,与图3的子框354A和354B的操作相反,子框452A和452B的操作能够在组的每个客户端设备处执行。

在框454处,系统将多个对应性能度量从组的每个客户端设备传输到远程系统。在框456处,系统基于组的每个客户端设备的多个对应性能度量来确定是否激活在对应附加客户端设备处本地存储的对应ML模型,每个附加客户端设备同样具有第一设备特性集合。换句话说,系统能够将对应多个性能度量从每个客户端设备传输到远程系统,并且远程系统能够基于从每个客户端设备接收到的对应多个性能度量来确定,是否应在同样具有与组中的那些客户端设备相同的设备特性的其他客户端设备处激活对应ML模型。

在一些实施方式中,组的每个客户端设备能够本地处理对应多个性能度量以确定对应ML模型是否满足对应性能阈值,并且能够简单地向远程系统传输对应ML模型是否应处于活动状态的指示。在这些实施方式中,远程系统能够基于向远程系统传输指示应激活对应ML模型的指示的组的客户端设备的阈值数量(例如,组的所有客户端设备或组的客户端设备的子集)来确定是否在对应附加客户端设备处激活对应ML模型。在附加的或可替选的实施方式中,能够将组中的每个客户端设备处的每个测试实例的对应多个性能度量传输到远程系统,并且远程系统能够针对每个测试实例处理对应多个性能度量以确定是否在对应附加客户端设备处激活对应ML模型。

如果在框456的迭代处,系统确定不在同样具有第一设备特性集合的对应附加客户端设备处激活对应ML模型,则系统前进到框458。在框458处,系统使对应ML模型针对组的每个客户端设备稀疏化。在一些实施方式中,远程系统能够简单地将在组的每个客户端设备本地稀疏化对应ML模型的指示传输到组的每个客户端设备。在附加的或可替选的实施方式中,远程系统能够将对应ML模型的对应稀疏化实例传输到组的每个客户端设备。系统返回到框452以使用对应ML模型的对应稀疏化实例来执行方法400的后续迭代。

如果在框456的迭代处,系统确定在同样具有第一设备特性集合的对应附加客户端设备处激活对应ML模型,则系统前进到框460。在框460处,系统使对应ML模型被激活以在对应附加客户端设备处本地使用。换句话说,系统能够使用组中包括的客户端设备作为具有第一设备特性集合的所有其他客户端设备的代理,确定是否和/或何时激活各种ML模型。

在框462处,系统选择一组另外的附加客户端设备,以生成在组的每个另外的附加客户端设备处本地存储的对应ML模型的多个附加性能度量,组的每个另外的附加客户端设备具有不同的第二设备特性集合。换句话说,系统能够确定具有第一设备特性集合的客户端设备的最优ML模型,然后确定具有第二不同的设备特性集合的另外的附加客户端设备的最优ML模型,其中第二硬件特性中的一个或多个、第二软件特性中的一个或多个、或第二制造商特性不同于第一设备特性集合中的那些。系统能够针对具有不同的设备特性集合的各组客户端设备继续执行方法400的迭代以确保客户端设备施行那些客户端设备的最优ML模型。此外,当在各个组的客户端设备处满足一个或多个评估条件时,系统能够执行图3的方法300的迭代以确保每个客户端设备都在施行最优ML模型。

尽管图4被描绘为确定具有第一设备特性集合的一组客户端设备的最优ML模型,并且随后确定具有不同的第二设备特性集合的一组客户端设备的最优ML模型,但是应理解,这是为了示例而非限制。例如,能够针对具有相同的设备特性集合(例如,在具有相同的设备特性集合的多组客户端设备处生成不同ML模型的性能度量)或不同的设备特性集合的多组客户端设备(例如,在具有不同的设备特性集合的多组客户端设备处生成相同ML模型的性能度量)以并行的方式执行图4的方法400的多个迭代。例如,具有第一设备特性集合的第一组客户端设备能够使用第一ML模型处理第一测试实例集合,具有第一设备特性集合的第二组客户端设备能够使用第二ML模型处理第二测试实例集合,具有不同的第二设备特性集合的第三组客户端设备能够使用第一ML模型处理第一测试实例集合,具有不同的第二设备特性集合的第四组客户端设备能够使用第二ML模型处理第二测试实例集合,以此类推。

现在转向图5,描绘了示例计算设备510的框图,示例计算设备510可以可选地用于执行本文描述的技术的一个或多个方面。在一些实施方式中,客户端设备、(多个)基于云的自动助理组件、和/或(多个)其他组件中的一个或多个可以包括示例计算设备510的一个或多个组件。

计算设备510通常包括经由总线子系统512与多个外围设备通信的至少一个处理器514。这些外围设备可以包括存储子系统524,其包括例如存储器子系统525和文件存储子系统526、用户接口输出设备520、用户接口输入设备522和网络接口子系统516。输入设备和输出设备允许用户与计算设备510交互。网络接口子系统516提供到外部网络的接口,并且耦合到其他计算设备中的对应接口设备。

用户接口输入设备522可以包括键盘、诸如鼠标、轨迹球、触摸板或图形输入板的定点设备、扫描仪、并入显示器中的触摸屏、诸如话音识别系统的音频输入设备、麦克风和/或其他类型的输入设备。通常,术语“输入设备”的使用旨在包括将信息输入到计算设备510或通信网络上的所有可能类型的设备和方式。

用户接口输出设备520可以包括显示子系统、打印机、传真机或诸如音频输出设备的非可视显示器。显示子系统可以包括阴极射线管(CRT)、诸如液晶显示器(LCD)的平板设备、投影设备、或用于创建可见图像的一些其他机构。显示子系统还可以诸如经由音频输出设备提供非可视显示。通常,术语“输出设备”的使用旨在包括将信息从计算设备510输出到用户或另一机器或计算设备的所有可能类型的设备和方式。

存储子系统524存储提供本文描述的一些或所有模块的功能性的编程和数据结构。例如,存储子系统524可以包括执行本文公开的方法的选定方面以及实施图1A和1B中所示的各种组件的逻辑。

这些软件模块通常由处理器514单独施行或与其他处理器组合执行。存储子系统524中使用的存储器525能够包括多个存储器,其包括用于在程序施行期间存储指令和数据的主随机存取存储器(RAM)530和存储固定指令的只读存储器(ROM)532。文件存储子系统526能够为程序和数据文件提供持久性存储,并且可以包括硬盘驱动器、软盘驱动器以及相关联的可移动介质、CD-ROM驱动器、光学驱动器或可移动介质盒。实施某些实施方式的功能性的模块可以由文件存储子系统526存储在存储子系统524中,或者存储在(多个)处理器514可访问的其他机器中。

总线子系统512提供用于使计算设备510的各种组件和子系统按预期彼此通信的机制。尽管总线子系统512被示意性地示出为单个总线,但是总线子系统的替代实施方式可以使用多个总线。

计算设备510能够具有各种类型,其包括工作站、服务器、计算集群、刀片服务器、服务器场或任何其他数据处理系统或计算设备。由于计算机和网络的不断变化的性质,图5中描绘的计算设备510的描述仅旨在作为用于示出一些实施方式的特定示例。计算设备510的许多其他配置可能具有比图5中所描绘的计算设备更多或更少的组件。

在本文描述的系统收集或以其他方式监视关于用户的个人信息或可以使用个人信息和/或所监视信息的情况下,可以为用户提供机会来控制程序或特征是否收集用户信息(例如,关于用户的社交网络、社交行为或活动、职业、用户爱好或用户的当前地理位置的信息),或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容。此外,在存储或使用某些数据之前,可以以一种或多种方式对数据进行处理,从而去除个人可识别信息。例如,可以对用户的身份进行处理,使得不能针对用户确定个人可识别信息,或者可以在获得地理位置信息的地方概括用户的地理位置(诸如概括到城市、邮政编码或州级别),使得不能确定用户的特定地理位置。因此,用户可以控制如何收集关于用户的信息和/或使用信息。

在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,并且方法包括使客户端设备基于休眠机器学习(ML)模型的多个测试实例来生成休眠ML模型的多个性能度量,客户端设备具有存储休眠ML模型和休眠ML模型的多个测试实例的设备上存储器。此外,使客户端设备基于多个测试实例中的给定测试实例来生成多个性能度量包括:使客户端设备使用休眠ML模型来处理给定测试实例的测试实例输入以生成输出,以及使客户端设备基于对给定测试实例的测试实例输入的处理来生成多个性能度量。方法还包括基于多个性能度量来确定是否在客户端设备处激活休眠ML模型;并且响应于确定在客户端设备处激活休眠ML模型,使休眠ML模型被激活以在客户端设备处本地使用。

技术的这些和其他实施方式能够包括以下特征中的一个或多个。

在一些实施方式中,对于多个测试实例中的每一个,多个性能度量包括以下中的至少一个或多个:对应时延度量、对应存储器消耗度量、或对应CPU使用度量。

在一些实施方式中,方法能够进一步包括确定是否满足一个或多个客户端设备条件。使客户端设备生成多个性能度量能够是响应于确定满足一个或多个客户端设备条件。在这些实施方式的一些版本中,一个或多个客户端设备条件包括以下中的一个或多个:一天中的某个时间、一周中的某一天、客户端设备正在充电、客户端设备至少具有阈值荷电状态、客户端设备的温度低于温度阈值、或客户端设备没有被用户持有。

在一些实施方式中,方法进一步包括确定是否满足一个或多个评估条件,并且响应于确定满足一个或多个评估条件,使客户端设备基于多个测试实例生成活动ML模型的多个附加性能度量。方法能够进一步包括基于多个附加性能度量来确定是否稀疏化活动ML模型,并且响应于确定稀疏化活动ML模型,使存储在客户端设备的设备上存储器中的ML模型被ML模型的稀疏化实例替换。在这些实施方式的一些版本中,一个或多个评估条件能够包括以下中的一个或多个:由客户端设备已经消耗的设备上存储器的阈值数量、已经超过的CPU使用的阈值数量,或已经执行的系统更新的阈值数量。

在一些实施方式中,使休眠ML模型被激活以在客户端设备处本地使用能够包括:使客户端设备自动激活休眠ML模型以在客户端设备处本地使用。

在一些实施方式中,使休眠ML模型被激活以在客户端设备处本地使用能够包括:使客户端设备呈现通知,通知指示休眠ML模型准备好被激活以在客户端设备处本地使用;以及响应于接收到响应于通知的激活休眠ML模型的用户确认而使休眠ML模型被激活以在客户端设备处本地使用。

在一些实施方式中,客户端设备能够具有第一设备特性集合。在这些实施方式的一些版本中,第一设备特性集合包括以下中的一个或多个:第一硬件特性集合、第一软件特性集合或第一制造商。在这些实施方式的一些附加的或可替选的版本中,方法能够进一步包括:使同样具有第一设备特性集合的一个或多个附加客户端设备响应于确定在客户端设备处激活休眠ML模型而激活休眠ML模型的对应实例。

在一些实施方式中,方法能够进一步包括:响应于确定不在客户端设备处激活休眠ML模型,使存储在客户端设备的设备上存储器中的ML模型被ML模型的稀疏化实例替换;使客户端设备基于多个测试实例来生成ML模型的稀疏化实例的多个附加性能度量;以及基于多个附加性能度量来确定是否激活活动模型的稀疏化实例。

在一些实施方式中,休眠ML模型能够是休眠自动语音识别(ASR)模型,多个测试实例中的每一个的测试实例输入能够包括音频数据的片段,并且多个测试实例中的每一个的测试输入输出能够包括与音频数据的片段相对应的真实值转录。在这些实施方式的一些版本中,使客户端设备使用休眠ML模型来处理给定测试实例的测试实例输入以生成输出能够包括:使客户端设备使用休眠ASR模型来处理给定测试实例的音频数据的片段以生成与被预测为对应于音频数据的片段的一个或多个语音假设相对应的输出。在这些实施方式的一些另外的版本中,对于给定测试实例,多个性能度量能够包括基于将语音假设中的一个或多个与真实值转录进行比较而确定的至少对应ASR度量。

在一些实施方式中,休眠ML模型能够是休眠热词识别模型,多个测试实例中的每一个的测试实例输入能够包括音频数据的片段,并且多个测试实例中的每一个的测试输入输出能够包括音频数据的片段是否包括一个或多个特定单词或短语的真实值转录。在这些实施方式的一些版本中,使客户端设备使用休眠ML模型来处理给定测试实例的测试实例输入以生成输出能够包括:使客户端设备使用休眠热词模型来处理给定测试实例的音频数据片段以生成与预测音频数据的片段是否包括特定单词或短语中的一个或多个的预测度量相对应的输出。在这些实施方式的一些另外的版本中,对于给定测试实例,多个性能度量能够包括基于将预测度量与真实值度量进行比较而确定的至少热词度量。

在一些实施方式中,休眠ML模型能够是休眠文本到语音(TTS)模型,多个测试实例中的每一个的测试实例输入能够包括文本片段,并且多个测试实例中的每一个的测试输入输出能够包括文本片段的真实值音频数据。在这些实施方式的一些版本中,使客户端设备使用休眠ML模型来处理给定测试实例的测试实例输入以生成输出能够包括:使客户端设备使用休眠TTS模型来处理给定测试实例的文本片段以生成与被预测为对应于文本片段的预测音频数据相对应的输出。在这些实施方式的一些另外的版本中,对于给定测试实例,多个性能度量能够包括基于将预测音频数据与真实值音频数据进行比较而确定的至少TTS度量。

在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,并且方法包括使客户端设备基于休眠机器学习(ML)模型的多个测试实例来生成休眠ML模型的多个性能度量。客户端设备具有存储休眠ML模型和休眠ML模型的多个测试实例的设备上存储器。此外,使客户端设备基于多个测试实例中的给定测试实例来生成多个性能度量能够包括:使客户端设备使用休眠ML模型来处理给定测试实例的测试实例输入以生成输出,以及使客户端设备基于对给定测试实例的测试实例输入的处理来生成多个性能度量。方法进一步包括基于多个性能度量来确定是否在客户端设备处激活休眠ML模型,并且响应于确定不在客户端设备处激活休眠ML模型而使存储在客户端设备的设备上存储器中的ML模型被稀疏化;以及使客户端设备基于多个测试实例来生成稀疏化ML模型的多个附加性能度量。

在一些实施方式中,提供了一种由客户端设备的一个或多个处理器执行的方法,并且方法包括使一组客户端设备基于机器学习(ML)模型的多个测试实例来生成ML模型的对应实例的多个对应性能度量。一组客户端设备中的每个客户端设备具有对应设备上存储器,设备上存储器存储ML模型的对应实例和ML模型的多个测试实例。此外,一组客户端设备中的每个客户端设备具有第一设备特性集合。此外,使一组客户端设备中包括的给定客户端设备基于多个测试实例中的给定测试实例来生成多个对应性能度量包括:使给定客户端设备使用ML模型的对应实例来处理给定测试实例的测试实例输入以生成对应输出;以及使给定客户端设备基于对给定测试实例的测试实例输入的处理来生成多个对应性能度量。方法进一步包括基于多个对应性能度量来确定是否在同样具有第一设备特性集合的多个附加客户端设备处激活ML模型的附加实例;以及响应于确定在多个附加客户端设备处激活ML模型的附加实例,使ML模型的附加实例被激活以在附加客户端设备中的每一个处本地使用。

各种实施方式能够包括一种非暂时性计算机可读存储介质,其存储可由一个或多个处理器(例如,(多个)中央处理单元(CPU)、(多个)图形处理单元(GPU)、(多个)数字信号处理器(DSP)和/或(多个)张量处理单元(TPU))施行的指令,以执行诸如本文描述的一种或多种方法的方法。其他实施方式能够包括一种自动助理客户端设备(例如,客户端设备至少包括用于与(多个)基于云的自动助理组件介接的自动助理接口),其包括(多个)处理器,处理器可操作以施行所存储的指令以执行诸如本文描述的一种或多种方法的方法。又一些实施方式能够包括一种一个或多个服务器的系统,其包括一个或多个处理器,处理器可操作以施行所存储的指令以执行诸如本文描述的一种或多种方法的方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号