System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 预训练语料处理方法、装置、电子设备及存储介质制造方法及图纸_技高网

预训练语料处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:41348958 阅读:3 留言:0更新日期:2024-05-20 10:03
本公开关于一种预训练语料处理方法、装置、电子设备及存储介质,该方法包括:根据预训练语料中的语义单元,将预训练语料切分为多个初始语料块,每个初始语料块为语义单元或者纯文本;在所述初始语料块为纯文本时,根据换行符,将初始语料块切分为多个第一语料子块;在初始语料块为语义单元时,根据初始语料块的标记化后长度,将初始语料块切分为一个或多个第二语料子块;根据各语料子块在预训练语料中的顺序,将至少一个语料子块组合为目标语料块,目标语料块的标记化后长度小于或等于所述序列长度,语料子块包括所述第一语料子块或所述第二语料子块。本公开实施例可以将整个目标语料块作为一个样本,保证了样本的语义信息的完整性。

【技术实现步骤摘要】

本公开涉及文本处理,尤其涉及一种预训练语料处理方法、装置、电子设备及存储介质


技术介绍

1、大语言模型(large language model,llm)是人工智能领域中最近的一项重要技术,它旨在使计算机具备理解和生成自然语言的能力,以及解决自然语言处理任务的挑战。最近几个月,一些大型语言模型,如gpt和llama等,在自然语言处理任务上取得了引人注目的成果。

2、大语言模型主要在文本语料上进行预训练以获取丰富的知识,在读取文本语料时,首先需要通过标记器(tokenizer)对文本语料进行标记处理(tokenize),将文本数字化,转换为模型可以处理的输入数据,标记器输出预训练语料的每个子词对应的标记数据(token_id)组成的list(列表),然后从列表中截取固定长度的数据组成样本提供给模型进行训练。因为gpt类大语言模型的训练和推理都是单向的,因此模型对当前子词的预测完全依赖上文信息,而模型训练时使用的每个样本能够容纳的上下文长度又是有限的(模型常用的序列长度sequence_length一般为2048、4096tokens等,一个token对应约5个byte),因此如何对标记数据列表进行拆分组合就成了大模型训练需要考虑的重要问题之一。

3、相关技术中,一般是将预训练语料标记处理后的标记数据列表直接按照序列长度进行切分,作为训练模型时的样本。然而,在模型训练的过程中,往往一个文档的标记数据列表的长度将超过序列长度,因此经常会出现一个文档对应的标记数据列表被切分为多个块(chunk)的情况,这就导致了语料可能会在句子或公式的中间被切分并作为下一个样本的开头,导致预训练语料被划分成很多语义信息不完整的块。图1是现有技术中语料块切分的示意图,如图1所示,假设文档1、文档2、文档3分别对应图1中的part1、part2、part3,sep为预定义的文档间的文本分隔符,预定义的序列长度为2048,对应的切分点在part2的中间,则part2对应的标记数据列表被从中间直接切开,这样在第二个块的开头,此样本的语义信息是十分不完整的。

4、由于gpt类大语言模型的训练和推理都是单向的,即根据上文推测下文。因而在上文语义信息不完整的情况下,会影响模型训练中预测结果计算出的损失(loss)的波动,从而影响到模型对预训练语料文本中蕴含的知识的理解和学习。


技术实现思路

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、粗粒度切分模块,被配置为执行根据预训练语料中的语义单元,将所述预训练语料切分为多个初始语料块,每个所述初始语料块为所述语本文档来自技高网...

【技术保护点】

1.一种预训练语料处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述初始语料块的标记化后长度,将所述初始语料块切分为一个或多个第二语料子块,包括:

3.根据权利要求1所述的方法,其特征在于,在所述根据预训练语料中的语义单元,将所述预训练语料切分为多个初始语料块之前,还包括:

4.根据权利要求3所述的方法,其特征在于,在所述初始语料块为纯文本时,根据换行符,将所述纯文本切分为多个第一语料子块之前,还包括:

5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据各语料子块在所述预训练语料中的顺序,将至少一个所述语料子块组合为目标语料块,包括:

6.根据权利要求5所述的方法,其特征在于,所述长度阈值为所述序列长度与容错值的差值;

7.根据权利要求1-4任一项所述的方法,其特征在于,还包括:

8.根据权利要求1-4任一项所述的方法,其特征在于,所述语义单元包括:公式、代码、表格或表格题注。

9.一种预训练语料处理装置,其特征在于,包括:

10.一种电子设备,其特征在于,包括:

11.一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至8中任一项所述的预训练语料处理方法。

...

【技术特征摘要】

1.一种预训练语料处理方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述初始语料块的标记化后长度,将所述初始语料块切分为一个或多个第二语料子块,包括:

3.根据权利要求1所述的方法,其特征在于,在所述根据预训练语料中的语义单元,将所述预训练语料切分为多个初始语料块之前,还包括:

4.根据权利要求3所述的方法,其特征在于,在所述初始语料块为纯文本时,根据换行符,将所述纯文本切分为多个第一语料子块之前,还包括:

5.根据权利要求1-4任一项所述的方法,其特征在于,所述根据各语料子块在所述预训练语料中的顺序,将至少一个所述语...

【专利技术属性】
技术研发人员:华菁云张煜松林梓佳
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1