推测解码方法、装置、设备及存储介质与流程

摘要: 本申请涉及模型推理,尤其涉及一种推测解码方法、装置、设备及存储介质。背景技术:1、在推测解码过程中,草稿模型的推理阶段与目标模型的验证阶段存在先后依赖关系。草稿...
推测解码方法、装置、设备及存储介质与流程

本申请涉及模型推理,尤其涉及一种推测解码方法、装置、设备及存储介质。

背景技术:

1、在推测解码过程中,草稿模型的推理阶段与目标模型的验证阶段存在先后依赖关系。草稿模型需先生成草稿,目标模型才能进行验证,且目标模型验证完毕后草稿模型才能根据验证结果进行下一轮推理。传统方案中,草稿模型与目标模型的推理过程以串行方式交替执行,二者相互等待,资源无法被充分利用,导致推理延迟较高,限制了推测解码的加速效果。

技术实现思路

1、本申请的主要目的在于提供一种推测解码方法、装置、设备及存储介质,旨在解决草稿模型与目标模型的推理过程以串行方式交替执行,限制了推测解码的加速效果的技术问题。

2、为实现上述目的,本申请提出一种推测解码方法,所述的方法包括:

3、基于第一模型,生成与各当前候选词元对应的第一候选词元,并将所述第一候选词元存储至缓冲区中;

4、在检测到满足预设同步条件时,将所述缓冲区中的第二候选词元同步至第二模型;

5、基于所述第二模型,根据所述第二候选词元和第一校验结果确定第二校验结果,所述第一校验结果通过第二模型对上一轮同步的候选词元校验生成;

6、基于所述第一模型根据所述第二校验结果更新所述缓冲区,并基于更新后的缓冲区确定下一轮的所述当前候选词元,以执行下一轮推理。

7、可选地,所述缓冲区包括第一缓存和第二缓存;

8、所述基于第一模型,生成与各当前候选词元对应的第一候选词元,并将所述第一候选词元存储至缓冲区中的步骤,包括:

9、基于第一模型,对各所述当前候选词元进行扩展推理,生成多个第一候选词元,并获取各所述第一候选词元的生成概率;

10、根据所述生成概率和所述当前候选词元的路径权重,从所述第一候选词元中确定第二候选词元;

11、将所述第二候选词元存储至第一缓存,并将所述第一候选词元,以及各所述第一候选词元与所述当前候选词元之间的关联存储至第二缓存。

12、可选地,所述根据所述生成概率和所述当前候选词元的路径权重,从所述第一候选词元中确定第二候选词元的步骤,包括:

13、根据所述生成概率和所述当前候选词元的路径权重,确定所述第一候选词元的目标路径权重;

14、根据所述目标路径权重从所述第一候选词元中确定第二候选词元。

15、可选地,所述在检测到满足预设同步条件时,将所述缓冲区中的第二候选词元同步至第二模型的步骤之前,还包括:

16、获取当前推理轮次;

17、当所述当前推理轮次为预设通信周期的整数倍时,确定所述缓冲区满足预设同步条件;

18、当所述当前推理轮次不为所述预设通信周期的整数倍时,返回所述基于第一模型,生成与各当前候选词元对应的第一候选词元,并将所述第一候选词元存储至缓冲区中的步骤。

19、可选地,所述基于所述第二模型,根据所述第二候选词元和第一校验结果确定第二校验结果的步骤,包括:

20、根据所述第一校验结果,从所述第二候选词元对应的候选路径中确定目标候选路径;

21、基于所述第二模型对所述目标候选路径中的第三候选词元进行推理,输出所述第三候选词元的目标概率;

22、根据所述目标概率和各所述第三候选词元的生成概率,确定第二校验结果。

23、可选地,所述根据所述目标概率和各所述第三候选词元的生成概率,确定第二校验结果的步骤,包括:

24、当所述目标概率大于或等于所述生成概率时,将所述第三候选词元设置为校验通过;

25、当所述目标概率小于所述生成概率时,将所述第三候选词元设置为校验未通过,并记录校验未通过的所述第三候选词元在所述目标候选路径中的位置信息,以及所述第二模型在所述位置信息处输出的候选词元;

26、根据所述第三候选词元的校验结果确定第二校验结果。

27、可选地,所述基于所述第一模型根据所述第二校验结果更新所述缓冲区的步骤,包括:

28、当所述第二校验结果指示目标候选路径中存在校验未通过的第四候选词元时,获取所述第四候选词元在所述目标候选路径中的位置信息;

29、根据所述位置信息,在所述缓冲区中查找第五候选词元;

30、将所述目标候选路径中的所述第四候选词元替换为所述第五候选词元,以对所述缓冲区中的候选词元进行回退。

31、此外,为实现上述目的,本申请还提出一种推测解码装置,所述推测解码装置包括:

32、生成模块,用于基于第一模型,生成与各当前候选词元对应的第一候选词元,并将所述第一候选词元存储至缓冲区中;

33、同步模块,用于在检测到满足预设同步条件时,将所述缓冲区中的第二候选词元同步至第二模型;

34、校验模块,用于基于所述第二模型,根据所述第二候选词元和第一校验结果确定第二校验结果,所述第一校验结果通过第二模型对上一轮同步的候选词元校验生成;

35、更新模块,用于基于所述第一模型根据所述第二校验结果更新所述缓冲区,并基于更新后的缓冲区确定下一轮的所述当前候选词元,以执行下一轮推理。

36、此外,为实现上述目的,本申请还提出一种推测解码设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的推测解码方法的步骤。

37、此外,为实现上述目的,本申请还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的推测解码方法的步骤。

38、本申请中通过第一模型将生成的候选词元存储至缓冲区,并在满足预设同步条件时将缓冲区中的候选词元同步至第二模型,使第一模型的生成过程与第二模型的校验过程在时间上解耦,第一模型能够基于更新后的缓冲区进行候选词元生成而无需等待第二模型校验完成后再启动,最大限度地减少了进程间的空闲等待时间,实现两个模型的并行工作,显著提高了gpu资源利用率,有效降低了推测解码的整体推理延迟。

1.一种推测解码方法,其特征在于,所述推测解码方法包括:

2.如权利要求1所述的推测解码方法,其特征在于,所述缓冲区包括第一缓存和第二缓存;

3.如权利要求2所述的推测解码方法,其特征在于,所述根据所述生成概率和所述当前候选词元的路径权重,从所述第一候选词元中确定第二候选词元的步骤,包括:

4.如权利要求1所述的推测解码方法,其特征在于,所述在检测到满足预设同步条件时,将所述缓冲区中的第二候选词元同步至第二模型的步骤之前,还包括:

5.如权利要求1所述的推测解码方法,其特征在于,所述基于所述第二模型,根据所述第二候选词元和第一校验结果确定第二校验结果的步骤,包括:

6.如权利要求5所述的推测解码方法,其特征在于,所述根据所述目标概率和各所述第三候选词元的生成概率,确定第二校验结果的步骤,包括:

7.如权利要求1所述的推测解码方法,其特征在于,所述基于所述第一模型根据所述第二校验结果更新所述缓冲区的步骤,包括:

8.一种推测解码装置,其特征在于,所述装置包括:

9.一种推测解码设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如权利要求1至7中任一项所述的推测解码方法的步骤。

10.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的推测解码方法的步骤。