System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于低秩张量层的自然语言提取方法及装置制造方法及图纸_技高网
当前位置: 首页 > 专利查询>上海大学专利>正文

一种基于低秩张量层的自然语言提取方法及装置制造方法及图纸

技术编号:40973147 阅读:4 留言:0更新日期:2024-04-18 21:22
本发明专利技术涉及一种基于低秩张量层的自然语言提取方法及装置,方法包括以下步骤,获取自然语言文本数据,输入预先训练的语言模型中,得到语言文本输出数据;语言模型的训练方法为:初始化语言模型,语言模型包括多个线性层和一维卷积层;使用低秩张量层替换模型中任意数量的线性层和一维卷积层,得到基于低秩张量层的语言模型;对模型进行多次第一阶段训练,得到达到预定的第一精度或第一训练次数的第一阶段模型,保存每次训练得到的模型对应的权重、模型精度和训练时间;利用第一阶段训练得到的权重,进行第二阶段训练,得到达到预定的第二精度或第二训练次数的第二阶段模型。与现有技术相比,本发明专利技术具有内存占用低、部署难度低和模型性能高等优点。

【技术实现步骤摘要】

本专利技术涉及自然语言处理领域,尤其是涉及一种基于低秩张量层的自然语言提取方法及装置


技术介绍

1、在人工智能领域,自然语言处理(natural language processing)一直是最热门的研究方向之一。近年来,基于大规模预训练的语言模型(llm,large language models)彻底改变了自然语言处理领域。

2、语言模型通常基于深度神经网络架构,这些模型的目标是理解和生成人类语言,以便进行有效的对话和执行广泛的任务,包括文本总结、翻译、情感分析等等。语言模型的特点是规模庞大,通常包括数十亿到数千亿的参数量,帮助它们学习语言数据中的复杂模式。预训练语言模型需要向其提供大量的文本数据,模型利用这些数据来学习人类语言的结构、语法和语义。

3、语言模型通常基于转换器(transformer)架构。该架构主要分为编码器与解码器两个部分。目前常见的语言模型,如llama(large language model meta ai)、gpt(generative pre-trained transformer)等系列模型采用单解码器结构,如图2所示。语言模型中有许多超参数,如模型维度,注意力头数,模型隐藏层数等,这些参数决定了语言模型的最终参数量。在这些模型中,参数主要集中在以下部分:多头自注意力层(multi-headattention)与前馈层(feed forward)。其中,多头自注意力层包含了四个线性层;前馈层一般包含两个线性层,llama系列模型则包含三个线性层。除此之外,模型的嵌入层与输出层也均为线性层。线性层中的权重为n×m大小的矩阵,其中n和m与线性层的输入输出维度。线性层的参数量与计算量会随着输入数据呈次方增长。

4、表1给出了llama-7b与llama-13b各部分的参数信息,其中模型以16-bit的数据格式计算大小。

5、表1:llama-7b与llama-13b的权重信息

6、

7、在大模型的训练过程中,除模型参数外,还包括其他数据占用大量显存。模型更新需要梯度数据,大小和模型相等。llama-7b与llama-13b训练时的梯度分别会产生13.47gb与26.03gb的显存占用;大模型的训练通常使用adamw优化器,该优化器存储一份参数的备份,以及两个参数:动量与偏差,这两个参数与模型参数量相同。优化器的数据均以32-bit格式储存。llama-7b与llama-13b训练时优化器分别会产生80.82gb与156.18gb的显存占用;在训练过程中,数据与参数计算产生中间结果,用于反向传播时计算模型梯度。每个batch数据的中间结果的大小约为(34sd+5s2h)×l,s为序列长度(sequence length),d为模型维度,h为注意力头数,l为模型层数。在训练时,llama-7b与llama-13b每个batch数据的中间结果分别会产生约82.5gb与151.56gb显存占用。在训练过程中llama-7b与llama-13b共产生约190.26gb与359.8gb的显存占用。目前用于训练语言模型的gpu内存普遍为40gb或80gb。正是因为这些困难的存在,高效预训练语言模型是自然语言处理领域最具有挑战性的任务之一。


技术实现思路

1、本专利技术的目的就是为了克服上述现有技术存在的模型训练过程中数据量大、模型部署难度高的缺陷而提供一种基于低秩张量层的自然语言提取方法及装置。

2、本专利技术的目的可以通过以下技术方案来实现:

3、获取自然语言文本数据,输入预先训练的语言模型中,得到语言文本输出数据;语言模型的训练方法包括以下步骤:

4、一种基于低秩张量层的自然语言提取方法,包括以下步骤:

5、s1:初始化语言模型,语言模型包括多个线性层和一维卷积层;

6、s2:使用低秩张量层替换模型中任意数量的线性层和一维卷积层,得到基于低秩张量层的语言模型;

7、s3:对基于低秩张量层的语言模型进行多次第一阶段训练,得到达到预定的第一精度或第一训练次数的第一阶段模型,保存每次训练得到的模型对应的权重、模型精度和训练时间;

8、s4:基于第一阶段训练得到的模型、模型精度和训练时间,利用第一阶段训练得到的权重,进行第二阶段训练,得到达到预定的第二精度或第二训练次数的第二阶段模型。

9、进一步地,步骤s2中,低秩张量层为低秩矩阵张量层、cp张量层、塔克张量层、链式张量层、分层塔克张量层或环式张量层中任意一种。

10、进一步地,步骤s2中的具体替换方法为使用多个线性层初始化的低秩张量层替换、对模型的权重进行张量分解、或通过训练权重旁路添加低秩模块中任意一种。

11、进一步地,步骤s2中,低秩张量层包括第一线性层和第二线性层,第一线性层的输入尺寸与被替换的线性层和一维卷积层相等,第二线性层的输出尺寸与被替换的线性层和一维卷积层相等,第一线性层的输出尺寸等于第二线性层的输入尺寸,即第一线性层和第二线性层的秩大小相同。

12、进一步地,步骤s3中,多次第一阶段训练均设置不同的训练参数,训练参数包括低秩张量层的种类、秩大小、学习率、批处理数量和优化器类型。

13、进一步地,还包括记录每次第一阶段训练对应的语言模型的参数量、计划预训练阶段的训练时间、gpu利用率、gpu显存占用和模型精度。

14、进一步地,步骤s4的包括过程一或过程二中任意一种;

15、过程一为加载第一阶段训练得到的权重,基于第一阶段得到的模型和第一阶段训练得到的权重进行第二阶段训练;

16、过程二为加载第一阶段训练得到的权重,并对每一个低秩张量层进行张量收缩,得到和步骤s1中初始化的语言模型参数量相同的张量收缩模型,基于张量收缩模型和第一阶段训练得到的权重进行第二阶段训练。

17、进一步地,还包括以下步骤:

18、s5:对第二阶段模型的权重进行张量分解,得到分解后的张量;

19、s6:使用分解后的张量替换第二阶段模型的权重,得到替换后的模型;

20、s7:对替换后的模型进行微调,当微调过程中达到了预设的迭代次数或模型损失值小于等于第二阶段模型的训练损失值,停止微调,得到最终模型。

21、进一步地,张量分解的方法为奇异值分解、cp分解、塔克分解、分层塔克分解、张量链式分解和张量环式分解中的任意一种。

22、本专利技术的第二方面,一种基于低秩张量层的自然语言提取装置,包括存储器、处理器,以及存储于所述存储器中的程序,处理器执行程序时实现如上任一的一种基于低秩张量层的自然语言提取方法。

23、与现有技术相比,本专利技术具有以下有益效果:

24、1)本专利技术提出的基于低秩张量层的两阶段预训练,在第一阶段训练过程,通过将原模型中线性层和一维卷积层替换为由两个具有相同秩大小的第一线性层和第二线性层组成的低秩张量层,降低模型中的本文档来自技高网...

【技术保护点】

1.一种基于低秩张量层的自然语言提取方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤S2中,所述低秩张量层为低秩矩阵张量层、CP张量层、塔克张量层、链式张量层、分层塔克张量层或环式张量层中任意一种。

3.根据权利要求2所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤S2中的具体替换方法为使用多个线性层初始化的低秩张量层替换、对模型的权重进行张量分解、或通过训练权重旁路添加低秩模块中任意一种。

4.根据权利要求3所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤S2中,所述低秩张量层包括第一线性层和第二线性层,所述第一线性层的输入尺寸与被替换的线性层和一维卷积层相等,所述第二线性层的输出尺寸与被替换的线性层和一维卷积层相等,所述第一线性层的输出尺寸等于第二线性层的输入尺寸,即第一线性层和第二线性层的秩大小相同。

5.根据权利要求1所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤S3中,所述多次第一阶段训练均设置不同的训练参数,所述训练参数包括低秩张量层的种类、秩大小、学习率、批处理数量和优化器类型。

6.根据权利要求5所述的一种基于低秩张量层的自然语言提取方法,其特征在于,还包括记录每次第一阶段训练对应的语言模型的参数量、计划预训练阶段的训练时间、GPU利用率、GPU显存占用和模型精度。

7.根据权利要求1所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤S4的包括过程一或过程二中任意一种;

8.根据权利要求1所述的一种基于低秩张量层的自然语言提取方法,其特征在于,还包括以下步骤:

9.根据权利要求8所述的一种基于低秩张量层的自然语言提取方法,其特征在于,所述张量分解的方法为奇异值分解、CP分解、塔克分解、分层塔克分解、张量链式分解和张量环式分解中的任意一种。

10.一种基于低秩张量层的自然语言提取装置,包括存储器、处理器,以及存储于所述存储器中的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-9中任一所述的一种基于低秩张量层的自然语言提取方法。

...

【技术特征摘要】

1.一种基于低秩张量层的自然语言提取方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤s2中,所述低秩张量层为低秩矩阵张量层、cp张量层、塔克张量层、链式张量层、分层塔克张量层或环式张量层中任意一种。

3.根据权利要求2所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤s2中的具体替换方法为使用多个线性层初始化的低秩张量层替换、对模型的权重进行张量分解、或通过训练权重旁路添加低秩模块中任意一种。

4.根据权利要求3所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤s2中,所述低秩张量层包括第一线性层和第二线性层,所述第一线性层的输入尺寸与被替换的线性层和一维卷积层相等,所述第二线性层的输出尺寸与被替换的线性层和一维卷积层相等,所述第一线性层的输出尺寸等于第二线性层的输入尺寸,即第一线性层和第二线性层的秩大小相同。

5.根据权利要求1所述的一种基于低秩张量层的自然语言提取方法,其特征在于,步骤s3中,所述多次第...

【专利技术属性】
技术研发人员:张杰童维勤支小莉刘小洋
申请(专利权)人:上海大学
类型:发明
国别省市:

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

1