数据处理方法、电子设备和计算机程序产品与流程

文档序号:31566089发布日期:2022-09-20 20:38阅读:32来源:国知局
数据处理方法、电子设备和计算机程序产品与流程

1.本公开的实施例一般地涉及信息技术和计算机技术,并且更特别地涉及数据处理方法、电子设备和计算机程序产品。


背景技术:

2.为了在处理能力较低的设备(例如,云计算场景中的边缘设备)上执行复杂的数据处理任务,通常需要在这些低能力设备上部署大型的数据处理模型。然而,低能力设备的有限计算资源或其他资源将会使模型的处理时间(例如,推断时间)过长,这导致无法在日常生活中使用这些设备来部署大型模型。
3.因此,一些研究人员开始对模型进行压缩,例如通过在模型的准确度(或精度)与占用的计算资源(或空间)之间取得平衡。尽管有些研究提出了一些方法来最小化模型压缩过程中的准确度损失,但是由于低能力设备的硬限制,有时这些方法仍然无法保证压缩后的模型具有符合要求的准确度。最后的结果是这些大型的模型不能在低能力设备上使用。


技术实现要素:

4.本公开的实施例提出了一种使用分离的两级数据处理模型的技术方案。更具体地,本公开的实施例提供了数据处理方法、电子设备和计算机程序产品。
5.在本公开的第一方面,提供了一种数据处理方法。该方法包括:在第一电子设备处,基于第一数据处理模型来处理数据以生成初始结果,初始结果的数据量小于数据的数据量。该方法还包括:将初始结果发送给第二电子设备,初始结果在第二电子设备处基于第二数据处理模型而被调整以生成经调整的结果,其中第二电子设备比第一电子设备具有更多计算资源,第二数据处理模型比第一数据处理模型占用更多计算资源,经调整的结果的准确度高于初始结果。
6.在本公开的第二方面,提供了一种数据处理方法。该方法包括:在第二电子设备处,从第一电子设备接收由第一电子设备基于第一数据处理模型处理数据生成的初始结果,初始结果的数据量小于数据的数据量。该方法还包括:基于第二数据处理模型来调整初始结果以生成经调整的结果,其中第二电子设备比第一电子设备具有更多计算资源,第二数据处理模型比第一数据处理模型占用更多计算资源,经调整的结果的准确度高于初始结果。
7.在本公开的第三方面,提供了一种第一电子设备。该第一电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使第一电子设备:基于第一数据处理模型来处理数据以生成初始结果,初始结果的数据量小于数据的数据量。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使第一电子设备:将初始结果发送给第二电子设备,初始结果在第二电子设备处基于第二数据处理模型而被调整以生成经调整的结果,其中第二电子设备比第一电子设备具有更多计算资源,第二数据处理模型比第一数据处理模型占
用更多计算资源,经调整的结果的准确度高于初始结果。
8.在本公开的第四方面,提供了一种第二电子设备。该第二电子设备包括至少一个处理器以及存储有计算机程序指令的至少一个存储器。至少一个存储器和计算机程序指令被配置为,与至少一个处理器一起,使第二电子设备:从第一电子设备接收由第一电子设备基于第一数据处理模型处理数据生成的初始结果,初始结果的数据量小于数据的数据量。至少一个存储器和计算机程序指令还被配置为,与至少一个处理器一起,使第二电子设备:基于第二数据处理模型来调整初始结果以生成经调整的结果,其中第二电子设备比第一电子设备具有更多计算资源,第二数据处理模型比第一数据处理模型占用更多计算资源,经调整的结果的准确度高于初始结果。
9.在本公开的第五方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第一方面的方法的步骤。
10.在本公开的第六方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非易失性计算机可读介质上并且包括机器可执行指令。机器可执行指令在被执行时使机器执行根据第二方面的方法的步骤。
11.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其他特征通过以下的描述将变得容易理解。
附图说明
12.通过参考附图阅读下文的详细描述,本公开的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施例。
13.图1示出了本公开的实施例可以在其中实现的示例数据处理环境的示意图。
14.图2示出了根据本公开的实施例的使用剪枝方式的模型压缩的示意图。
15.图3示出了根据本公开的实施例的边缘计算和云计算的示例场景的示意图。
16.图4示出了根据本公开的实施例的由初始模型和微调模型组成的可分离模型在“边缘+云”场景中的示例部署。
17.图5示出了根据本公开的实施例的可分离模型部署在“边缘+云”场景中时的数据处理流程的示意图。
18.图6a示出了根据本公开的实施例的在第一电子设备与第二电子设备之间的交互过程的示意图。
19.图6b示出了根据本公开的实施例的在第一电子设备与第二电子设备之间的另一交互过程的示意图。
20.图7示出了根据本公开的实施例的第二电子设备基于第二数据处理模型使用两级微调算法的处理过程的示意图。
21.图8示出了根据本公开的实施例的两级微调算法被实现在“边缘+云”场景中的总体结构的示意图。
22.图9示出了根据本公开的实施例被应用到思维导图识别场景中的使用实例的示意
图。
23.图10示出了根据本公开的实施例被应用到图像分类场景中的使用实例的示意图。
24.图11示出了根据本公开的实施例的一种数据处理方法的示例流程图。
25.图12示出了根据本公开的实施例的另一数据处理方法的示例流程图。
26.图13示出了根据本公开的实施例相对于传统方案的技术优点的图形表示。
27.图14示出了可以被用来实施本公开的实施例的示例设备的框图。
28.贯穿所有附图,相同或者相似的参考标号被用来表示相同或者相似的组件。
具体实施方式
29.下面将参考附图中示出的若干示例实施例来描述本公开的原理和精神。应当理解,描述这些实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开,而并非以任何方式限制本公开的范围。在本文的描述和权利要求中,除非另有定义,否则本文中使用的所有技术术语和科学术语具有与本公开所属领域的普通技术人员通常所理解的含义。
30.如上文提到的,大型的数据处理模型无法在低能力设备上使用。将大型模型或复杂操作卸载到云端和微调是解决在低能力设备上部署大型模型的两种可能的方法。然而,这些方法通常都具有自身的缺点,这些缺点将会导致新的问题,并且当前的微调算法仅关注于在模型压缩过程中对模型进行微调。发明人对这些问题进行了多个方面的分析和研究,具体详述如下。
31.首先考虑的方面是模型分布,当选择将模型卸载到云时,必须关注在低能力设备与云之间传送数据的问题。卸载模型没有通用的原则,需要考虑许多因素。对于不同的应用场景,这些因素可能会变化。第二个考虑的方面是模型的准确度冗余。在复杂的数据处理任务中,模型的某些部分可能不需要非常精确,而目前没有算法被提出以解决准确度冗余问题。第三个考虑的方面是模型压缩损失。由于低能力设备上的有限计算资源,压缩损失在这些场景中是不可避免的。当前的大多数研究都集中在如何最小化压缩过程中的该损失,但是没有方案意识到添加新模型也可能是有帮助的。但是,直接添加新模型来弥补这一压缩损失会导致新问题。据发明人所知,当前没有针对该问题的良好解决方案。最后考虑的方面是泛化。一种算法的泛化不是无关紧要的,找到共享的特性并在高层次上解决问题可以使一种算法更加泛化。当前,专注于在压缩过程中提高性能的模型压缩算法已被充分泛化,但是如果目标是添加新模型以微调结果,则可能是难以泛化的。
32.鉴于发明人的上述分析和研究,本公开的实施例提出了一种使用分离的两级数据处理模型的技术方案。在该技术方案中,占用较少计算资源的第一数据处理模型被部署在处理能力较低(具有较少计算资源)的第一电子设备中,而占用较多计算资源的第二数据处理模型被部署在处理能力更强(具有更多计算资源)的第二电子设备中。第一数据处理模型对数据进行处理得到初始结果,初始结果的准确度较低但是与被处理的数据相比数据量较小。因此,替代发送原始数据,第一电子设备将初始结果发送给第二电子设备,从而缩短两级数据处理模型之间的传输延迟。第二数据处理模型对初始结果进行调整,以提供具有更高准确度的经调整的结果。以此方式,本公开的实施例通过分离的两级模型避免了单个模型的模型大小与处理结果准确度之间的权衡,并且最小化两级模型之间的传输延迟,从而优化了数据处理模型处理数据的性能。下文参考附图来描述本公开的一些示例实施例。
33.图1示出了本公开的实施例可以在其中实现的示例数据处理环境100的示意图。如图1所示,数据处理环境100包括第一电子设备110和第二电子设备120。第一电子设备110上实现第一数据处理模型112,并且第二电子设备120上实现第二数据处理模型122。如本文中使用的,第一和第二数据处理模型112和122可以是能够对数据进行处理并且输出处理结果的任何模型。在一些实施例中,第一和第二数据处理模型112和122可以是基于机器学习的数据处理模型。在其他实施例中,第一和第二数据处理模型112和122也可以为非基于机器学习的数据处理模型。此外,在本公开的实施例中,第一数据处理模型112和第二数据处理模型122可以是同一种类型的模型,也可以是不同类型的模型。
34.在一些实施例中,第二电子设备120是比第一电子设备110功能(诸如处理能力等)更强大的设备。例如,第二电子设备120可以比第一电子设备110具有更多计算资源。在一些实施例中,第一电子设备110与第二电子设备120的区分可以是相对的。例如,第一和第二电子设备110和120各自具有多少绝对的计算资源,两者中具有较少计算资源的电子设备可以是第一电子设备110,而具有更多计算资源的电子设备可以是第二电子设备120。在另一些实施例中,第一电子设备110与第二电子设备120的区分可以是绝对的。例如,只要电子设备的计算资源少于阈值量,那么电子设备就可以是第一电子设备110,而只要电子设备的计算资源多于阈值量,那么电子设备就可以是第二电子设备120。这样的阈值量可以取决于具体应用场景和处理任务要求。
35.相对应的,第二电子设备120上实现的第二数据处理模型122可以比第一电子设备110上实现的第一数据处理模型112具有更强大的功能(例如,处理结果具有更高准确度),也因此占用更多的计算资源。在一些实施例中,第一数据处理模型112与第二数据处理模型122的区分可以是相对的。例如,不论第一和第二数据处理模型112和122各自占用的绝对计算资源是多少,占用较少计算资源的数据处理模型可以是第一数据处理模型112,而占用更多计算资源的数据处理模型可以是第二数据处理模型122。在另一些实施例中,第一数据处理模型112与第二数据处理模型122的区分可以是绝对的。例如,只要数据处理模型占用的计算资源少于阈值量,那么数据处理模型就可以是第一数据处理模型112,而只要数据处理模型占用的计算资源多于阈值量,那么数据处理模型就可以是第二数据处理模型122。这样的阈值量可以取决于具体应用场景和处理任务要求。
36.在一些实施例中,第一数据处理模型112和第二数据处理模型122可以是通过联合训练得到的,并且因此可以作为前后两级来共同实现对数据的处理。通过联合训练的方式,训练后的第一数据处理模型112和第二数据处理模型122可以被确保为按照被训练的方式来实现对数据的前后级联合处理,从而得出训练所针对的任务所要求的处理结果。当然,在其他实施例中,第一数据处理模型112和第二数据处理模型122也可以分离地被训练,但是仍然可以被训练为前级和后级来共同地完成对数据的处理。为此,尽管第一数据处理模型112和第二数据处理模型122在分离训练时可以具有不同的目标函数,但是两个数据处理模型作为整体可以具有相同的整体目标函数。通过分离训练的方式,第一数据处理模型112和第二数据处理模型122可以按照灵活的方式分别被优化。
37.在图1的示例中,待处理的数据105可以首先被提供给第一电子设备110上的第一数据处理模型112。由于占用较少的计算资源并且具有较低的处理能力,所以第一数据处理模型112经过对数据105的处理,可以生成准确度较低的初始结果115。也就是说,第一数据
处理模型112存在一定程度的准确度(或精度)损失。另外,需要指出的是,由于初始结果115还需要被传送到第二电子设备120以执行进一步的处理,所以初始结果115的数据量可以小于数据105的数据量,以便使初始结果115在第一电子设备110和第二电子设备120之间的传输延迟或时延至少小于数据105在两个电子设备之间的传输延迟,从而可以在整体上降低数据105的处理时延。
38.一般而言,待处理的数据105可以是任何能够被处理的数据。在一些实施例中,数据105可以包括数据量较大而导致较大传输时延的数据,例如,图像、视频、语音等、或它们的任何组合。如上文论述的,通过第一数据处理模型112向第二数据处理模型122提供较小数据量的初始结果115,可以有利地避免将这样的数据量较大的数据105传输到功能更强大的第二数据处理模型122,从而缩短了数据105的原本的传输延迟,进而加快了数据105的整体处理速度。在其他实施例中,待处理的数据105也可以是数据量较小的数据,但是也可以由第一数据处理模型112处理成数据量更小的初始结果115,从而仍然可以缩短数据105的原本的传输延迟,进而加快了数据105的整体处理速度。
39.如图1所示,在生成相比于数据105的数据量较小的初始结果115之后,第一电子设备110将初始结果115发送给第二电子设备120。在接收到初始结果115之后,第二电子设备120基于第二数据处理模型122来调整初始结果115,从而生成经调整的结果125。由于占用较多的计算资源并且具有更强的处理能力,所以第二数据处理模型122生成的经调整的结果125相比于初始结果115具有更高的准确度。换言之,第二数据处理模型122可以弥补第一数据处理模型112的准确度损失。
40.在一些实施例中,第一数据处理模型112可以包括经过压缩的模型。以此方式,第一数据处理模型112可以被确保不会是需要大量计算资源的大规模模型,从而可以有利地被部署在计算资源有限的第一电子设备110中。后文将参考图2来进一步说明模型压缩的示例。在其他实施例中,第一数据处理模型112也可以不是经过压缩的模型,而是可以包括规模较小、占用较少计算资源、并且数据处理准确度有限的任何其他模型。另一方面,在一些实施例中,第二数据处理模型122可以包括语言模型。因为语言模型可以用于处理文字或文本信息,所以第一电子设备110可以有利地向第二电子设备120发送文字形式的初始结果115,以最大限度地降低初始结果115在第一电子设备110与第二电子设备120之间的传输时延。
41.作为一般性的介绍,语言模型可以进行学习来预测词语(或单词)序列的概率。像编程语言一样,形式语言也可以完全被规定。所有保留的词语可以被定义,并且使用它们的有效方式可以精确被定义。但是,自然语言无法做到这一点。自然语言不是被设计的而是自然出现的,因此没有正式的规范。自然语言的某些部分和启发法可能有形式规则,但是未证实的自然语言经常被使用。自然语言涉及大量术语,这些术语可能以引入各种歧义的方式被使用,但仍然可以被其他人所理解。此外,自然语言在变化,词语(或单词)的用法也在变化。这意味着自然语言是一个活动的目标。语言学家试图用正式的语法和结构来规定自然语言。这可以做到,但是非常困难并且结果可能是脆弱的。规定语言模型的替代方法是从自然语言的示例中学习它。
42.考虑语言模型的如下示例:word ordering:p(the cat is small)》p(small the is cat),其说明了语言模型可以做什么。在此示例中,语言模型指出第一句话的概率将大
于第二句话。这种将语言规则建模为概率的能力体现了语言模型对语义的理解,并且为自然语言处理(nlp)相关任务提供了强大的能力。这只是语言模型的许多应用之一。语言模型几乎可以使用在所有与自然语言处理相关的任务中,诸如语音识别、机器翻译、词性标记、解析、光学字符识别、手写识别、信息检索、以及许多其他日常任务。
43.在一些实施例中,第一电子设备110可以包括边缘设备,而第二电子设备120可以包括云端设备。如本文中使用的,边缘设备可以例如是指与用户的用户设备或物联网设备较近的通信网络设备、计算机网络设备、或云计算网络中的位于云边缘的网络设备等。通过这样的边缘设备和云端设备的设置,本公开的实施例提供的分离的两级数据处理模型可以有利地部署到“边缘+云”的技术场景中,从而改进“边缘+云”技术场景中的数据处理性能。后文将参考图3至图5来进一步描述这样的实施例。在其他实施例中,第一电子设备110可以包括设备能力较低(例如,具有有限计算资源)的任何其他的电子设备,诸如用户使用的各种用户设备、各种通信网络和计算机网络中的终端设备、物联网设备、车载设备等。而第二电子设备120可以包括设备能力较强(例如,具有较多计算资源)的任何其他的电子设备,诸如大型计算机、服务器、计算机集群等。
44.在一些实施例中,第一电子设备110和第二电子设备120可以包括任何能够实现计算功能和/或控制功能的设备,包括但不限于,专用计算机、通用计算机、通用处理器、微处理器、微控制器、状态机、移动电话、蜂窝电话、智能电话、ip语音(voip)电话、无线本地环路电话、平板、可穿戴终端设备、个人数字助理(pda)、便携式计算机、台式计算机、诸如数码相机等图像捕获终端设备、游戏终端设备、音乐存储和回放设备、车载无线终端设备、无线端点、移动台、智能设备、无线客户驻地设备(cpe)、物联网(lot)设备、车辆、无人机、医疗设备和应用(例如,远程手术设备)、工业设备和应用(例如,在工业和/或自动处理链环境中操作的机器人和/或其他无线设备)、消费电子设备、在商业和/或工业无线网络上操作的设备,等等。第一电子设备110和第二电子设备120还可以实施为个体计算设备或计算设备的组合,例如,数字信号处理器(dsp)和微处理器的组合、多个微处理器、一个或多个微处理器结合dsp核心、或者任何其他这样的配置。另外要指出的是,在本公开的上下文中,第一电子设备110和第二电子设备120也可以称为计算设备,这两个术语在本文中可以互换地使用。
45.在一些实施例中,本公开所涉及的系统或环境中的各个设备或组件之间的通信链路可以是能够实现这些设备或组件之间的数据通信或控制信号通信的任何形式的连接或耦合,包括但不限于,同轴电缆、光纤电缆、双绞线、或无线技术(诸如红外、无线电和微波)。在一些实施例中,通信链路还可以包括但不限于,网卡、集线器、调制解调器、中继器、网桥、交换机、路由器等用于网络连接的设备、以及各种网络连接线路、无线链路等。在一些实施例中,通信链路可以包括各种类型的总线。在其他实施例中,通信链路可以包括计算机网络、通信网络、或者其他有线或无线网络。
46.应当理解,图1仅示意性地示出了数据处理环境100中的与本公开的实施例相关的单元、元素、模块或组件。在实践中,数据处理环境100还可以包括用于其他功能的其他单元、元素、模块或组件。此外,图1中示出的设备、单元、元素、模块或组件的特定数目仅是示意性的,无意以任何方式限制本公开的范围。在其他实施例中,数据处理环境100可以包括任何适当数目的电子设备和相关元素。因此,本公开的实施例不限于图1所描绘的具体场景,而是一般性地适用于任何分离的数据处理模型的技术环境。
47.图2示出了根据本公开的实施例的使用剪枝方式的模型压缩的示意图。在图2的示例中,模型210可以是在剪枝之前的示例性模型。例如,模型210可以包括节点(也称为处理单元或神经元等)212、214和216在内的九个节点,这些节点形成三个层。每个层中的节点与邻近层中的节点均存在连接,每个连接可能代表模型210内部的一次运算。例如,这些连接包括节点212与214之间的连接213、以及节点212与216之间的连接215。
48.如图2所示,在经过剪枝之后,模型210可以变为经过压缩的模型220。模型210各层的节点之间的连接中的部分连接被认为不重要的连接而被“剪枝”,也即被忽略或从模型210中删除。例如,在图2的该示例中,连接215相比于连接213被认为重要性较低。因此,连接215在经过压缩的模型220中被忽略或删除,而连接213在模型220中被保留。通过剪掉某些连接,模型210中的运算量可以减少,模型参数也可以减少。尽管图2以剪枝的方式示出了模型压缩的示例,但是本公开的模型压缩不限于此,而是等同地适用于任何其他的模型压缩方法,例如量化、低秩分解、知识蒸馏等。
49.一般而言,模型压缩是在保持模型准确度的同时将模型修剪或变更成较小的模型。在一些情况下,使数据处理模型(例如,分类器或回归器)具有高准确度是不够的,数据处理模型还必须满足严格的时间要求和空间要求。但是,在许多情况下,最佳表现的模型太慢且太大而无法满足这些要求,而快速且紧凑的模型则较不精确,因为它们的表达性不足,或者它们过度拟合到有限的训练数据。对于这样的情况,模型压缩可以帮助获得快速、紧凑但高度准确的模型。总的来说,模型压缩背后的主要思想是使用快速且紧凑的模型来近似由较慢、较大、但更好表现的模型所学习的功能。
50.如上文指出的,更多研究人员转向模型压缩的一个具体原因是难以在硬件资源有限的系统上部署功能强大的模型。虽然这些模型已经成功地引起关注并实现了非凡的性能,但功能强大的模型需要昂贵的高速计算资源(例如,cpu、gpu等)的支持才能工作,这限制了这些强大模型的应用。然而,尽管模型压缩的目的是在不牺牲准确度的情况下压缩模型,但是要实现这一目标却很困难。例如,在一些压缩场景中,压缩模型或许节省了大量空间,但是模型的准确度可能仅为一半,这样的准确度可能太低而无法使模型被应用的系统恰当地工作。
51.图3示出了根据本公开的实施例的边缘计算和云计算的示例场景300的示意图。如图3所示,示例场景300包括物联网310、边缘计算部分320和云部分330。在一些实施例中,由物联网310中的设备产生的待处理数据可以提供给边缘计算部分320中的边缘设备来进行实时的数据处理。边缘计算部分320对数据的处理结果也可以实时返回给物联网310的设备,以便由物联网310中的设备来执行相关的操作或后续处理。
52.在一些情况下,边缘计算卸载可以在示例场景300中执行。如所提到的,在示例场景300的物联网(iot)设置中,许多计算需要在边缘计算部分320的边缘设备中执行,但是边缘设备中的计算资源是有限的,这可能会导致巨大的处理时延。因此,边缘计算部分320中的一些操作可以被卸载到云330中。通过将这些计算或甚至模型卸载到云330中,数据处理模型的推断时间将比在边缘设备上运行这些操作或模型要短得多。但是,如上文指出的,还应当被考虑的是由云330与边缘320之间的数据传送所带来的时间延迟。也即,需要处理的数据需要从边缘计算部分320被传送到云330中,并且云330中的计算结果可能需要被传送回到边缘计算部分320。因此,如何平衡由数据传送和模型推断带来的时延可能是重要的。
53.图4示出了根据本公开的实施例的由初始模型415和微调模型425组成的可分离模型430在“边缘+云”场景中的示例部署400。如上文提到的,“边缘+云”场景具有在技术上具有一些特点,例如边缘设备的设备能力较低,通常具有较少的计算资源,而云端设备的设备能力较强,通常具有更多的计算资源,以及边缘设备与云端设备之间的数据传输延迟是不可忽略的。
54.如图4所示,针对“边缘+云”场景的上述特点,本公开的实施例可以提供包括初始模型415和微调模型425两部分的可分离模型430。需要说明的是,初始模型415可以是图1中描绘的第一数据处理模型112的示例,因此可以占用较少的计算资源并且处理结果可能具有较低的准确度。而微调模型425可以是图1中描绘的第二数据处理模型122的示例,因此可以占用较多的计算资源并且处理结果可以具有较高的准确度。如图4中的箭头方向所示,根据“边缘+云”场景和可分离模型430这两者的特点,可分离模型430中的初始模型415可以被部署在边缘设备410中,而可分离模型430中的微调模型425可以被部署在云端设备420中。
55.如上文提到的,在一些实施例中,微调模型425可以是语言模型,从而可以有利地实现在初始模型415和微调模型425之间的文字信息传输,以最大限度地缩短这样的文字信息在边缘设备410与云端设备420之间的传输延迟。因此,在本公开的这样实施例中,实现了一种基于语言模型的可分离的压缩算法。该算法可以使用语言模型(在云中)对压缩模型的结果进行微调,以弥补压缩所带来的准确度损失,同时可以使数据处理的相关任务(例如,自然语言处理的相关任务)的结果更好。与其他压缩和微调算法相比,此算法(对于边缘设备)更快且空间效率更高。
56.图5示出了根据本公开的实施例的可分离模型430部署在“边缘+云”场景中时的数据处理流程500的示意图。需要说明的是,尽管图5将初始模型415描绘在边缘设备410的外部,并且将微调模型425描绘在云端设备420的外部,但是这仅是示意性的,以便为了更好地说明数据在各个单元或模块之间的流动。在具体的实现中,初始模型415可以实现在边缘设备410中,并且微调模型425可以实现在云端设备420中。
57.如图5所示,在数据处理流程500中,边缘设备410可以将原始数据510提供给初始模型415。初始模型415可以对原始数据510进行处理以生成粗略结果520。需要说明的是,粗略结果520可以是图1中描绘的初始结果115的示例。然后,相比于原始数据510具有较小数据量的粗略结果520可以被提供给云端设备420。云端设备420可以基于微调模型425来调整或处理粗略结果520以生成输出530,例如准确结果。
58.从图4和图5可以看出,在模型拆分和分布设计方面,本公开的实施例可以例如考虑由若干个(例如,2个或3个)简单子任务组成的复杂数据处理任务。后文将参考图9和图10来描述一些使用实例。需要指出的是,当前的大多数工作在这些数据处理任务中使用端到端的解决方案,但是这些端到端的解决方案不够灵活。此外,尽管可能有极少数的解决方案考虑到分开地训练模型,但是分开训练将使模型收敛到一个良好的次优点变得更加困难,并且导致许多其他问题。
59.如图4和图5所示,本公开的实施例使模型可分离以便以灵活的方式调整模型的准确度以满足数据处理任务的需求。具体地,在一些实施例中,模型可以被分为两个部分。第一部分可以称为感知部分,感知部分中的模型可以仅需要较低的准确度来完成其数据处理任务。感知部分的输入可以直接来自边缘设备,并且具有较大的大小(例如,图像,视频,语
音等)。感知部分可以仅需要给出粗略的处理结果。第二部分可以称为微调部分。微调部分中的模型可能需要精确以微调感知部分的输出并且给出调整后的结果。微调部分的输入通常从感知部分得出,并且这些输入的大小通常可以很小。微调部分需要给出精确结果以作为最终输出。
60.在图5的示例中,初始模型415属于感知部分,而微调模型425属于微调部分。假设在示例情况下,初始模型415的数据处理任务可能是从图片中识别文字。初始模型415可以直接从边缘设备410获取图像并给出文字的粗略结果520。微调模型425可以从初始模型415获得粗略结果520并对粗略结果520进行微调。然后,微调模型425可以输出准确且更好的结果。此外要说明的是,在上述示例情况下,粗略结果520是文字,其数据量大小比图像小得多。因此,与在边缘设备410和云端设备420之间传送图像相比,传送文字要花费更少的时间。另外,微调模型425需要准确,因此需要占用更多计算资源和更大的空间。因此,微调模型425被部署在云端设备420上,初始模型415被部署在边缘设备410上,两个模型之间的数据传送时间被最小化,每个模型的准确度和模型大小也满足了需求。总体而言,具有低准确度和大输入的初始模型415被设置在边缘设备410上,而具有高准确度和小输入的微调模型425则被设置在云端设备420上。
61.图6a示出了根据本公开的实施例的在第一电子设备110与第二电子设备120之间的交互过程600的示意图。为了论述的目的,将参考图1来描述交互过程600。然而,将明白,交互过程600可以等同地适用于两个电子设备通过分离的数据处理模型来完成共同数据处理任务的任何其他类似的场景。需要说明的是,在图6a中,可选的动作或操作采用虚线表示。
62.如图6a所示,第一电子设备110基于第一数据处理模型112来处理(610)数据105以生成初始结果115。如上文提到的,初始结果115的数据量小于数据105的数据量。例如,数据105可以是视频、图像、音频等数据量大的数据,而初始结果115可以是文字或文本内容等数据量小的数据。又例如,数据105可以是视频、图像、音频等数据量大的数据,而初始结果115可以是经过压缩的视频、图像、音频等数据量小的数据。更一般地,数据105可以是任何类型的数据,而初始结果115也可以具有任何类型的形式,只要初始结果115的数据量小于数据105的数据量。以此方式,第一电子设备110和第二电子设备120之间可以传输数据量较小的初始结果115,而不必传输数据量较大的数据105,从而第一电子设备110与第二电子设备120之间的数据传输延迟可以被缩短。
63.在生成初始结果115之后,第一电子设备110将初始结果115发送(620)给第二电子设备120。相应地,第二电子设备120从第一电子设备110接收(630)初始结果115。在接收(630)到初始结果115之后,第二电子设备120基于第二数据处理模型122来调整(640)初始结果115以生成经调整的结果125。如上文提到的,由于第二数据处理模型122比第一数据处理模型112占用更多计算资源,因此相比第一数据处理模型112是处理能力更加强大的模型,所以经调整的结果125的准确度高于初始结果115。
64.例如,假设数据105是图像数据,并且第一数据处理模型112和第二数据处理模型122的数据处理任务是识别的图像数据105中的对象。在这种情况下,第一数据处理模型112生成的初始结果115可能是图像数据105的粗略识别结果,其中可能存在识别错误的对象或遗漏未识别的对象。而第二数据处理模型122生成的经调整的结果125是准确度更高的识别
结果,其可以纠正初始结果115中识别错误的对象或识别出遗漏未识别的对象。
65.又例如,假设数据105是音频数据,并且第一数据处理模型112和第二数据处理模型122的数据处理任务是将音频数据105转换成文字内容。在这种情况下,第一数据处理模型112生成的初始结果115可能是音频数据105的粗略转换结果,其中可能存在转换错误的内容或遗漏未转换的内容。而第二数据处理模型122生成的经调整的结果125是准确度更高的转换结果,其可以纠正初始结果115中转换错误的内容或转换出遗漏未转换的内容。
66.更一般地,随着数据105所记录的内容不同,以及第一数据处理模型112和第二数据处理模型122的数据处理任务不同,初始结果115和经调整的结果125的内容可能不同,并且结果的准确度的具体测度方式也可能不同。但是,总而言之,第一电子设备110可以基于第一数据处理模型112对数据105进行初步的分析和处理,从而得出准确度较低的初始结果115。而第二电子设备120可以基于第二数据处理模型122对初始结果115进行进一步的调整或处理,从而得出准确度更高的经调整的结果125。
67.通过示例过程600,分离的第一数据处理模型112和第二数据处理模型122避免了在单个模型的模型大小与处理结果准确度之间的权衡,并且使第一数据处理模型112和第二数据处理模型122之间的数据传输延迟尽可能地小,从而优化了第一数据处理模型112和第二数据处理模型122作为整体的数据处理性能。
68.在一些实施例中,第一电子设备110可以并不总是将初始结果115发送给第二电子设备120。替代地,在将初始结果115传送给第二电子设备120之前,第一电子设备110可以首先判断初始结果115的准确度是否已经满足了数据处理任务的要求,以确定是否有必要向第二电子设备120发送初始结果115。以此方式,第一电子设备110可以仅在有必要时才将初始结果115发送给第二电子设备120,从而可以减少对第二电子设备120处的处理资源、以及第一电子设备110与第二电子设备120之间的传输资源的消耗。
69.更具体地,如果第一电子设备110确定(613)初始结果115的置信度小于阈值,则第一电子设备110可以将初始结果115发送(620)给第二电子设备120,以便由第二电子设备120得出准确度更高的经调整的结果125。如果初始结果115的置信度不够高,则对初始结果115的微调可以认为是必要的。为了计算初始结果115的置信度,可以使用诸如交叉熵之类的一些度量。在一些实施例中,上述置信度阈值可以取决于具体的数据处理任务。例如,如果应用场景是识别车辆的车牌以确定车辆的行驶操作是否合规,那么可能并不需要很高的识别准确度就可以满足数据处理任务的要求,因此置信度阈值可以较低。另一方面,如果第一电子设备110确定(613)初始结果115的置信度高于阈值,则第一电子设备110可以不用将初始结果115发送(620)给第二电子设备120,从而节省第二电子设备120的处理资源以及第一电子设备110与第二电子设备120之间的传输资源。
70.在一些实施例中,为了尽可能地减小初始结果115从第一电子设备110传输到第二电子设备120的传输延迟,第一电子设备110可以使用文字或文本的形式来生成初始结果115,以使初始结果115的数据量最小化。具体地,在基于第一数据处理模型112处理(610)数据105时,第一电子设备110可以处理数据105以生成文字或本文形式的初始结果115。换言之,初始结果115可以采用文字或本文的形式。相应地,第二电子设备120可以接收并处理文字或本文形式的初始结果115。如此,初始结果115在第一电子设备110与第二电子设备120之间的传输时延可以被最小化。
71.在一些实施例中,第二电子设备120可以将经调整的结果125发送(643)给第一电子设备110。相应地,第一电子设备110可以从第二电子设备120接收(645)经调整的结果125。如此,如果第一电子设备110是用户设备,那么用户可以通过第一电子设备110得到经调整的结果125,从而实现或完成用户期望实现的功能、操作或处理。如果第一电子设备110是边缘设备,那么第一电子设备110可以基于经调整的结果125来实现对用户设备的指示或控制,或者可以进一步将经调整的结果125提供给用户设备,从而实现或完成用户期望实现的功能、操作或处理。当然,在其他实施例中,第二电子设备120可以直接将经调整的结果125发送给用户设备,从而实现或完成用户期望实现的功能、操作或处理。在这样的实施例中,第二电子设备120可以无需将经调整的结果125发送(643)给第一电子设备110。
72.在一些实施例中,第二电子设备120可以基于第二数据处理模型122来进一步处理(647)经调整的结果125,以生成最终结果605。换言之,最终结果605可以是由第二电子设备120基于经调整的结果125进一步生成的。在一些实施例中,最终结果605可以是由功能强大的第二数据处理模型122对数据105中的内容进行分析后得出的修改建议或获得的其他有用信息。例如,最终结果605可以改正数据105的内容中存在的错误,或者发现可以从数据105的内容中推断出的对用户有用的其他信息。在其他实施例中,最终结果605也可以是以任何其他方式对经调整的结果125进一步改进或挖掘后的再次优化的处理结果。
73.然后,第二电子设备120可以将最终结果605发送(649)给第一电子设备110。相应地,第一电子设备110可以从第二电子设备120接收(651)最终结果605。以此方式,除了可以向用户提供关于数据105的数据处理任务要求内的处理结果之外,第一数据处理模型112和第二数据处理模型122还可以向用户提供数据处理任务要求以外的更多处理结果和功能,从而进一步优化第一数据处理模型112和第二数据处理模型122作为整体的数据处理性能。
74.图6b示出了根据本公开的实施例的在第一电子设备110与第二电子设备120之间的另一交互过程602的示意图。为了论述的目的,将参考图1来描述交互过程602。然而,将明白,交互过程602可以等同地适用于两个电子设备通过分离的数据处理模型来完成共同数据处理任务的任何其他类似的场景。需要说明的是,图6b中描绘的交互过程602可以认为是图6a中描绘的交互过程600的另一种示例实现方式。
75.如图6b所示,在示例过程602中,与示例过程600相类似,第一电子设备110基于第一数据处理模型112来处理(610)数据105以生成初始结果115,初始结果115的数据量小于数据105的数据量。例如,数据105可以是视频、图像、音频等数据量大的数据,而初始结果115可以是文字或文本内容等数据量小的数据。然后,第一电子设备110将初始结果115发送(620)给第二电子设备120。相应地,第二电子设备120从第一电子设备110接收(630)初始结果115。
76.与示例过程600不同的是,除了向第二电子设备120提供初始结果115之外,第一电子设备110还可以生成(615)用于描述数据105的内容的文字信息625。如本文中使用的,文字信息625是用于描述数据105所记录的内容的,并且可以由第二电子设备120用于更好地调整初始结果115以生成经调整的结果125。例如,假设数据105是图像数据并且记录的内容是一只狗正在草地上奔跑的画面。在这样的情况下,文字信息625例如可以是用于描述“狗在草地上奔跑”这一内容的文字信息或文字信息。更一般地,随着数据105所记录的内容不同,第一电子设备110可以对数据105进行分析和处理,从而得出用于描述数据105的内容的
文字信息625。在一些实施例中,第一电子设备110可以基于第一数据处理模型112来获得文字信息625。在其他实施例中,第一电子设备110也可以通过与第一数据处理模型112无关的其他方式来获得文字信息625。
77.在生成(615)文字信息625之后,第一电子设备110可以将文字信息625发送(617)给第二电子设备120。同时参考图6a和图6b,在第一电子设备110向第二电子设备120提供初始结果115和文字信息625两者的情况下,第二电子设备120在执行基于第二数据处理模型122来调整(640)初始结果115时,第二电子设备120可以首先从第一电子设备110接收(619)用于描述数据105的内容的文字信息625,并且然后可以基于文字信息625和初始结果115来生成(621)经调整的结果125。通过示例过程602,第一电子设备110可以向第二电子设备120提供与数据105有关的更多信息(例如,文字信息625),以用于辅助第二电子设备120生成经调整的结果125,从而经调整的结果125的准确度可以进一步被提高。因此,第一数据处理模型112和第二数据处理模型122作为整体的数据处理性能可以进一步被优化。
78.图7示出了根据本公开的实施例的第二电子设备120基于第二数据处理模型122使用两级微调算法的处理过程700的示意图。需要说明的是,图7进一步示出了第二数据处理模型122产生上文参考图6a描述的经调整的结果125和最终结果605的两级微调处理方式。如图7所示,第一数据处理模型112可以提供初始结果115,而第二数据处理模型122可以对初始结果115执行两级的微调处理,从而分别生成经调整的结果125和最终结果605。具体地,在第一级微调处理710中,第二数据处理模型122可以基于初始结果115来生成经调整的结果125。进一步地,在第二级微调处理720中,第二数据处理模型122可以基于经调整的结果125来生成最终结果605。在一些实施例中,经调整的结果125和最终结果605可以用于满足数据处理任务的不同需求。
79.如上文指出的,常规的模型压缩算法更多地关注于如何修剪无意义的模型部分以减小模型大小,但现实世界中的情况并不理想。由于某些原因,一些有用的模型部分在压缩过程中可能也被修剪掉。因此,经过压缩的模型的压缩损失是不可避免的,尤其是在边缘计算的上下文中。因此,在本公开的一些实施例中,可以考虑在模型压缩之后如何更好地对初始结果进行微调。在自然语言处理和图7描绘的方式下,本公开的实施例可以实现一种基于语言模型的两级微调算法。具体来说,在第一级微调中,作为第二数据处理模型122的语言模型的任务可以是弥补第一数据处理模型112(例如,由于压缩引起)的精度损失。对于上文描述的文字识别示例,语言模型的任务可以是使文字更接近图像中的原始文字。然后,在第二级微调中,语言模型可以进行更高级的微调。例如,语言模型可以对识别出的文字给出一些建议,以使其更有意义或使其更好地针对某些其他目标。在该阶段中,语言模型可能不直接改变“经调整的结果125”的内容,该第二级别微调的形式可能是多种多样,诸如向用户给出建议等。
80.图8示出了根据本公开的实施例的两级微调算法被实现在“边缘+云”场景中的总体结构800的示意图。如图8所示,在边缘端802的边缘设备810可以向经过压缩的模型815输入待处理的数据。需要说明的是,经过压缩的模型815可以是图1中的第一数据处理模型112的示例。例如,经过压缩的模型815由于是被压缩的,所以具有较小的模型大小,因此可以部署在计算资源或其他资源较少的边缘设备810处,并且占用较少的计算资源或其他资源,从而仅可以提供准确度较低的处理结果。因此,经过压缩的模型815可以对边缘设备810输入
的数据进行处理,从而得出粗略结果820,其可以是前文描述的初始结果115的示例。还需要说明的是,尽管图8将经过压缩的模型815描绘在边缘设备810的外部,但是这仅是示意性的,以便为了更好地说明数据在各个单元或模块之间的流动。在具体的实现中,经过压缩的模型815可以实现在边缘设备810中。
81.在一些实施例中,边缘设备810可能判断粗略结果820是不够准确的。例如,粗略结果820的置信度可能低于阈值。又例如,粗略结果820可能无法实现用户或者数据处理的目标功能。在这样的实施例中,边缘设备810可以将粗略结果820以文字形式(或文本形式)发送给实现在云端804的语言模型825。需要说明的是,语言模型825可以是图1中的第二数据处理模型122的示例。例如,语言模型825可以是未经压缩的先进机器学习模型,所以具有较大的模型大小,因此可以部署在计算资源或其他资源较多的云端804,并且占用较多的计算资源或其他资源,从而可以提供准确率更高的处理结果。
82.如图8所示,作为第一级别的微调,语言模型825可以对粗略结果820进行调整,从而得出微调的结果830,其可以是前文描述的经调整的结果125的示例。例如,微调的结果830可以比粗略结果820具有更高的准确度。在一些实施例中,尽管在图8中未示出,但是微调的结果830可以从云端804被传送到边缘端802,并且进一步被提供给用户。例如,微调的结果830可以按照文字或文本形式被传送,以减少传输时延。另外,作为第二级别的微调,语言模型825还可以对微调的结果830执行进一步的处理,从而得出最终结果835。需要说明的是,最终结果835可以是上文关于图6a和图7描述的最终结果605的示例。例如,最终结果835可以比微调的结果830具有更高的准确度。又例如。相比于微调的结果830,最终结果835可以提供附加的信息或更丰富的功能,或者是对于用户更有意义的结果。然后,最终结果835可以从云端804被传送到边缘端802,并且进一步提供给用户。例如,最终结果835可以按照文字或文本形式被传送,以减少传输时延。
83.图9示出了根据本公开的实施例被应用到思维导图识别场景中的使用实例900的示意图。如图9所示,在思维导图识别的使用实例900中,假设思维导图被手动绘制在白板910上并且需要被转换为电子版本。例如,通过图像采集设备(诸如相机、手机或平板设备等),基于描绘有思维导图的白板910,思维导图图像920可以被生成并且被提供给感知模型930。需要说明的是,感知模型930可以是图1中的第一数据处理模型112的示例。例如,感知模型930可以被部署在计算资源较少的第一电子设备110(例如,边缘设备)处,并且占用较少的计算资源,从而仅可以提供准确度较低的识别结果。因此,感知模型930可以对思维导图图像920进行处理,从而得出粗略思维导图940。例如。由于感知模型930是占用较少计算资源且识别能力有限的模型,因此感知模型930提供的粗略思维导图940中可能存在错误识别的词语(或节点),或者存在遗漏的未被识别出的词语等。
84.为了识别出更加准确的结果,粗略思维导图940可以进一步被提供给微调模型950(例如,语言模型)。需要说明的是,微调模型950可以是图1中的第二数据处理模型122的示例。例如,微调模型950可以被部署在计算资源较多的第二电子设备120(例如,云端设备)处,并且占用较多的计算资源,从而可以提供准确率更高的识别结果。因此,作为第一级别的微调,微调模型950可以对粗略思维导图940进行调整,弥补感知模型930(例如,由于模型压缩导致)的准确度损失,从而生成准确思维导图960,其可以是前文描述的经调整的结果125的示例。例如,由于微调模型950是占用较多计算资源的功能更强大的模型,因此微调模
型950可以在准确思维导图960中纠正粗略思维导图940中识别错误的词语,补充未识别的词语等。
85.另外,作为第二级别的微调,微调模型950还可以在准确思维导图960的基础上提供改进思维导图的建议970。需要说明的是,改进思维导图的建议970可以是前文关于图6a和图7描述的最终结果605的一种示例。例如,思维导图的建议970可以发现准确思维导图960中的节点之间的不合理的关联连接,新发现两个节点之间可能存在关联连接,思维导图中可能存在的逻辑问题,优化思维导图的结构,指出思维导图中的不必要的节点,等等。换句话说,语言模型的添加还可以通过理解思维导图中的内容来提供更好的结果,也即,通过使系统更智能来弥补准确度损失。该更好的结果在图9的示例情况下可以用建议的形式给出。
86.图10示出了根据本公开的实施例被应用到图像分类场景中的使用实例1000的示意图。如图10所示,在图像分类的使用实例1000中,数据处理任务是识别图像中的对象。在图10的示例中,狗的图像1010可以按照原始图像数据1020的形式被提供给感知模型1030(例如,压缩的图像分类模型)。需要说明的是,感知模型1030可以是图1中的第一数据处理模型112的示例。例如,感知模型1030可以被部署在计算资源较少的第一电子设备110(例如,边缘设备)处,并且占用较少的计算资源,从而仅可以提供准确度较低的识别结果(也称为预测结果)。因此,感知模型1030可以对原始图像数据1020进行处理,从而得出粗略预测1040,其可以前文描述的初始结果115的示例。例如,由于感知模型1030可能是占用较少计算资源且识别能力有限的模型,因此感知模型1030可能仅识别出原始图像数据1020中存在狗的形象。
87.在一些情况下,粗略预测1040可能不够准确,不足以完成识别图像中的对象的任务。为了识别出更加准确的结果,粗略预测1040可以进一步被提供给微调模型1050。需要说明的是,微调模型1050可以是图1中的第二数据处理模型122的示例。例如,微调模型1050可以被部署在计算资源较多的第二电子设备120(例如,云端设备)处,并且占用较多的计算资源,从而可以提供准确率更高的识别结果(也称为预测结果)。因此,微调模型1050可以对粗略预测1040进行调整,从而得出准确结果1070,其可以是前文描述的经调整的结果125的示例。例如,由于微调模型1050是占用较多计算资源的功能更强大的模型,因此准确结果1070中可以识别出狗的图像1010中所记录的与狗有关的更多信息,诸如狗的具体类型、狗的颜色、狗的动作、或狗的任何其他相关特征。
88.如图10所示,在一些实施例中,为了使微调模型1050能够得出准确结果1070,狗的图像1010可以被序列化为用于描述狗的图像1010的内容的视觉词语1060。需要说明的是,视觉词语1060可以是前文关于图6b描述的文字信息625的一种示例。例如,视觉词语1060可以用于描述狗的图像1010中所呈现的关于狗的任何相关信息,例如狗在图像1010中正在进行的动作等。因此,基于粗略预测1040和视觉词语1060两者,微调模型1050可以更精确且更高效地提供准确结果1070。需要指出的是,在这种情况下,用于传送视觉词语1060的时延可以比传送狗的图像1010的延迟要小得多,这也是本公开的实施例的思想之一,仅传送“小内容”并尝试使用高能力设备(例如,云端设备)中的巨大资源。
89.在一些实施例中,实现感知模型1030的第一电子设备110可以执行对狗的图像1010的序列化,从而提供视觉词语1060。在其他实施例中,狗的图像1010的序列化也可以由
不同于第一电子设备110和第二电子设备120的设备来执行。此外,在图10未示出的一些实施例中,视觉词语1060可以不是由第一电子设备110提供给第二电子设备120,而是可以由第二电子设备120基于微调模型1050对准确结果1070的第二级别处理来得出的。在这样的实施例中,视觉词语1060可以是前文关于图6a和图7描述的最终结果605的一种示例。
90.图11示出了根据本公开的实施例的一种数据处理方法1100的示例流程图。在一些实施例中,方法1100可以由示例环境100中的第一电子设备110来实现,例如可以由第一电子设备110的处理器或处理单元来实现,或者由第一电子设备110的各种功能模块来实现。在其他实施例中,方法1100也可以由独立于示例环境100的计算设备或电子设备来实现,或者可以由示例环境100中的其他单元或模块来实现。为了便于说明,将参考图1来描述方法1100。
91.在框1110处,第一电子设备110基于第一数据处理模型112来处理数据105以生成初始结果115,初始结果115的数据量小于数据105的数据量。在框1120处,第一电子设备110将初始结果115发送给第二电子设备120,初始结果115在第二电子设备120处基于第二数据处理模型122而被调整以生成经调整的结果125,其中第二电子设备120比第一电子设备110具有更多计算资源,第二数据处理模型122比第一数据处理模型112占用更多计算资源,经调整的结果125的准确度高于初始结果115。
92.在一些实施例中,第一电子设备110将初始结果115发送给第二电子设备120可以包括:如果第一电子设备110确定初始结果115的置信度小于阈值,则将初始结果115发送给第二电子设备120。在一些实施例中,第一电子设备110基于第一数据处理模型112来处理数据105可以包括:第一电子设备110处理数据105以生成文字形式的初始结果115。在一些实施例中,方法1100还可以包括:第一电子设备110生成用于描述数据105的内容的文字信息,以及第一电子设备110将文字信息发送给第二电子设备120。
93.在一些实施例中,方法1100还可以包括:第一电子设备110从第二电子设备120接收经调整的结果125。在一些实施例中,方法1100还可以包括:第一电子设备110从第二电子设备120接收最终结果,最终结果是由第二电子设备120基于经调整的结果125生成的。在一些实施例中,第一数据处理模型112和第二数据处理模型122可以是通过联合训练得到的。在一些实施例中,第一数据处理模型112可以包括经过压缩的模型,并且第二数据处理模型122可以包括语言模型。在一些实施例中,第一电子设备110可以包括边缘设备,并且第二电子设备120可以包括云端设备。在一些实施例中,数据105可以包括图像、视频和语音中的至少一者。
94.图12示出了根据本公开的实施例的另一数据处理方法1200的示例流程图。在一些实施例中,方法1200可以由示例环境100中的第二电子设备120来实现,例如可以由第二电子设备120的处理器或处理单元来实现,或者由第二电子设备120的各种功能模块来实现。在其他实施例中,方法1200也可以由独立于示例环境100的计算设备或电子设备来实现,或者可以由示例环境100中的其他单元或模块来实现。为了便于说明,将参考图1来描述方法1200。
95.在框1210处,第二电子设备120从第一电子设备110接收由第一电子设备110基于第一数据处理模型112处理数据105生成的初始结果115,初始结果115的数据量小于数据105的数据量。在框1220处,第二电子设备120基于第二数据处理模型122来调整初始结果
115以生成经调整的结果125,其中第二电子设备120比第一电子设备110具有更多计算资源,第二数据处理模型122比第一数据处理模型112占用更多计算资源,经调整的结果125的准确度高于初始结果115。
96.在一些实施例中,初始结果115可以采用文字形式。在一些实施例中,第二电子设备120基于第二数据处理模型122来调整初始结果115可以包括:第二电子设备120从第一电子设备110接收用于描述数据105的内容的文字信息,以及第二电子设备120基于文字信息和初始结果115来生成经调整的结果125。在一些实施例中,方法1200还可以包括:第二电子设备120将经调整的结果125发送给第一电子设备110。在一些实施例中,方法1200还可以包括:第二电子设备120基于第二数据处理模型122来处理经调整的结果125以生成最终结果,以及将最终结果发送给第一电子设备110。
97.在一些实施例中,第一数据处理模型112和第二数据处理模型122可以是通过联合训练得到的。在一些实施例中,第一数据处理模型112可以包括经过压缩的模型,并且第二数据处理模型122可以包括语言模型。在一些实施例中,第一电子设备110可以包括边缘设备,并且第二电子设备可以包括云端设备。在一些实施例中,数据105可以包括图像、视频和语音中的至少一者。
98.图13示出了根据本公开的实施例相对于传统方案的技术优点的图形表示1300。在图13中,框1310表示与本公开的实施例相关的两种传统方案,也即传统的模型压缩算法和传统的“边缘+云”解决方案。如图13所示,在传统的压缩算法中,存在问题1320,也即需要仔细考虑模型准确度与模型大小之间的权衡。而在传统的“边缘+云”解决方案中,存在问题1330,也即在需要处理的内容的数据量很大的情况下,将该内容从边缘设备传输到云端设备将会导致巨大的时延。这些传统方案中存在的问题均被本公开的实施例很好地解决。如在框1340中指出的,本公开的一些实施例的方案根据设备能力和模型大小来分离地设置两个模型,从而解决了问题1320,无需在准确度与模型大小之间进行权衡,而是两者均达到最优。此外,由于两个模型之间仅传送比原始数据的数据量小的初始结果,从而解决了问题1330。特别是在一些实施例中,云端设备处可以使用语言模型,因此边缘设备仅需要将数据量很小的文字或文本内容传输给云端设备。
99.概略地说,本公开的实施例解决了传统方法中的各种问题并且提出了一种基于分离的两级数据处理模型的新微调方法。具体来说,本公开的实施例主要贡献可以详述如下。首先是可分离模型。在本公开的实施例中,分离模型可以避免准确度冗余并且以灵活的方式调整模型的准确度。模型分离也使后级数据处理模型中的两级微调处理成为可能。此外,与端到端解决方案不同,在本公开的实施例的算法中,尽管模型仍然可以作为整体被训练,但模型也可以拆分为两部分(例如,感知模型和微调模型)。这两个部分可以用灵活的方式进行优化,以达到高准确度,微调模型可以很大,而通过模型压缩可以实现更高的空间效率。
100.其次是卸载策略。为了部署这两个分离的模型,需要考虑模型大小、传送问题和其他因素,以设计用于解决模型分离问题的模型分布策略。好的策略是本公开的实施例算法的空间和时间效率的基础。此外,可以使用一些指标来计算压缩模型提供的处理结果的置信度,以确定后续的微调过程是否为必要。例如,只有被判断为不准确的结果才会传送到云中以获得更好的结果。新颖的边缘卸载(“边缘+云”模式)策略也被提出作为用于边缘卸载
的综合策略。对于模型分布,将具有小数据量输入和输出的大型模型部署在云中,而将具有大数据量输入和输出的小型模型部署在边缘设备上。这可以实现空间效率和时间效率两者。
101.然后是基于语言模型的两级微调处理。两级语言模型的微调充分利用了语言模型,该算法可以有助于弥补模型压缩的损失并且还改进结果。即使压缩后的模型与原始模型具有相似的准确度,结果也将比仅使用压缩后的模型更好。使用语言模型来微调压缩模型的结果可以获得更好的准确度,语言模型也可以改善结果以获得更全面、有意义和可靠的结果,从而获得更好的系统性能。与直接微调原始模型相比,添加语言模型可能在准确度和存储效率两方面都具有更高的益处。最后是通用框架。本公开的实施例可以容易地推广到使用压缩模型的大多数低能力设备(例如,边缘设备)的任务,尤其是由感知部分和理解部分(或者感知模型和微调模型)组成的任务,例如上文描述的思维导图重组,从图像中识别思维导图是感知部分并且使思维导图更好则是理解部分。
102.总而言之,在本公开的一些实施例中,提出了一种基于两级数据处理模型的微调算法,并且使用如模型分布、模型分离之类的方法来保证本公开实施例的算法的有效性。该算法具有高泛化能力,它可以容易地应用在许多场景中,只要这些场景可以被拆分为粗略的感知部分和智能的微调部分。此外,关于本公开的实施例,还存在如下的几点值得指出。
103.首先是对于压缩模型总是会导致准确度下降,需要说明的是,在模型压缩的过程中将会总是存在一个点,在该点之后,模型的准确度会急剧下降。在理想条件下,或许可以找到一个好的模型压缩结果,在保持良好性能的同时压缩模型,但现实世界并不总是理想的。另外,不可能总是在所有领域都找到像squeezenet这样的替代网络。因此,在这些情况下,本公开的实施例可以是一种良好的替代方案。特别是,本公开的实施例针对最坏的压缩条件可以提供新颖的可用的压缩选择。尽管两级模型中的第一级模型可能存在较大的压缩损失,但是本公开的实施例通过一些方法可以弥补此压缩损失,例如利用云中的资源来换取压缩效率。
104.其次是关于传输时延问题,本公开的实施例仅在分离模型之间传送“小数据量的内容”。例如,低能力设备(例如,边缘设备)可以获取图像并对其进行处理以获得粗略的预测,然后将这个很小的粗略预测传送到高能力设备(例如,云端设备)。高能力设备(例如,云端设备)的模型可以补偿由低能力设备(例如,边缘设备)模型压缩引起的损失。最后,改进的结果(其数据量也很小)可以被传送回到低能力设备(例如,边缘设备)。再者是本公开的实施例可以涉及任何数据处理任务。本公开的实施例的目标是找到一种更好的策略以在低能力设备(例如,边缘设备)处部署准确率低的模型(例如,压缩模型),而文字识别(ocr)只是一种示例的使用情况。此外,使用语言模型来压缩模型也是一种良好的逻辑,也即,在压缩模型的最坏情况下(例如,压缩将导致大损失),本公开的实施例可以找到一种使处理结果更好的方法,同时可以保持低能力设备上的模型的大小和传输时延都较小。
105.图14示出了可以被用来实施本公开的实施例的示例设备1400的框图。在一些实施例中,设备1400可以是电子设备,其可以用于实施图1中的第一电子设备110或第二电子设备120。如图14中所示出的,设备1400包括中央处理单元(cpu)1401,其可以根据存储在只读存储设备(rom)1402中的计算机程序指令或者从存储单元1408加载到随机访问存储设备(ram)1403中的计算机程序指令,来执行各种适当的动作和处理。在ram 1403中,还可存储
设备1400操作所需的各种程序和数据。cpu 1401、rom 1402以及ram 1403通过总线1404彼此相连。输入/输出(i/o)接口1405也连接至总线1404。
106.设备1400中的多个部件连接至i/o接口1405,包括:输入单元1406,例如键盘、鼠标等;输出单元1407,例如各种类型的显示器、扬声器等;存储单元1408,例如磁盘、光盘等;以及通信单元1409,例如网卡、调制解调器、无线通信收发机等。通信单元1409允许设备1400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
107.上文所描述的各个过程和处理,例如示例方法或示例过程可由处理单元1401来执行。例如,在一些实施例中,各种示例方法或示例过程可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1408。在一些实施例中,计算机程序的部分或者全部可以经由rom 1402和/或通信单元1409而被载入和/或安装到设备1400上。当计算机程序被加载到ram 1403并由cpu 1401执行时,可以执行上文描述的示例方法或示例过程的一个或多个步骤。
108.如本文所使用的,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。本文还可能包括其他明确的和隐含的定义。
109.如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可以包括运算、计算、处理、导出、调查、查找(例如,在表格、数据库或另一数据结构中查找)、查明等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解析、选择、选取、建立等。
110.应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。
111.此外,尽管在附图中以特定顺序描述了本公开的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
112.虽然已经参考若干具体实施例描述了本公开,但是应当理解,本公开不限于所公开的具体实施例。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1