CN115860077A - 状态数据的处理方法、装置、设备以及存储介质 - Google Patents

状态数据的处理方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN115860077A
CN115860077A CN202211640395.2A CN202211640395A CN115860077A CN 115860077 A CN115860077 A CN 115860077A CN 202211640395 A CN202211640395 A CN 202211640395A CN 115860077 A CN115860077 A CN 115860077A
Authority
CN
China
Prior art keywords
step number
state data
value
preset
backoff
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211640395.2A
Other languages
English (en)
Other versions
CN115860077B (zh
Inventor
潘能超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202211640395.2A priority Critical patent/CN115860077B/zh
Publication of CN115860077A publication Critical patent/CN115860077A/zh
Application granted granted Critical
Publication of CN115860077B publication Critical patent/CN115860077B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开提供了状态数据的处理方法、装置、设备以及存储介质,涉及人工智能技术领域,尤其涉及深度学习、语音处理、计算机视觉技术领域。具体实现方案为:处理装置获取当前步数和第一步数。处理装置基于第一步数,从预设存储空间获取第一状态数据,预设存储空间用于存储M个步数对应的状态数据。处理装置对第一状态数据进行处理,得到第二状态数据,第二状态数据为在当前步数进行计算得到的状态数据。处理装置按照预设处理事件对当前步数进行处理,得到目标索引值,并基于目标索引值,将第二状态数据存储至预设存储空间。其中,随着步数的变化,按照预设处理事件得到的索引值均小于M。

Description

状态数据的处理方法、装置、设备以及存储介质
技术领域
本公开涉及人工智能技术领域,尤其涉及深度学习、语音处理、计算机视觉技术领域,具体涉及一种状态数据的处理方法、装置、设备以及存储介质。
背景技术
随着深度学习发展,深度学习模型的应用场景也愈发广泛。例如,深度学习模型可以应用于目标检测、多媒体推广、机器人对话等场景中。深度学习模型在不同的场景中,需要的模型精度和模型规模也不同。
在部分场景中,深度学习模型较为庞大,需要大量的计算量和状态数据。为了提高深度学习模型的计算速度,可以将深度学习模型部署在高性能计算设备进行计算。
发明内容
本公开提供了一种状态数据的处理方法、装置、设备以及存储介质。
第一方面,本公开提供了一种状态数据的处理方法,包括:
状态数据的处理装置(以下简称为“处理装置”)获取当前步数和第一步数,第一步数为当前步数的上一步数。处理装置基于第一步数,从预设存储空间获取第一状态数据,预设存储空间用于存储M个步数对应的状态数据,第一状态数据为在第一步数进行计算得到的状态数据,M为正整数。处理装置对第一状态数据进行处理,得到第二状态数据,第二状态数据为在当前步数进行计算得到的状态数据。处理装置按照预设处理事件对当前步数进行处理,得到目标索引值,并基于目标索引值,将第二状态数据存储至预设存储空间。其中,随着步数的变化,按照预设处理事件得到的索引值均小于M。
第二方面,本公开提供了一种状态数据的处理装置,包括:
获取单元,用于获取当前步数和第一步数,第一步数为当前步数的上一步数。获取单元,还用于基于第一步数,从预设存储空间获取第一状态数据,预设存储空间用于存储M个步数对应的状态数据,第一状态数据为在第一步数进行计算得到的状态数据,M为正整数。处理单元,用于对第一状态数据进行处理,得到第二状态数据,第二状态数据为在当前步数进行计算得到的状态数据。处理单元,还用于按照预设处理事件对当前步数进行处理,得到目标索引值,并基于目标索引值,将第二状态数据存储至预设存储空间。其中,随着步数的变化,按照预设处理事件得到的索引值均小于M。
第三方面,本公开提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面中的任一项方法。
第四方面,本公开提供了一种存储有计算机指令的非瞬时计算机可读存储介质,包括:
计算机指令用于使计算机执行第一方面中的任一项方法。
第五方面,本公开提供了一种计算机程序产品,包括:
计算机程序,计算机程序在被处理器执行第一方面中的任一项方法。
根据本公开的技术解决了状态数据占用大量存储资源的问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的一种模型计算回退的实例图;
图2是本公开实施例提供的一种状态数据的处理方法的流程示意图;
图3是本公开实施例提供的一种存储状态数据的实例图;
图4是本公开实施例提供的另一种存储状态数据的实例图;
图5是本公开实施例提供的另一种状态数据的处理方法的流程示意图;
图6是本公开实施例提供的一种状态数据的处理装置的结构示意图;
图7是本公开实施例提供的一种状态数据的处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
在对本公开实施例的状态数据的处理方法进行详细介绍之前,先对本公开实施例的应用场景进行介绍。
首先,对本公开实施例的应用场景进行介绍。
随着深度学习发展,深度学习模型的应用场景也愈发广泛。例如,深度学习模型可以应用于目标检测、多媒体推广、机器人对话等场景中。深度学习模型在不同的场景中,需要的模型精度和模型规模也不同。在部分场景中,深度学习模型较为庞大,需要大量的计算量和状态数据。为了提高深度学习模型的计算速度,可以将深度学习模型部署在高性能计算设备进行计算。
目前,深度学习模型在进行计算时,可以通过对在上一步数计算得到的状态数据进行处理,得到一个新的状态数据。之后,服务器可以将新的状态数据进行存储,以备在下一步数进行计算时使用。
示例性的,假如深度学习模型可以执行第二步计算、第三步计算。深度学习模型在执行第二步计算时,可以使用第一步计算得到的状态数据,生成新的状态数据,作为第二步计算得到的状态数据。深度学习模型在执行第三步计算时,可以使用第二步计算得到的状态数据,生成新的状态数据,作为第三步计算得到的状态数据。
并且,深度学习模型在进行计算时,当对本次计算得到的状态数据不满意时,可以发生回退。深度学习模型可以重新执行之前的步数。
示例性的,如图1所示,深度学习模型可以依次执行第一步的计算、第二步的计算、第三步的计算、第四步的计算和第五步的计算。之后,深度学习模型可以回退至第二步,即重新进行第二步的计算,以及第二步之后的步(如第三步、第四步)的计算。
为了保障深度学习模型的回退需求,高性能计算设备中也需要存储历史步数计算的状态数据,以保障回退后可以调用回退步数的上一步数计算的状态数据。例如,回退至第三步数,则需要调用第二步数的状态数据。
但是,在高性能计算设备中存储资源有限的情况下,若存储每一步数计算的状态数据,会大量占用存储资源。若不存储每一步数计算的状态数据,无法满足深度学习模型的状态回退需求。因此,在高性能计算设备中存储资源有限的情况下,如何更好的满足深度学习模型的状态回退需求,成为一个亟待解决的技术问题。
目前的技术方案中,可以将状态数据存储至另一台设备(可以称为主处理设备,如中央处理器(central processing unit,CPU))中,以节约高性能计算设备中的存储资源。但是,在状态数据存储至主处理设备的情况下,高性能计算设备需要与主处理设备通信,从主处理设备获取状态数据,降低了获取状态数据的速度,进而降低了计算效率。又或者,可以将深度学习模型部署在主处理设备,由主处理设备存储并计算状态数据。但是,主处理设备的性能较低,影响深度学习模型的计算效率。
为了解决上述问题,本公开实施例提供一种状态数据的处理方法,应用于深度学习模型计算的应用场景中。在该方法中,处理装置包括预设存储空间,预设存储空间用于存储M个步数对应的状态数据,M为正整数。处理装置可以获取当前步数和第一步数,第一步数为当前步数的上一步数。之后,处理装置可以基于第一步数,从预设存储空间获取第一状态数据,第一状态数据为在第一步数进行计算得到的状态数据。然后,处理装置对第一状态数据进行处理,得到第二状态数据,第二状态数据为在当前步数进行计算得到的状态数据。接着,处理装置按照预设处理事件对当前步数进行处理,得到目标索引值,并基于目标索引值,将第二状态数据存储至预设存储空间。其中,随着步数的变化,按照预设处理事件得到的索引值均小于M。
可以理解的是,处理装置包括预设存储空间,预设存储空间用于存储M个步数对应的状态数据。如此,可以限定存储的状态数据的数量,以节约处理装置的存储资源。并且,处理装置获取当前步数和第一步数,并基于第一步数,从预设存储空间获取第一状态数据,第一状态数据为在第一步数进行计算得到的状态数据。之后,处理装置可以对第一状态数据进行处理,得到第二状态数据。然后,处理装置可以按照预设处理事件对当前步数进行处理,得到目标索引值,其中,随着步数的变化,按照预设处理事件得到的索引值均小于M。如此,可以保障得到的目标索引值在范围内,进而基于目标索引值,将第二状态数据存储至预设存储空间。如此,不仅可以保障存储的有序性,而且可以保障不会存储超出M个步数对应的状态数据,节约了存储资源。
本公开提供的状态数据的处理方法的执行主体可以为状态数据的处理的装置,该装置可以为服务器。同时,该装置还可以为该服务器的图形处理器(graphics processingunit,GPU),或者该服务器中的用于处理状态数据的处理模块。本公开实施例中以处理装置执行状态数据的处理方法为例,说明本公开实施例提供的状态数据的处理方法。
如图2所示,为本公开实施例提供的一种状态数据的处理方法,该方法包括:
S201、处理装置获取当前步数和第一步数。
其中,第一步数为当前步数的上一步数。
也就是说,第一步数为按照顺序排列的当前步数之前一步的步数。
示例性的,假如当前步数为第二步,则第一步数为第一步。假如当前步数为第五步,则第一步数为第四步。
在一种可能的实现方式中,处理装置中存储有当前步数。处理装置可以基于当前步数和预设值,确定第一步数,第一步数为当前步数与预设值之差。
需要说明的是,在本公开实施例中,预设值是指在未进行回退的情况下,步数的变化量。本公开实施例对预设值不作限定。例如,预设值可以为1。又例如,预设值可以为2。又例如,预设值可以为10。通常情况下,预设值为1。以下实施例中,以预设值为1为例,介绍本公开实施例。
示例性的,假如预设值为1,当前步数为第二步,则第一步数为第一步。假如当前步数为第五步,则第一步数为第四步。
在另一种可能的实现方式中,处理装置中设置有计数器,该计数器用于记录步数。处理装置可以通过计数器获取当前步数。
在另一种可能的实现方式中,处理装置中部署有解码器和目标模型。处理装置可以调用解码器向目标模型发送当前步数。之后,处理装置可以通过目标模型获取当前步数。然后,处理装置可以通过当前步数和预设值,确定第一步数。
需要说明的是,本公开实施例对目标模型不作限定。例如,目标模型可以为神经网络模型,如循环神经网络(Recurrent Neural Network,RNN)模型、长短期记忆(longshort-term memory,LSTM)模型、前馈神经网络(Feedforward Neural Network)模型、反馈神经网络(Feedback Neural Network)模型等。
S202、处理装置基于第一步数,从预设存储空间获取第一状态数据。
其中,第一状态数据为在第一步数进行计算得到的状态数据。
示例性的,假如第一步数为第二步,则第一状态数据为处理装置在第二步进行计算得到的状态数据。
在一种可能的设计中,状态数据是一个矢量。
示例性的,状态数据可以为矩阵数组。
在本公开实施例中,处理装置包括预设存储空间,预设存储空间用于存储M个步数对应的状态数据,M为正整数。
示例性的,可以将MAX_STATE_NUM设置为M,MAX_STATE_NUM用于表示预设空间最多存储M个步数对应的状态数据。
可选的,一个步数对应的状态数据的数量小于或者等于预设数量阈值。
也就是说,处理装置在每步计算得到的状态数据的数量均小于或者等于预设数量阈值,即每步计算得到的状态数据的数量最大为预设数量阈值。
需要说明的是,本公开实施例对预设数量阈值不作限定。例如,预设数量阈值可以为4。又例如,预设数量阈值可以为5。又例如,预设数量阈值可以为8。
示例性的,可以将RNN_MAX_BEAM设置为N,N为正整数,RNN_MAX_BEAM设置为N用于表示一个步数对应的状态数据的数量小于或者等于N。
可以理解的是,一个步数对应的状态数据的数量小于或者等于预设数量阈值。如此,可以限定每步生成的状态数据的数量,进而可以节约处理装置的存储资源。
可选的,一个特征数据的特征维度为预设维度。
需要说明的是,特征数据的特征维度用于表示特征数据的宽度。例如,特征数据为一个数组时,特征维度可以为数组的维度。
示例性的,可以将DIM_STATE设置为L,L为正整数,DIM_STATE设置为L用于表示特征数据的特征维度为L。
在本公开实施例中,预设存储空间的空间大小可以基于可存储步数、预设数量阈值和预设维度确定,其中,可存储步数用于指示可以存储M个步数对应的状态数据。
在一种可能的设计中,预设存储空间的空间大小可以通过公式一表示。
Q=MAX_STATE_NUM*RNN_MAX_BEAM*DIM_STATE公式一。
其中,Q用于表示预设存储空间的空间大小,MAX_STATE_NUM用于表示可存储步数(即M),RNN_MAX_BEAM用于表示预设数量阈值,DIM_STATE用于表示预设维度。
在一种可能的实现方式中,处理装置存储有步数与状态数据之间的对应关系。处理装置可以基于第一步数,从预设存储空间获取第一步数对应的第一状态数据。
示例性的,处理装置存储有步数1对应的状态数据A,步数2对应的状态数据B,步数3对应的状态数据C。假如第一步数为步数1,则第一状态数据为状态数据A。
S203、处理装置对第一状态数据进行处理,得到第二状态数据。
其中,第二状态数据为在当前步数进行计算得到的状态数据。
在一种可能的实现方式中,处理装置可以调用解码器向目标模型发送待处理字符。之后,处理装置可以调用目标模型对第一状态数据和待处理字符,得到第二状态数据。
可选的,第一步数对应的第一状态数据为多个。则处理装置可以调用解码器向目标模型发送第一信息,该第一信息用于指示选中的第一状态数据。之后,处理装置可以调用目标模型对第一状态数据和待处理字符,得到第二状态数据。
示例性的,第一信息可以为“1”,即“1”对应的第一状态数据。
在一种可能的设计中,当第二状态数据的数量为多个时,第一信息可以包括按照顺序排列的多个标识,标识的数量与第二状态数据的数量相同,一个标识对应一个第一状态数据,一个第一状态数据对应一个第二状态数据。
示例性的,第一信息为“1-1-2-0”,即“1”对应的第一状态数据,“1”对应的第一状态数据,“2”对应的第一状态数据,“0”对应的第一状态数据。
需要说明的是,具体对于得到第二状态数据的过程,可以参考常规技术中神经网络模型得到状态数据的方法,此处不予赘述。例如,处理装置可以通过sigmoid函数进行处理,得到第二状态数据。
S204、处理装置按照预设处理事件对当前步数进行处理,得到目标索引值。
其中,目标索引值为第二状态数据在预设存储空间的索引值。
在一种可能的设计中,预设处理事件可以为:步数除以M得到余数,该余数为步数对应的索引值。
可选的,步数除以M得到余数也可以称为模运算。
示例性的,假如M为3。当前步数为1时,则余数为1(即索引值为1)。当前步数为2时,则索引值为2。当前步数为3时,则索引值为0。
可选的,该步数也可以为当前步数与预设值之和。
示例性的,假如M为3,当前步数为1,预设值为1,则索引值为2。
在本公开实施例中,随着步数的变化,按照所述预设处理事件得到的索引值均小于M。
也就是说,在本公开实施例中,不同的步数对应的索引值可以在预设范围循环,预设范围为[0,M),即索引值大于等于0,索引值小于M。
示例性的,假如预设存储空间可以存储3个步数对应的状态数据,即M为3。当目标模型执行第一步计算后,此时步数为1,余数为1(即索引值为1)。之后,目标模型执行第二步计算,索引值为2。目标模型执行第三步计算,索引值为0。之后,当目标模型执行第四步计算后,此时步数为4,索引值为1。之后,目标模型执行第五步计算,索引值为2。目标模型执行第六步计算,索引值为0。
S205、处理装置基于目标索引值,将第二状态数据存储至预设存储空间。
在本公开实施例中,预设存储空间中存储的状态数据与索引值对应。
在一种可能的设计中,当预设存储空间中已经存储有索引值对应的状态数据,处理装置可以更新索引值对应的状态数据。
下面结合具体示例对本公开实施例中存储状态数据的过程进行介绍。
示例性的,假如预设存储空间可以存储3个步数对应的状态数据,即M为3。当目标模型执行第一步计算后,可以得到状态数据a,此时步数为1,索引值为1。之后,目标模型执行第二步计算,得到状态数据b,索引值为2。目标模型执行第三步计算,得到状态数据c,索引值为0。此时,如图3所示,预设存储空间分别存储有状态数据a、状态数据b和状态数据c。之后,如图4所示,当目标模型执行第四步计算后,可以得到状态数据d,此时步数为4,索引值为1。之后,目标模型执行第五步计算,得到状态数据e,索引值为2。目标模型执行第六步计算,得到状态数据f,索引值为0。
可以理解的是,由于索引值可以循环在预设范围内,且当预设存储空间中已经存储有索引值对应的状态数据,处理装置可以更新索引值对应的状态数据。如此,可以保障处理装置利用有限的存储空间存储最新计算得到的状态数据,保障状态数据的时效性。
基于上述技术方案,处理装置包括预设存储空间,预设存储空间用于存储M个步数对应的状态数据。如此,可以限定存储的状态数据的数量,以节约处理装置的存储资源。并且,处理装置获取当前步数和第一步数,并基于第一步数,从预设存储空间获取第一状态数据,第一状态数据为在第一步数进行计算得到的状态数据。之后,处理装置可以对第一状态数据进行处理,得到第二状态数据。然后,处理装置可以按照预设处理事件对当前步数进行处理,得到目标索引值,其中,随着步数的变化,按照预设处理事件得到的索引值均小于M。如此,可以保障得到的目标索引值在范围内,进而基于目标索引值,将第二状态数据存储至预设存储空间。如此,不仅可以保障存储的有序性,而且可以保障不会存储超出M个步数对应的状态数据,节约了存储资源。
在一些实施例中,处理装置基于第一步数,从预设存储空间获取第一状态数据(即S202),可以包括:处理装置按照预设处理事件对第一步数进行处理,得到第一索引值。之后,处理装置基于第一索引值从预设存储空间中获取第一状态数据。
示例性的,假如M为3,第一步数为2,则第一索引值为2。结合图3,第一状态数据为状态数据b。
需要说明的是,一步计算得到的状态数据的数量可能为多个,且状态数据具有特征维度。则预设存储空间中的状态数据可以由loop_state[max_state_num][rnn_max_beam][dim_state]表示。
其中,loop_state[max_state_num]为loop_state[i]用于表示索引值为i对应的状态数据,i为整数。loop_state[i]即为cur_state[rnn_max_beam][dim_state],cur_state[j][dim_state]用于表示索引值为i对应的状态数据中第j个状态数据,j为整数。
可以理解的是,处理装置按照预设处理事件对第一步数进行处理,得到第一索引值。之后,处理装置基于第一索引值从预设存储空间中获取第一状态数据。如此,可以保障处理装置准确得到第一步数对应的状态数据。
在一些实施例中,在处理装置获取当前步数之后,处理装置可以判断当前步数是否是回退的步数。
如图5所示,为本公开实施例提供的另一种状态数据的处理方法,在S201之后,该方法包括:
S501、处理装置获取第二步数。
其中,第二步数为上一次执行计算的步数。
需要说明的是,上一次执行计算的步数是指,在当前步数进行计算之前一次执行计算的步数。
示例性的,假如处理装置按顺序执行第一步计算、第二步计算、第三步计算。则假如当前步数为第三步,第二步数为第二步,假如当前步数为第二步,第二步数为第一步。或者,假如发生回退,处理装置执行第六步计算之后,回退至第二步计算,假如当前步数为第二步,则第二步数为第六步。
S502、处理装置基于第二步数和预设值,生成第三步数。
其中,第三步数为第二步数的下一步数。
也就是说,第三步数为按照顺序排列的第二步数之后的一步的步数。
示例性的,假如第二步数为第二步,则第三步数为第三步。假如第二步数为第五步,则第三步数为第六步。
S503、处理装置确定当前步数与第三步数是否相同。
在一些实施例中,若当前步数与第三步数相同,则处理装置执行S202和S504。
可以理解的是,若当前步数与第三步数相同,说明当前步数为第二步数的下一步数,即处理装置未回退。如此,处理装置可以基于第一步数,从预设存储空间获取第一状态数据,以完成之后的计算。
在另一些实施例中,若当前步数与第三步数不同,则处理装置执行S508。
可以理解的是,若当前步数与第三步数不同,说明当前步数不是第二步数的下一步数,即处理装置发生回退。
S504、处理装置获取第一回退数值,并更新第二回退数值。
其中,第一回退数值用于指示回退的最小步数,第二回退数值用于指示回退的最大步数,更新后的第二回退数值与当前步数相同。
在本申请实施例中,回退的最小步数为第一回退数值与预设值之和。回退的最大步数与第二回退数值相同。
示例性的,假如第一回退数值为1,则回退的最小步数为2。第二回退数值为6,则回退的最大步数为6。
需要说明的是,第一回退数值和第二回退数值的初始值均可以设置为0。
S505、处理装置基于第一回退数值与第二回退数值,确定目标差值。
其中,目标差值为第一回退数值与第二回退数值之间的差值。
在本公开实施例中,目标差值用于指示能够回退的步数的数量。
示例性的,假如第一回退数值为1,第二回退数值为6,则能够回退的步数为5,即能够回退的步数包括:第二步、第三步、第四步、第五步、第六步。
S506、处理装置确定目标差值是否大于M。
在一些实施例中,若目标差值大于M,则处理装置执行S507。
可以理解的是,若目标差值大于M,说明当前能够回退的步数大于预设存储空间中存储的状态数据对应的步数。
S507、处理装置更新第一回退数值。
其中,更新后的第一回退数值为未更新的第一回退数值与预设值之和。
示例性的,假如未更新的第一回退数值为1,则更新后的第一回退数值为2。
基于上述技术方案,处理装置获取第二步数,即上一次执行计算的步数。之后,处理装置基于第二步数和预设值,生成第三步数,即第二步数的下一步数。若当前步数与第三步数相同,说明当前步数为第二步数的下一步数,即处理装置未回退,处理装置可以获取第一回退数值,并更新第二回退数值,第一回退数值用于指示回退的最小步数,第二回退数值用于指示回退的最大步数。并且,更新后的第二回退数值与当前步数相同,以实时更新最大回退步数。之后处理装置基于第一回退数值与第二回退数值,确定目标差值,目标差值为第一回退数值与第二回退数值之间的差值。若目标差值大于M,说明当前能够回退的步数大于预设存储空间中存储的状态数据对应的步数,处理装置更新第一回退数值,更新后的第一回退数值为未更新的第一回退数值与预设值之和。如此,可以增大最小回退步数,以保障回退步数在预设存储空间中存储的状态数据对应的步数内。
需要说明的是,深度学习模型在进行计算时,当对本次计算得到的状态数据不满意时,可以发生回退。深度学习模型可以重新执行之前的步数。若深度学习模型回退步数较多,可能导致预设存储空间中未存储需要的状态数据。
S508、处理装置确定当前步数是否在回退范围内。
其中,回退范围由第一回退数值和第二回退数值组成。
在本申请实施例中,回退范围包括第二回退数值,不包括第一回退数值。
示例性的,假如第一回退数值为4,第二回退数值为10,则回退范围为(4,10],即回退范围包括:第五步-第十步。
在一些实施例中,若当前步数在回退范围内,则执行S202和S509。
可以理解的是,若当前步数与第三步数不同,且当前步数在回退范围内,说明可以在当前步数计算状态数据。如此,处理装置可以基于第一步数,从预设存储空间获取第一状态数据,以完成之后的计算。
在另一些实施例中,若当前步数未在回退范围内,则执行S510。
S509、处理装置更新第二回退数值。
基于上述技术方案,若当前步数与第三步数不同,说明当前步数为回退后的步数。处理装置需要确定当前步数是否在回退范围内,回退范围由第一回退数值和第二回退数值组成。若当前步数在回退范围内,说明可以在当前步数计算状态数据,之后可以更新第二回退数值,以实时更新回退范围。
S510、处理装置生成目标信息。
其中,目标信息用于指示已经退出计算。
示例性的,目标信息可以为0或-1。
在一种可能的实现方式中,处理装置可以调用目标模型生成目标信息,并停止运行目标模型。
可以理解的是,若当前步数与第三步数不同,且当前步数在回退范围外,说明无法在当前步数计算状态数据,处理装置可以生成目标信息,目标信息用于指示已经退出计算。
上述主要从计算机设备的角度对本公开实施例提供的方案进行了介绍。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本公开所公开的实施例描述的各示例的状态数据的处理方法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对状态数据的处理方式进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本公开实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图6所示,为本公开实施例提供的一种状态数据的处理装置的结构示意图。状态数据的处理装置可以包括:获取单元601和处理单元602。
获取单元,用于获取当前步数和第一步数,第一步数为当前步数的上一步数。获取单元,还用于基于第一步数,从预设存储空间获取第一状态数据,预设存储空间用于存储M个步数对应的状态数据,第一状态数据为在第一步数进行计算得到的状态数据,M为正整数。处理单元,用于对第一状态数据进行处理,得到第二状态数据,第二状态数据为在当前步数进行计算得到的状态数据。处理单元,还用于按照预设处理事件对当前步数进行处理,得到目标索引值,并基于目标索引值,将第二状态数据存储至预设存储空间。其中,随着步数的变化,按照预设处理事件得到的索引值均小于M。
可选的,处理单元,还用于按照预设处理事件对第一步数进行处理,得到第一索引值。获取单元,还用于基于第一索引值从预设存储空间中获取第一状态数据。
可选的,获取单元,还用于获取第二步数,第二步数为上一次执行计算的步数。处理单元,还用于基于第二步数和预设值,生成第三步数,第三步数为第二步数的下一步数。获取单元,还用于若当前步数与第三步数相同,则获取第一回退数值,并更新第二回退数值,第一回退数值用于指示回退的最小步数,第二回退数值用于指示回退的最大步数,更新后的第二回退数值与当前步数相同。处理单元,还用于基于第一回退数值与第二回退数值,确定目标差值,目标差值为第一回退数值与第二回退数值之间的差值。处理单元,还用于若目标差值大于M,则更新第一回退数值,更新后的第一回退数值为未更新的第一回退数值与预设值之和。
可选的,处理单元,还用于若当前步数与第三步数不同,则确定当前步数是否在回退范围内,回退范围由第一回退数值和第二回退数值组成。处理单元,还用于若当前步数在回退范围内,则更新第二回退数值。
可选的,获取单元,还用于若当前步数与第三步数相同,则基于第一步数,从预设存储空间获取第一状态数据。或者,获取单元,还用于若当前步数与第三步数不同,且当前步数在回退范围内,则基于第一步数,从预设存储空间获取第一状态数据。
可选的,处理单元,还用于若当前步数与第三步数不同,且当前步数在回退范围外,则生成目标信息,目标信息用于指示已经退出计算。
可选的,一个步数对应的状态数据的数量小于或者等于预设数量阈值。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如状态数据的处理方法。例如,在一些实施例中,状态数据的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的状态数据的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行状态数据的处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (17)

1.一种状态数据的处理方法,包括:
获取当前步数和第一步数,所述第一步数为所述当前步数的上一步数;
基于所述第一步数,从预设存储空间获取第一状态数据,所述预设存储空间用于存储M个步数对应的状态数据,所述第一状态数据为在所述第一步数进行计算得到的状态数据,M为正整数;
对所述第一状态数据进行处理,得到第二状态数据,所述第二状态数据为在所述当前步数进行计算得到的状态数据;
按照预设处理事件对所述当前步数进行处理,得到目标索引值,并基于所述目标索引值,将所述第二状态数据存储至所述预设存储空间;
其中,随着步数的变化,按照所述预设处理事件得到的索引值均小于M。
2.根据权利要求1所述的方法,其中,所述基于所述第一步数,从所述预设存储空间获取第一状态数据,包括:
按照所述预设处理事件对所述第一步数进行处理,得到第一索引值;
基于所述第一索引值从所述预设存储空间中获取所述第一状态数据。
3.根据权利要求1或2所述的方法,所述方法还包括:
获取第二步数,所述第二步数为上一次执行计算的步数;
基于所述第二步数和预设值,生成第三步数,所述第三步数为所述第二步数的下一步数;
若所述当前步数与所述第三步数相同,则获取第一回退数值,并更新第二回退数值,所述第一回退数值用于指示回退的最小步数,所述第二回退数值用于指示回退的最大步数,更新后的第二回退数值与所述当前步数相同;
基于所述第一回退数值与所述第二回退数值,确定目标差值,所述目标差值为所述第一回退数值与所述第二回退数值之间的差值;
若所述目标差值大于M,则更新所述第一回退数值,更新后的第一回退数值为未更新的所述第一回退数值与所述预设值之和。
4.根据权利要求3所述的方法,所述方法还包括:
若所述当前步数与所述第三步数不同,则确定所述当前步数是否在回退范围内,所述回退范围由所述第一回退数值和所述第二回退数值组成;
若所述当前步数在所述回退范围内,则更新所述第二回退数值。
5.根据权利要求4所述的方法,其中,所述基于所述第一步数,从所述预设存储空间获取第一状态数据,包括:
若所述当前步数与所述第三步数相同,则基于所述第一步数,从所述预设存储空间获取所述第一状态数据;或者,
若所述当前步数与所述第三步数不同,且所述当前步数在所述回退范围内,则基于所述第一步数,从所述预设存储空间获取所述第一状态数据。
6.根据权利要求5所述的方法,所述方法还包括:
若所述当前步数与所述第三步数不同,且所述当前步数在所述回退范围外,则生成目标信息,所述目标信息用于指示已经退出计算。
7.根据权利要求1-6中任一项所述的方法,一个步数对应的状态数据的数量小于或者等于预设数量阈值。
8.一种状态数据的处理装置,包括:
获取单元,用于获取当前步数和第一步数,所述第一步数为所述当前步数的上一步数;
所述获取单元,还用于基于所述第一步数,从预设存储空间获取第一状态数据,所述预设存储空间用于存储M个步数对应的状态数据,所述第一状态数据为在所述第一步数进行计算得到的状态数据,M为正整数;
处理单元,用于对所述第一状态数据进行处理,得到第二状态数据,所述第二状态数据为在所述当前步数进行计算得到的状态数据;
所述处理单元,还用于按照预设处理事件对所述当前步数进行处理,得到目标索引值,并基于所述目标索引值,将所述第二状态数据存储至所述预设存储空间;
其中,随着步数的变化,按照所述预设处理事件得到的索引值均小于M。
9.根据权利要求8所述的装置,
所述处理单元,还用于按照所述预设处理事件对所述第一步数进行处理,得到第一索引值;
所述获取单元,还用于基于所述第一索引值从所述预设存储空间中获取所述第一状态数据。
10.根据权利要求9所述的装置,
所述获取单元,还用于获取第二步数,所述第二步数为上一次执行计算的步数;
所述处理单元,还用于基于所述第二步数和预设值,生成第三步数,所述第三步数为所述第二步数的下一步数;
所述获取单元,还用于若所述当前步数与所述第三步数相同,则获取第一回退数值,并更新第二回退数值,所述第一回退数值用于指示回退的最小步数,所述第二回退数值用于指示回退的最大步数,更新后的第二回退数值与所述当前步数相同;
所述处理单元,还用于基于所述第一回退数值与所述第二回退数值,确定目标差值,所述目标差值为所述第一回退数值与所述第二回退数值之间的差值;
所述处理单元,还用于若所述目标差值大于M,则更新所述第一回退数值,更新后的第一回退数值为未更新的所述第一回退数值与所述预设值之和。
11.根据权利要求10所述的装置,
所述处理单元,还用于若所述当前步数与所述第三步数不同,则确定所述当前步数是否在回退范围内,所述回退范围由所述第一回退数值和所述第二回退数值组成;
所述处理单元,还用于若所述当前步数在所述回退范围内,则更新所述第二回退数值。
12.根据权利要求11所述的装置,
所述获取单元,还用于若所述当前步数与所述第三步数相同,则基于所述第一步数,从所述预设存储空间获取所述第一状态数据;或者,
所述获取单元,还用于若所述当前步数与所述第三步数不同,且所述当前步数在所述回退范围内,则基于所述第一步数,从所述预设存储空间获取所述第一状态数据。
13.根据权利要求12所述的装置,
所述处理单元,还用于若所述当前步数与所述第三步数不同,且所述当前步数在所述回退范围外,则生成目标信息,所述目标信息用于指示已经退出计算。
14.根据权利要求8-13中任一项所述的装置,一个步数对应的状态数据的数量小于或者等于预设数量阈值。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
CN202211640395.2A 2022-12-20 2022-12-20 状态数据的处理方法、装置、设备以及存储介质 Active CN115860077B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211640395.2A CN115860077B (zh) 2022-12-20 2022-12-20 状态数据的处理方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211640395.2A CN115860077B (zh) 2022-12-20 2022-12-20 状态数据的处理方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN115860077A true CN115860077A (zh) 2023-03-28
CN115860077B CN115860077B (zh) 2023-08-15

Family

ID=85674471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211640395.2A Active CN115860077B (zh) 2022-12-20 2022-12-20 状态数据的处理方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN115860077B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553413A (zh) * 2021-06-30 2021-10-26 北京百度网讯科技有限公司 对话状态的生成方法、装置、电子设备和存储介质
CN113688069A (zh) * 2021-09-10 2021-11-23 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及介质
CN115291806A (zh) * 2022-08-11 2022-11-04 北京青云科技股份有限公司 一种处理方法、装置、电子设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553413A (zh) * 2021-06-30 2021-10-26 北京百度网讯科技有限公司 对话状态的生成方法、装置、电子设备和存储介质
CN113688069A (zh) * 2021-09-10 2021-11-23 北京百度网讯科技有限公司 数据处理方法、装置、电子设备及介质
CN115291806A (zh) * 2022-08-11 2022-11-04 北京青云科技股份有限公司 一种处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115860077B (zh) 2023-08-15

Similar Documents

Publication Publication Date Title
CN113342345A (zh) 深度学习框架的算子融合方法、装置
CN112560996A (zh) 用户画像识别模型训练方法、设备、可读存储介质及产品
CN114120414B (zh) 图像处理方法、装置、电子设备和介质
US11861498B2 (en) Method and apparatus for compressing neural network model
CN112508768A (zh) 单算子多模型流水线推理方法、系统、电子设备及介质
CN114816393B (zh) 信息生成方法、装置、设备以及存储介质
CN112488060A (zh) 目标检测方法、装置、设备、介质和程序产品
CN114494814A (zh) 基于注意力的模型训练方法、装置及电子设备
CN114092708A (zh) 特征图像的处理方法、装置和存储介质
CN113657408B (zh) 确定图像特征的方法、装置、电子设备和存储介质
CN113377295B (zh) 多生产者单消费者的数据存储和读取方法、装置、设备
CN115759209A (zh) 神经网络模型的量化方法、装置、电子设备及介质
CN115860077A (zh) 状态数据的处理方法、装置、设备以及存储介质
CN114998649A (zh) 图像分类模型的训练方法、图像分类方法及装置
CN114445682A (zh) 训练模型的方法、装置、电子设备、存储介质及产品
CN113807397A (zh) 语义表示模型的训练方法、装置、设备和存储介质
CN113900731A (zh) 请求处理方法、装置、设备和存储介质
CN113556575A (zh) 用于压缩数据的方法、装置、设备、介质和产品
CN113762510B (zh) 针对目标模型的数据处理方法、装置、电子设备和介质
EP4036861A2 (en) Method and apparatus for processing point cloud data, electronic device, storage medium, computer program product
CN113963433B (zh) 运动搜索方法、装置、电子设备及存储介质
CN114218069B (zh) 回归测试方法、装置、电子设备及存储介质
CN117539602A (zh) 落后者任务推测的方法及装置、电子设备和存储介质
CN115630630A (zh) 语言模型处理方法、业务处理方法、装置、设备及介质
CN115546701A (zh) 匹配特征确定方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant