文本生成方法及其模型梯度剪枝方法、装置、设备、介质与流程

文档序号:37724693发布日期:2024-04-23 12:03阅读:12来源:国知局
文本生成方法及其模型梯度剪枝方法、装置、设备、介质与流程

本发明涉及人工智能,特别是涉及文本生成方法及其模型梯度剪枝方法、装置、设备、介质。


背景技术:

1、随着大语言模型(large language model,llm)的快速发展,llm成为了当今人工智能(artificial intelligence,ai)领域的热门研究方向。大语言模型的训练需要更多的计算资源,而单台设备早已无法满足这样的计算需求,因此分布式计算成为了一种基本需求。

2、目前面向llm的大规模训练场景,人们往往采用专业的计算集群,配备了高性能的图形处理器(graphics processing unit,gpu)以及节点之间的高速专用网络,如无线带宽(infiniband,ib)网络,其网速往往达到100gbps以上。

3、而对于更广泛的大众,当想从事llm应用或微调落地时,并不具备这样的计算设备和网络条件,更多的是有诸多分散的独立gpu节点,彼此之间用普通以太网通过互连技术(switch)实现的连接。在这种网络环境下进行分布式大模型训练任务的过程中,低速且不稳定的网络状况往往成为整个训练过程的瓶颈,且训练的时间随着网络带宽的降低成非线性上升,这些问题的存在导致目前大语言模型并不适合在低速且不稳定的网络环境下进行落地应用。

4、可见,如何实现大语言模型在低速且不稳定的网络环境下进行落地应用,是本领域技术人员需要解决的问题。


技术实现思路

1、本发明实施例的目的是提供一种文本生成方法及其模型梯度剪枝方法、装置、设备、介质,可以解决大语言模型无法在低速且不稳定的网络环境下进行落地应用的问题。

2、为解决上述技术问题,本发明实施例提供一种文本生成方法,适用于多个分散的图形处理器通过以太网连接构建的分布式网络环境,包括:

3、获取输入文本;

4、在文本生成模型处于训练预热阶段的情况下,保持所述文本生成模型当前的模型梯度不变;

5、在所述文本生成模型不处于训练预热阶段的情况下,基于设定的滑窗尺寸信息以及训练步数对应的性能损失函数,确定出所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能;

6、当分布式网络环境发生变化的情况下,根据设定的训练状态条件以及所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能和单步训练时长,依次对所述文本生成模型在每个训练步数下的梯度剪枝量进行动态调整;其中,所述训练状态条件包括模型性能和训练时长;

7、每得到一个训练步数所对应的调整后的梯度剪枝量,则按照所述调整后的梯度剪枝量对所述文本生成模型进行梯度剪枝操作,直至当前训练步数达到所述文本生成模型的总训练步数,则结束对所述文本生成模型的剪枝操作;

8、利用梯度剪枝后的文本生成模型对所述输入文本进行分析,以得到应答文本。

9、一方面,所述文本生成模型为答案生成模型的情况下,所述输入文本为问题文本,所述应答文本为答案文本;所述文本生成模型为标题生成模型的情况下,所述输入文本为文章,所述应答文本为文本标题。

10、本发明实施例提供了一种文本生成模型梯度剪枝方法,适用于多个分散的图形处理器通过以太网连接构建的分布式网络环境,所述方法包括:

11、在文本生成模型处于训练预热阶段的情况下,保持所述文本生成模型当前的模型梯度不变;

12、在所述文本生成模型不处于训练预热阶段的情况下,基于设定的滑窗尺寸信息以及训练步数对应的性能损失函数,确定出所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能;

13、当分布式网络环境发生变化的情况下,根据设定的训练状态条件以及所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能和单步训练时长,依次对所述文本生成模型在每个训练步数下的梯度剪枝量进行动态调整;其中,所述训练状态条件包括模型性能和训练时长;

14、每得到一个训练步数所对应的调整后的梯度剪枝量,则按照所述调整后的梯度剪枝量对所述文本生成模型进行梯度剪枝操作,直至当前训练步数达到所述文本生成模型的总训练步数,则结束对所述文本生成模型的剪枝操作,以实现梯度剪枝后的文本生成模型在所述分布式网络环境上的部署。

15、一方面,所述基于设定的滑窗尺寸信息以及训练步数对应的性能损失函数,确定出所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能包括:

16、调用以损失函数变化率为表征的性能计算公式,对与当前训练步数相邻的滑窗尺寸信息内的性能损失进行处理,以得到所述文本生成模型在当前训练步数下以损失函数变化率为表征的性能;所述以损失函数变化率为表征的性能计算公式为:

17、;

18、其中, t表示当前训练步数, m表示滑窗尺寸, l( t)表示当前训练步数对应的性能损失函数, l( t- m)表示当前训练步数减去滑窗尺寸所在步数对应的性能损失函数,表示当前训练步数之前的滑窗尺寸中对应的滑动平均损失, τ表示当前训练步数之前的滑窗尺寸内的训练步数, l( τ)表示当前训练步数之前的滑窗尺寸内的训练步数所对应的性能损失函数,表示滑窗尺寸中最小性能损失,表示当前达到的最小性能损失相比滑动平均损失的偏差,表示当前训练步数下以损失函数变化率为表征的性能。

19、一方面,所述根据设定的训练状态条件以及所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能和单步训练时长,依次对所述文本生成模型在每个训练步数下的梯度剪枝量进行动态调整包括:

20、判断当前训练步数下以损失函数变化率为表征的性能是否满足所述模型性能;

21、在以损失函数变化率为表征的性能不满足所述模型性能的情况下,下调所述文本生成模型在当前训练步数下的梯度剪枝量,按照下调后的梯度剪枝量对所述文本生成模型进行梯度剪枝;

22、在以损失函数变化率为表征的性能满足所述模型性能的情况下,判断当前训练步数的单步训练时长是否满足所述训练时长;

23、在当前训练步数的单步训练时长不满足所述训练时长的情况下,上调所述文本生成模型在当前训练步数下的梯度剪枝量,按照上调后的梯度剪枝量对所述文本生成模型进行梯度剪枝。

24、一方面,所述判断当前训练步数下以损失函数变化率为表征的性能是否满足所述模型性能包括:

25、根据当前训练步数下的衰减函数和显著度超参数,确定得到当前训练步数对应的衰减损失;

26、调用性能判别公式对当前训练步数下以损失函数变化率为表征的性能以及所述衰减损失进行比较,以判断当前训练步数下以损失函数变化率为表征的性能是否满足所述模型性能;其中,所述性能判别公式如下:

27、;

28、其中, f( t)表示当前训练步数 t对应的梯度数量,表示调整参数, d( t)表示衰减函数,表示显著度超参数,作为当前训练步数 t对应的衰减损失,表示当前训练步数下以损失函数变化率为表征的性能, otherwise表示除之外的情况, g( t)表示在当前训练步数下以损失函数变化率为表征的性能满足模型性能时当前训练步数 t对应的梯度数量;在当前训练步数下以损失函数变化率为表征的性能大于或等于所述衰减损失的情况下,判定当前训练步数下所述性能变化满足所述模型性能;

29、在当前训练步数下以损失函数变化率为表征的性能小于所述衰减损失的情况下,判定当前训练步数下以损失函数变化率为表征的性能不满足所述模型性能。

30、一方面,所述根据当前训练步数下的衰减函数和显著度超参数,确定得到当前训练步数对应的衰减损失包括:

31、根据所述文本生成模型的性能变化趋势,选取相匹配的衰减函数类型;其中,所述衰减函数类型包括分阶段衰减、指数衰减或余弦衰减;

32、将当前训练步数下所述衰减函数类型对应的衰减函数与所述显著度超参数的乘积作为当前训练步数对应的衰减损失。

33、一方面,下调所述文本生成模型在当前训练步数下的梯度剪枝量包括:

34、将上一训练步数对应的梯度数量乘以调整参数,以得到当前训练步数所需保留的梯度数量;其中,所述调整参数为取值大于1的数值。

35、一方面,按照所述调整后的梯度剪枝量对所述文本生成模型进行梯度剪枝操作包括:

36、按照梯度值从高到低的顺序,保留与当前训练步数所需保留的梯度数量相同个数的梯度,以得到当前训练步数剪枝后的文本生成模型。

37、一方面,下调所述文本生成模型在当前训练步数下的梯度剪枝量包括:

38、按照设定的下调比例,将上一训练步数对应的梯度剪枝量进行下调,以得到当前训练步数对应的梯度剪枝量。

39、一方面,按照所述调整后的梯度剪枝量对所述文本生成模型进行梯度剪枝操作包括:

40、按照梯度值从低到高的顺序,删除与当前训练步数对应的梯度剪枝量相同个数的梯度,以得到当前训练步数剪枝后的文本生成模型。

41、一方面,所述判断当前训练步数的单步训练时长是否满足所述训练时长包括:

42、调用时长判别公式对当前训练步数的单步训练时长以及时间超参数进行比较,以判断当前训练步数的单步训练时长是否满足所述训练时长;其中,所述时长判别公式如下:

43、;

44、其中, g( t)表示在当前训练步数下以损失函数变化率为表征的性能满足模型性能时当前训练步数 t对应的梯度数量, t( t)表示当前训练步数 t对应的单步训练时长, η表示时间超参数,表示调整参数;

45、在当前训练步数的单步训练时长小于时间超参数的情况下,判定当前训练步数的单步训练时长满足所述训练时长;

46、在当前训练步数的单步训练时长不小于时间超参数的情况下,判定当前训练步数的单步训练时长不满足所述训练时长。

47、一方面,上调所述文本生成模型在当前训练步数下的梯度剪枝量包括:

48、将上一训练步数对应的梯度数量除以调整参数,以得到当前训练步数所需保留的梯度数量;其中,所述调整参数为取值大于1的数值。

49、一方面,按照所述调整后的梯度剪枝量对所述文本生成模型进行梯度剪枝操作包括:

50、按照梯度值从高到低的顺序,保留与当前训练步数所需保留的梯度数量相同个数的梯度,以得到当前训练步数剪枝后的文本生成模型。

51、一方面,上调所述文本生成模型在当前训练步数下的梯度剪枝量包括:

52、按照设定的上调比例,将上一训练步数对应的梯度剪枝量进行上调,以得到当前训练步数对应的梯度剪枝量。

53、一方面,按照所述调整后的梯度剪枝量对所述文本生成模型进行梯度剪枝操作包括:

54、按照梯度值从低到高的顺序,删除与当前训练步数对应的梯度剪枝量相同个数的梯度,以得到当前训练步数剪枝后的文本生成模型。

55、一方面,还包括:

56、在当前训练步数的单步训练时长满足所述训练时长的情况下,保持所述文本生成模型在当前训练步数下的模型梯度不变。

57、一方面,保持所述文本生成模型在当前训练步数下的模型梯度不变包括:

58、将与所述当前训练步数相邻的上一训练步数对应的梯度数量作为所述文本生成模型在当前训练步数下的梯度数量。

59、一方面,所述在文本生成模型处于训练预热阶段的情况下,保持所述文本生成模型当前的模型梯度不变包括:

60、调用预热判别公式对所述当前训练步数以及预热步数进行比较,以判断文本生成模型是否处于训练预热阶段;其中,所述预热判别公式如下:

61、;

62、其中, t表示当前训练步数,表示梯度剪枝策略, n grad表示文本生成模型的总的梯度数量, f( t)表示结束训练预热阶段后的剩余训练阶段中当前训练步数 t对应的梯度数量,表示比例超参数, t0表示文本生成模型的总训练步数,表示预热步数;在时判定文本生成模型处于训练预热阶段;在时判定文本生成模型不处于训练预热阶段;

63、在所述当前训练步数小于预热步数的情况下,保持所述文本生成模型当前的模型梯度不变。

64、一方面,所述预热步数的设置过程包括:

65、根据训练步数与比例超参数的曲线关系,确定出与所述文本生成模型的总训练步数相匹配的比例超参数;

66、将所述总训练步数及其匹配的比例超参数的乘积值作为预热步数。

67、一方面,保持所述文本生成模型当前的模型梯度不变包括:

68、将所述文本生成模型的模型总梯度作为训练预热阶段的模型梯度。

69、本发明实施例还提供了一种文本生成模型梯度剪枝装置,适用于多个分散的图形处理器通过以太网连接构建的分布式网络环境,所述装置包括保持单元、确定单元、调整单元和剪枝单元;

70、所述保持单元,用于在文本生成模型处于训练预热阶段的情况下,保持所述文本生成模型当前的模型梯度不变;

71、所述确定单元,用于在所述文本生成模型不处于训练预热阶段的情况下,基于设定的滑窗尺寸信息以及训练步数对应的性能损失函数,确定出所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能;

72、所述调整单元,用于当分布式网络环境发生变化的情况下,根据设定的训练状态条件以及所述文本生成模型在每个训练步数下以损失函数变化率为表征的性能和单步训练时长,依次对所述文本生成模型在每个训练步数下的梯度剪枝量进行动态调整;其中,所述训练状态条件包括模型性能和训练时长;

73、所述剪枝单元,用于每得到一个训练步数所对应的调整后的梯度剪枝量,则按照所述调整后的梯度剪枝量对所述文本生成模型进行梯度剪枝操作,直至当前训练步数达到所述文本生成模型的总训练步数,则结束对所述文本生成模型的剪枝操作,以实现梯度剪枝后的文本生成模型在所述分布式网络环境上的部署。

74、本发明实施例还提供了一种文本生成模型梯度剪枝设备,包括:

75、存储器,用于存储计算机程序;

76、处理器,用于执行所述计算机程序以实现如上述文本生成模型梯度剪枝方法的步骤。

77、本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述文本生成模型梯度剪枝方法的步骤。

78、由上述技术方案可以看出,获取输入文本;在文本生成模型处于训练预热阶段的情况下,保持文本生成模型当前的模型梯度不变;在文本生成模型不处于训练预热阶段的情况下,基于设定的滑窗尺寸信息以及训练步数对应的性能损失函数,确定出文本生成模型在每个训练步数下以损失函数变化率为表征的性能;当分布式网络环境发生变化的情况下,根据设定的训练状态条件以及文本生成模型在每个训练步数下以损失函数变化率为表征的性能和单步训练时长,依次对文本生成模型在每个训练步数下的梯度剪枝量进行动态调整;其中,训练状态条件可以包括模型性能和训练时长。每得到一个训练步数所对应的调整后的梯度剪枝量,则按照调整后的梯度剪枝量对文本生成模型进行梯度剪枝操作,直至当前训练步数达到文本生成模型的总训练步数,则结束对文本生成模型的剪枝操作,利用梯度剪枝后的文本生成模型对输入文本进行分析,以得到应答文本。

79、本发明的有益效果在于,在训练预热阶段保持模型梯度不变,保证了文本生成模型在训练过程不会不收敛。对于不处于训练预热阶段的训练过程,通过对文本生成模型在每一训练步数下性能和训练时长进行综合考虑,可以动态确定出每一训练步数下文本生成模型合适的梯度剪枝量,按照梯度剪枝量对文本生成模型进行剪枝,保证了文本生成模型的训练任务能够在低速不稳定的网络环境中顺利完成,并且在保证模型训练性能的同时降低了训练总时长,实现了训练时长与性能的最优平衡。在获取到输入文本后,可以直接利用梯度剪枝后的文本生成模型对输入文本进行分析,实现了在低速不稳定网络环境下文本生成模型的部署和应用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1