CN117786104A - 一种模型训练方法、装置、电子设备以及存储介质 - Google Patents
一种模型训练方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN117786104A CN117786104A CN202311538306.8A CN202311538306A CN117786104A CN 117786104 A CN117786104 A CN 117786104A CN 202311538306 A CN202311538306 A CN 202311538306A CN 117786104 A CN117786104 A CN 117786104A
- Authority
- CN
- China
- Prior art keywords
- character
- training
- category
- preset
- vector
- 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
Links
- 238000012549 training Methods 0.000 title claims abstract description 284
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 239000013598 vector Substances 0.000 claims abstract description 244
- 238000009826 distribution Methods 0.000 claims abstract description 91
- 238000012545 processing Methods 0.000 claims abstract description 79
- 239000011159 matrix material Substances 0.000 claims abstract description 51
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 230000000873 masking effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 5
- 230000037431 insertion Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例提供了一种模型训练方法、装置、电子设备以及存储介质,涉及大模型技术领域。具体实现方案为:获取训练数据集;利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码得到每一训练语料对应的编码矩阵;针对每一训练语料的编码矩阵,利用预测网络按照预设时间步预测该训练语料的对应的训练样本的、关于各个预定类别的初始概率分布,基于初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到预测结果;基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;基于模型损失值调整大语言模型的参数。可见,通过本方案,可以在满足大语言模型的词向量表达需求的基础上,兼顾模型的训练效率。
Description
技术领域
本发明涉及大模型技术领域,特别是涉及一种模型训练方法、装置、电子设备以及存储介质。
背景技术
当前的大语言模型大多建立在分词、word2vec(单词转向量)、Transformer(一种采用自注意力机制的深度学习模型)的框架之上,来动态地学习输入文本的上下文表示。由于针对大语言模型进行训练所需的语料库巨大,常规的分词算法和word2vec编码通常会面临未登录词的问题,即模型无法生成未登录词的词向量,导致模型的表达能力受限。
相关技术中,采用将词拆成子词或更小粒度字符进行编码的方式来提高模型的表达能力,但是,由于将词拆成子词或更小粒度的字符后会产生大规模词表,从而引发词向量规模庞大的问题,导致模型的训练效率低下。
因此,如何在满足大语言模型的词向量表达需求的基础上,兼顾模型的训练效率成为亟需解决的技术问题。
发明内容
本发明实施例的目的在于提供一种模型训练方法、装置、电子设备以及存储介质,以在满足大语言模型的词向量表达需求的基础上,兼顾模型的训练效率。具体技术方案如下:
第一方面,本发明实施例提供了一种模型训练方法,所述方法包括:
获取训练数据集;其中,所述训练数据集中包括多条训练语料;
利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码,得到每一训练语料对应的编码矩阵;其中,所述词嵌入层用于针对每一训练语料,将该训练语料中的每一字符按照预定编码方式进行编码,得到该字符的词向量,并将所得到的各字符的词向量组成编码矩阵;所述预定编码方式为:针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式;各个预定向量查找表为基于所述预设字典中字符的位置编码所采用的编码位数以及进制数所构建;所述预设字典为基于第一字符以及预设的第二字符所构建的字典,所述第一字符为各条训练语料中所包括的字符;
针对每一训练语料对应的编码矩阵,利用所述大语言模型中的预测网络按照预设时间步,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果;其中,各个预定类别包括:至少一个第一字符对应的类别,以及至少一个第二字符对应的类别,且每一第一字符对应的类别用于表征该第一字符,每一第二字符对应的类别用于表征:在所述预设字典中,所对应位置在该第二字符与下一第二字符之间的字符;所述第一处理方式为以所述初始概率分布中概率最大的类别,作为预测结果的方式,所述第二处理方式为基于所述初始概率分布中概率最大的类别所表征的字符,以及该训练语料对应的训练样本进行预测以得到预测结果的方式;
基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;
基于所述模型损失值调整所述大语言模型的参数。可选地,所述第二处理方式包括:
基于该训练语料对应的训练样本,预测该训练样本对应的关于各个目标字符的目标概率分布,将所述目标概率分布中概率最大的类别,确定为该训练样本的预测结果;
其中,各个目标字符为所述初始概率分布中概率最大的类别所表征的字符。
可选地,所述基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果,包括:
判断所述初始概率分布中概率最大的类别,是否属于第一字符对应的类别;
若是,执行第一处理方式;
若否,执行第二处理方式。
可选地,各个预定向量查找表为:针对所述编码位数中的每一位进行设置的一向量查找表,所述向量查找表中包括与所述进制数相同的行数;
针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,包括:
针对与该字符在预设字典中的排序位置相对应的位置编码中的每一位,从针对该位所设置的向量查找表中,查找所具有行号与该位的元素值相匹配的目标行中的向量,得到该字符对应的一个行向量;
将所得到的每一位对应的行向量,按照预定组合方式进行组合;其中,所述预定方式包括:将所得到的行向量的各个相同向量位置处的元素值相加。
可选地,所述预设字典的构建方式包括:
将各条训练语料中所包括的字符按照出现的频率逆序排序,得到待利用序列;
将所述第二字符插入所述待利用序列中、除首尾位置之外的任一排序位置,得到目标词表;
将所述目标词表按照各个字符对应的排序位置转换为字典。
可选地,所述第二字符在所述预设字典中的排序位置为:所对应的位置编码符合预定条件的位置;所述预定条件为所对应的位置编码中只有1位的取值不为0的条件。
可选地,所述至少一个第一字符为所述预设字典中所对应排序位置靠前的至少一个字符。
第二方面,本发明实施例提供了一种模型训练装置,所述装置包括:
获取模块,用于获取训练数据集;其中,所述训练数据集中包括多条训练语料;
编码模块,用于利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码,得到每一训练语料对应的编码矩阵;其中,所述词嵌入层用于针对每一训练语料,将该训练语料中的每一字符按照预定编码方式进行编码,得到该字符的词向量,并将所得到的各字符的词向量组成编码矩阵;所述预定编码方式为:针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式;各个预定向量查找表为基于所述预设字典中字符的位置编码所采用的编码位数以及进制数所构建;所述预设字典为基于第一字符以及预设的第二字符所构建的字典,所述第一字符为各条训练语料中所包括的字符;
预测模块,用于针对每一训练语料对应的编码矩阵,利用所述大语言模型中的预测网络按照预设时间步,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果;其中,各个预定类别包括:至少一个第一字符对应的类别,以及至少一个第二字符对应的类别,且每一第一字符对应的类别用于表征该第一字符,每一第二字符对应的类别用于表征:在所述预设字典中,所对应位置在该第二字符与下一第二字符之间的字符;所述第一处理方式为以所述初始概率分布中概率最大的类别,作为预测结果的方式,所述第二处理方式为基于所述初始概率分布中概率最大的类别所表征的字符,以及该训练语料对应的训练样本进行预测以得到预测结果的方式;
计算模块,用于基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;
调整模块,用于基于所述模型损失值调整所述大语言模型的参数。
可选地,所述第二处理方式包括:
基于该训练语料对应的训练样本,预测该训练样本对应的关于各个目标字符的目标概率分布,将所述目标概率分布中概率最大的类别,确定为该训练样本的预测结果;
其中,各个目标字符为所述初始概率分布中概率最大的类别所表征的字符。
可选地,所述预测模块基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果,包括:
判断所述初始概率分布中概率最大的类别,是否属于第一字符对应的类别;
若是,执行第一处理方式;
若否,执行第二处理方式。
可选地,各个预定向量查找表为:针对所述编码位数中的每一位进行设置的一向量查找表,所述向量查找表中包括与所述进制数相同的行数;
针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,包括:
针对与该字符在预设字典中的排序位置相对应的位置编码中的每一位,从针对该位所设置的向量查找表中,查找所具有行号与该位的元素值相匹配的目标行中的向量,得到该字符对应的一个行向量;
将所得到的每一位对应的行向量,按照预定组合方式进行组合;其中,所述预定方式包括:将所得到的行向量的各个相同向量位置处的元素值相加。
可选地,所述预设字典的构建方式包括:
将各条训练语料中所包括的字符按照出现的频率逆序排序,得到待利用序列;
将所述第二字符插入所述待利用序列中、除首尾位置之外的任一排序位置,得到目标词表;
将所述目标词表按照各个字符对应的排序位置转换为字典。
可选地,所述第二字符在所述预设字典中的排序位置为:所对应的位置编码符合预定条件的位置;所述预定条件为所对应的位置编码中只有1位的取值不为0的条件。
可选地,所述至少一个第一字符为所述预设字典中所对应排序位置靠前的至少一个字符。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的模型训练方法的步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的模型训练方法的步骤。
本发明实施例有益效果:
本发明实施例提供的方案,针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,对该字符进行编码,得到该字符的词向量。相较于现有技术中,基于字典中每个字符构建一词向量的方式而言,大大降低了词嵌入层所存储的向量查找表的规模,减少了模型的存储成本,且提高了模型的表达能力。此外,针对每一训练语料对应的编码矩阵,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果。由于各个预定类别包括第二字符对应的类别,且每一第二字符对应的类别用于表征:在该预设字典中,所对应位置在该第二字符与下一第二字符之间的字符,因此,通过预测关于该各个预定类别的初始概率分布,然后根据初始概率分布中概率最大的类别执行不同的处理方式,可以实现分阶段预测,在词表规模庞大时可以降低模型预测的维度,从而提高模型的训练效率。可见,通过本方案,可以在满足大语言模型的词向量表达需求的基础上,兼顾模型的训练效率。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例所提供的一种模型训练方法的流程图;
图2为本发明实施例所提供的一种预定编码方式的流程图;
图3为本发明实施例所提供的一种确定训练样本的预测结果的流程图;
图4为本发明实施例所提供的一种预设字典的构建方式的流程图;
图5为本发明实施例所提供的一种插入规则的示意图;
图6A为现有技术中基于原始字典构建的词向量矩阵的示意图;
图6B为本发明实施例所提供的根据编码本构建词向量的三维张量的示意图;
图7为本发明实施例所提供的一种模型训练装置的结构示意图;
图8为实现本发明实施例所提供的模型训练方法的电子设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
下面,首先对本发明实施例所提供的一种模型训练方法进行介绍。
本发明实施例所提供的一种模型训练方法,可以应用于各类电子设备,例如,个人电脑、服务器、以及其他具有数据处理能力的设备。另外,可以理解的是,本发明实施例提供的模型训练方法可以通过软件、硬件或软硬件结合的方式实现。
其中,本发明实施例所提供的一种模型训练方法,可以包括如下步骤:
获取训练数据集;其中,所述训练数据集中包括多条训练语料;
利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码,得到每一训练语料对应的编码矩阵;其中,所述词嵌入层用于针对每一训练语料,将该训练语料中的每一字符按照预定编码方式进行编码,得到该字符的词向量,并将所得到的各字符的词向量组成编码矩阵;所述预定编码方式为:针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式;各个预定向量查找表为基于所述预设字典中字符的位置编码所采用的编码位数以及进制数所构建;所述预设字典为基于第一字符以及预设的第二字符所构建的字典,所述第一字符为各条训练语料中所包括的字符;
针对每一训练语料对应的编码矩阵,利用所述大语言模型中的预测网络按照预设时间步,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果;其中,各个预定类别包括:至少一个第一字符对应的类别,以及至少一个第二字符对应的类别,且每一第一字符对应的类别用于表征该第一字符,每一第二字符对应的类别用于表征:在所述预设字典中,所对应位置在该第二字符与下一第二字符之间的字符;所述第一处理方式为以所述初始概率分布中概率最大的类别,作为预测结果的方式,所述第二处理方式为基于所述初始概率分布中概率最大的类别所表征的字符,以及该训练语料对应的训练样本进行预测以得到预测结果的方式;
基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;
基于所述模型损失值调整所述大语言模型的参数。
本发明实施例提供的方案,针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,对该字符进行编码,得到该字符的词向量。相较于现有技术中,基于字典中每个字符构建一词向量的方式而言,大大降低了词嵌入层所存储的向量查找表的规模,减少了模型的存储成本,且提高了模型的表达能力。此外,针对每一训练语料对应的编码矩阵,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果。由于各个预定类别包括第二字符对应的类别,且每一第二字符对应的类别用于表征:在该预设字典中,所对应位置在该第二字符与下一第二字符之间的字符,因此,通过预测关于该各个预定类别的初始概率分布,然后根据初始概率分布中概率最大的类别执行不同的处理方式,可以实现分阶段预测,在词表规模庞大时可以降低模型预测的维度,从而提高模型的训练效率。可见,通过本方案,可以在满足大语言模型的词向量表达需求的基础上,兼顾模型的训练效率。
下面结合附图,对本发明实施例所提供的模型训练方法进行介绍。
如图1所示,本发明实施例所提供的模型训练方法,可以包括步骤S101-S105:
S101,获取训练数据集;其中,该训练数据集中包括多条训练语料;
本实施例中,训练语料可以是来源于网页、公开书籍或开源语料库中的语料,可以包括科技语料、对话文本、网页语料、代码语料等多种类型的语料。需要说明的是,本发明实施例对该训练语料的来源和类型并不限定。示例性的,在实际应用中,相关工作人员可以从BBT-FinCorpus(中文金融领域开源语料库)、Dolma(开放式文本数据集)等开源语料库中获取多条训练语料,作为训练数据集。
S102,利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码,得到每一训练语料对应的编码矩阵;其中,该词嵌入层用于针对每一训练语料,将该训练语料中的每一字符按照预定编码方式进行编码,得到该字符的词向量,并将所得到的各字符的词向量组成编码矩阵;该预定编码方式为:针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式;各个预定向量查找表为基于该预设字典中字符的位置编码所采用的编码位数以及进制数所构建;该预设字典为基于第一字符以及预设的第二字符所构建的字典,该第一字符为各条训练语料中所包括的字符;
可以理解的是,大语言模型中的词嵌入层通过将单词表示为高维空间中的向量,以将输入文本转换为模型可以理解的数值表示,有助于模型理解单词的含义,并基于此进行预测。在获取训练数据集后,将该训练数据集中的各条训练语料输入待训练的大语言模型中,以利用词嵌入层对各条训练语料进行编码。针对一训练语料,该训练语料中的每一字符可以编码得到一词向量,按照该训练语料中各个字符的顺序组合成编码矩阵,可以得到该训练语料对应的编码矩阵。示例性的,若一训练语料为“大语言”,针对“大”编码得到的词向量为(1.2,0.1,0.3,3.1),针对“语”编码得到的词向量为(1.5,0.1,0.4,1.1),针对“大”编码得到的词向量为(0.3,1.1,0.7,2.0)则,该训练语料对应的编码矩阵为:
需要说明的是,本发明实施例所利用的词嵌入层中可以存储有各个预定向量查找表。在实际应用中,该各个预定向量查找表可以预先由相关工作人员根据预设字典进行构建,该预设字典中包括第一字符以及预设的第二字符,该第一字符为各条训练语料中所包括的字符。示例性的,预设的第二字符可以是符号、字母等特殊字符。示例性的,若训练数据集中包括两条训练语料,分别为“大语言模型”和“模型训练集”,则可以确定“大”、“语”、“言”、“模”、“型”、“训”、“练”、“集”为第一字符。若预设的第二字符为“Y”且基于第一字符和预设的第二字符所构建的字典为[模:0,型:1,大:2,语:3,言4,Y:5,训:6,练:7,集:8],若将预设字典中的字符采用4位2进制的位置编码,则可以根据该位置编码所采用的编码位数和进制数,构建4张向量查找表,且每张表中存储2个行向量。此时,针对每一字符,可以根据该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量,并将所获取的行向量进行组合,作为该字符的词向量。示例性的,针对字符“大”,若采用4位2进制的位置编码,则其对应的位置编码为“0010”,此时,可以从第一张向量查找表中获取第1行向量、第二张向量查找表中获取第1行向量、第三张向量查找表中获取第2行向量,第四张向量查找表中获取第1行向量,然后将该4个向量组合,作为该字符对应的词向量。
在实际应用中,对各个字符进行位置编码的方式,可以是根据预设字典所包括的字符数量构建一个K位、每位包含G个值的编码本,然后将各个字符的位置id映射为该编码本中对应的位置编码。其中,G和K满足条件GK-1<N+M≤GK,N为预设字典中第一字符的数量,M为预设字典中第二字符的数量。则根据该编码本,可以将预设字典中的各个字符的位置id映射为对应的位置编码,该位置编码的编码位数为K,进制数为G。示例性的,若预设字典中包括8个字符,则G可以取值为2、K取值为3,此时,预设字典中各个位置id的字符对应的位置编码为“000、001、010、011、100、101、110、111”或者,G可以取值为3,K可以取值为2,此时,各字符对应的位置编码为“00、01、02、10、11、12、20、21”。在确定各个字符的位置编码后,可以根据位置编码所采用的编码位数和进制数,构建各个预定向量查找表。
示例性的,所构建的向量查找表中的各个行向量可以是实数向量,该各个实数向量可以具有根据经验设定的初始值,例如一行向量可以为(1.2,0.1,-0.9,3.2)。且在训练过程中,该行向量中的各个元素值可以通过模型损失值的反向传播进行调整。根据G和K的值,可以构建向量的三维张量H∈RK×G×E,R为实数,E为向量长度。也就是,针对位置编码中的每一位可以设置行数为G,长度为E的实数向量,从而构建出K张G*E的向量矩阵,作为各个预定向量查找表。需要说明的是,本发明实施例对该E的值并不限定,例如E可以取值为4、5,等等。
可以理解的是,由于每一字符由各个表中的行向量进行组合后表征,通过利用多张表中的各个行向量进行组合后表征一字符的方式,相较于现有技术中,基于字典中每个字符构建一词向量的方式而言,大大降低了词嵌入层所存储的向量查找表的规模,减少了模型的存储成本,且提高了模型的表达能力。例如,若预设字典中包括10000个字符,则按照现有技术需要构建一张10000行的向量查找表,每一字符对应一向量。而按照本方案,可以构建6张5行的向量查找表,从每个表中取出一个行向量然后将所取出的各个行向量进行组合后表征一字符。可以理解的是,该6张5行的向量查找表,最多可以表征15625个字符,且此时向量查找表中行向量的维度6*5<<10000。从而,大大降低了词嵌入层的存储成本,提高了模型的表达能力。
可选地,在一种实现方式中,各个预定向量查找表为:针对该编码位数中的每一位进行设置的一向量查找表,该向量查找表中包括与该进制数相同的行数;
相应地,在本实现方式中,如图2所示,针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,可以包括步骤S201-S202:
S201,针对与该字符在预设字典中的排序位置相对应的位置编码中的每一位,从针对该位所设置的向量查找表中,查找所具有行号与该位的元素值相匹配的目标行中的向量,得到该字符对应的一个行向量;
本实现方式中,可以针对编码位数中的每一位设置一向量查找表,且每一向量查找表的行数与该位置编码所采用的进制数相同。这样,根据每一字符的位置编码,可以针对该位置编码中的每一位,从针对该位所设置的向量查找表中,查找所具有行号与该位的元素值相匹配的目标行中的向量,得到该位对应的一个行向量。
其中,所具有行号与该位的元素值相匹配的目标行,可以是以元素值0对应第一行,元素值1对应第2行,以此类推,确定与元素值相匹配的目标行。示例性的,若预设字典为[模:0,型:1,大:2,语:3,言4,Y:5,训:6,练:7,集:8],采用4位2进制的编码本对字符的位置id编码。则针对字符“大”,则其对应的位置编码为“0010”。此时,针对该位置编码中的第1位元素值“0”,可以从针对该位所设置的向量查找表中查找第1行向量,作为该字符对应的一个行向量。可以理解的是,根据该字符的位置编码的编码位数,可以得到4个行向量。分别为:针对第1位所设置的向量查找表中的第一行向量、针对第2位所设置的向量查找表中的第1行向量、针对第3位所设置的向量查找表中的第2行向量和针对第4位所设置的向量查找表中的第1行向量。
S202,将所得到的每一位对应的行向量,按照预定组合方式进行组合;其中,该预定方式包括:将所得到的行向量的各个相同向量位置处的元素值相加。
本实现方式中,在得到每一位对应的行向量后,可以将该多个行向量的各个相同向量位置处的元素值相加,得到新的向量,将该新的向量作为该字符对应的词向量。
示例性的,若针对字符“大”,从各个预定向量查找表中获取到的4个行向量分别为(0.1,0.2,0.3,0.4)、(0.3,0.2,0.3,0.4)、(0.5,0.2,0.1,0.3)、(0.1,0.7,0.2,0.4),则可以将该各个向量中的第一位元素值相加作为新的向量的第一位元素值,以此类推,可以组合成新的向量(1.0,1.3,0.9,1.5),该向量即为该字符对应的词向量。需要说明的是,本发明实施例对该预定组合方式并不限定,例如,在实际应用中,还可以将所获取的各个向量进行拼接,作为该字符对应的词向量,这都是合理的。
另外,需要说明的是,为了方案布局清晰,在下述实施例中对该预定编码方式的具体实现步骤以及预设字典的具体构建方式进行介绍,这里不再赘述。
S103,针对每一训练语料对应的编码矩阵,利用该大语言模型中的预测网络按照预设时间步,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于该初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果;其中,各个预定类别包括:至少一个第一字符对应的类别,以及至少一个第二字符对应的类别,且每一第一字符对应的类别用于表征该第一字符,每一第二字符对应的类别用于表征:在该预设字典中,所对应位置在该第二字符与下一第二字符之间的字符;该第一处理方式为以该初始概率分布中概率最大的类别,作为预测结果的方式,该第二处理方式为基于该初始概率分布中概率最大的类别所表征的字符,以及该训练语料对应的编码矩阵进行预测以得到预测结果的方式;
本实施例中,预测网络可以是Decoder-only(解码器)、Encoder-only(编码器)或Encoder-Decoder(编码器-解码器)等常见的神经网络层。可以理解的是,在实际应用中,大语言模型按照预设时间步对输入模型的编码矩阵进行预测。也就是,第一步对该编码矩阵中除第一个字符的词向量之外的其他词向量进行掩码处理,用该掩码处理后的矩阵预测第二个字符的词向量,下一步是暴露前两个字符的词向量,预测第三个字符的词向量,以此类推。在每一时间步下,对编码矩阵进行掩码处理后得到的矩阵即为该训练语料对应的训练样本。其中,对编码矩阵中的任一词向量进行掩码处理的方式,可以是将该编码矩阵中该词向量的值用0值替换。相应地,在每一时间步下,预测网络对该时间步下的训练样本进行预测,得到该训练样本对应的关于各个预定类别的初始概率分布。
可以理解的是,由于各个预定类别包括第二字符对应的类别,且每一第二字符对应的类别用于表征:在该预设字典中,所对应位置在该第二字符与下一第二字符之间的字符,因此,通过预测关于该各个预定类别的初始概率分布,然后根据初始概率分布中概率最大的类别执行不同的处理方式,可以实现分阶段预测,在词表规模庞大时降低预测的维度,从而提高模型的训练效率。例如,相关技术中,若词表为[大,语,言,模,型,训,练,集],则进行预测时,需要进行8分类,即预测训练语料的下一字符为该词表中的每一字符的概率。而本方案,通过构建包含第二字符的字典,若预设字典为[模:0,型:1,Y:2,大:3,语:4,言5,Z:6,训:7,练:8,集:9],则可以进行4分类,即预定类别包括“模”对应的类别、“型”对应的类别,以及“Y”和“Z”对应的类别。其中,“Y”对应的类别表征所对应位置在“Y”和“Z”之间的字符,包括“大、语、言”,“Z”对应的类别表征所对应位置在“Z”之后到字典末尾的所有字符,“训、练、集”。需要说明的是,若预设的第二字符的数量为1个,则该所对应位置在该第二字符与下一第二字符之间的字符,为所对应位置在该第二字符之后到字典末尾的所有字符。
在预测得到各个预定类别的初始概率分布后,可以根据概率最大的类别,执行第一处理方式或第二处理方式,得到该训练语料的预测结果。
可选地,在一种实现方式中,如图3所示,基于该初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果,可以包括步骤S301-S303:
S301,判断该初始概率分布中概率最大的类别,是否属于第一字符对应的类别;
S302,若是,执行第一处理方式;
S303,若否,执行第二处理方式。
可以理解的是,由于预设的第二字符为设置的符号、字母等特殊字符,第一字符为来源于训练语料中的真实字符,因此,若初始概率分布中概率最大的类别不属于第一字符对应的类别,则还可以执行第二处理方式,即基于该概率最大的类别所表征的字符,以及该训练语料对应的训练样本再次进行预测,以得到预测结果。例如,若概率最大的类别为“Y”对应的类别,则可以基于该类别所表征的字符“大、语、言”再次进行预测,即预测关于“大”对应的类别、“语”对应的类别、“言”对应的类别的概率分布,并根据此次概率分布结果确定该训练样本的预测结果。若初始概率分布中,概率最大的类别属于第一字符对应的类别,则可以执行第一处理方式,即将该概率最大的类别,作为预测结果。
可选地,在一种实现方式中,该第二处理方式可以包括:
基于该训练语料对应的训练样本,预测该训练样本对应的关于各个目标字符的目标概率分布,将该目标概率分布中概率最大的类别,确定为该训练样本的预测结果;
其中,各个目标字符为该初始概率分布中概率最大的类别所表征的字符。
示例性的,在实际应用中,预测网络可以包括两层预测网络。第一层预测网络输出关于各个预定类别的初始概率分布,第二层预测网络输出关于各个目标字符的目标概率分布。并且,第二层预测网络可以连接在第一层预测网络所对应的各个预定类别中、属于第二字符对应的类别的神经元之后。且每一属于第二字符对应的类别的神经元之后连接有一第二层预测网络,该第二层预测网络用于预测该训练语料对应的训练样本的、关于该第二字符所表征的各个目标字符的目标概率分布。基于该训练语料对应的训练样本,预测该训练样本对应的关于各个目标字符的目标概率分布,可以是将该训练样本经过第一层预测网络输出后,输入该第一层预测网络所连接的第二层预测网络中,以预测该训练样本对应的关于各个目标字符的目标概率分布。
示例性的,若预设字典为[模:0,型:1,Y:2,大:3,语:4,言5,Z:6,训:7,练:8,集:9],训练语料为“大语言模型训练集”,按照预设时间步针对该训练语料中的第6个字符进行预测时,该训练样本为对该训练语料对应的编码矩阵中的、后3个字符的词向量进行掩码处理后所得到的矩阵。各个预定类别包括“模”对应的类别、“型”对应的类别,以及“Y”和“Z”对应的类别。若预测网络预测该训练样本对应的关于各个预定类别的初始概率分布为:模:5%,型:1%,Y:30%,Z:64%,则可以执行第二处理方式,即预测关于各个目标字符“训”、“练”、“集”的目标概率分布。若目标概率分布中概率最大的类别为“训”对应的类别,则可以将该“训”确定为该训练样本的预测结果。可以理解的是,按照预设时间步进行预测后,可以得到各个时间步下对应的训练样本的预测结果。
S104,基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;
本实施例中,每一训练样本具有的指定标签,可以为该训练样本所针对的待预测位置的真实字符。可以理解的是,在大语言模型的预训练阶段,模型采用自监督学习的方式,使得模型无需手动标签即可学习数据表示。示例性的,可以对训练语料中所包括的字符进行遍历,针对所遍历到的每一字符,该字符为该训练语料中、位于该字符之前的至少一个字符对应的下一字符位置的真值。因此,可以将该字符作为预测该字符位置时的训练样本的指定标签。例如,若训练语料为“大语言模型”,则可以将“语”确定为预测该训练语料中“大”的下一字符时的训练样本的指定标签,将“言”确定为预测该训练语料中“大语”的下一字符时的训练样本的指定标签。
示例性的,在实际应用中,预测网络按照预设时间步进行预测时,首先对输入的编码矩阵中,第一个字符对应的词向量之后的词向量进行掩码处理,基于该掩码处理后得到的矩阵预测第二个字符对应的词向量,此时,该掩码处理后的矩阵为一训练样本,该掩码处理前该第二个字符的词向量作为该训练样本对应的指定标签;然后,对编码矩阵中位于第一个字符和第二个字符对应的词向量之后的词向量进行掩码处理,基于掩码处理后的矩阵预测第三个字符对应的词向量,此时掩码处理前该第三个字符的词向量作为指定标签,以此类推,实现自监督学习。从而,可以根据每一训练样本对应的预测结果和指定标签之间的差值,计算模型损失值。
示例性的,计算模型损失值的方式,可以是:针对各个训练语料的各个训练样本,若任一训练样本对应的指定标签和模型输出的预测结果不同,则记分值为1,若相同,则记分值为0,将所记录的分值之和与训练样本的数量的比值,作为模型损失值;或者,根据各个训练样本的预测结果对应的预测概率分布,与真实概率分布的差值,确定模型损失值,这都是合理的。
示例性的,在实际应用中,可以采用如下损失函数计算模型损失值loss:
其中,St为所有训练样本的数量,y为所预测的下一字符的真实概率分布,P(w|h)为所预测的下一字符的预测概率分布,Hi、Hj分别为各个预定向量查找表中第i、j个向量矩阵,i≠j,K为各个预定向量查找表的数量,Hj T为Hj的转置矩阵,I为单位矩阵,‖*‖2表示矩阵取模。可以理解的是,通过在损失函数中增加“∑0>i,j≥K||Hi×Hj T-I||2”惩罚项,后续利用该损失函数所计算出的模型损失值调整模型参数时,可以进一步约束词嵌入层中所存储的各个向量矩阵之间的相关性,从而提高模型编码的多样性及参数利用率。
S105,基于该模型损失值调整该大语言模型的参数。
本实施例中,可以利用梯度下降、最小化模型损失值的方向传播等方法,调整大语言模型的参数。在调整完模型参数后,可以返回步骤S102中继续训练,直至模型损失值小于预设的损失阈值,停止训练,得到训练完成的大语言模型。其中,该预设的损失阈值为使得模型收敛的损失阈值。
本发明实施例提供的方案,针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,对该字符进行编码,得到该字符的词向量。相较于现有技术中,基于字典中每个字符构建一词向量的方式而言,大大降低了词嵌入层所存储的向量查找表的规模,减少了模型的存储成本,且提高了模型的表达能力。此外,针对每一训练语料对应的编码矩阵,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果。由于各个预定类别包括第二字符对应的类别,且每一第二字符对应的类别用于表征:在该预设字典中,所对应位置在该第二字符与下一第二字符之间的字符,因此,通过预测关于该各个预定类别的初始概率分布,然后根据初始概率分布中概率最大的类别执行不同的处理方式,可以实现分阶段预测,在词表规模庞大时可以降低模型预测的维度,从而提高模型的训练效率。可见,通过本方案,可以在满足大语言模型的词向量表达需求的基础上,兼顾模型的训练效率。
可选地,在本发明的另一实施例中,如图4所示,该预设字典的构建方式可以包括步骤S401-S403:
S401,将各条训练语料中所包括的字符按照出现的频率逆序排序,得到待利用序列;
示例性的,在实际应用中,可以先将各条训练语料按照最小粒度字符单位进行切分、去重,得到该训练语料所包括的字符,并按照不同字符在训练数据集中出现的频率逆序排序,得到待利用序列。
示例性的,若训练数据集中包括两条训练语料,分别为“大语言模型”和“模型训练集”,则按照最小粒度字符对该训练语料进行切分、去重后,可以得到[大,语,言,模,型,训,练,集],按照出现频率的逆序排序后得到的待利用序列为[模,型,大,语,言,训,练,集]。
S402,将该第二字符插入该待利用序列中、除首尾位置之外的任一排序位置,得到目标词表;
示例性的,若预设的第二字符为Y、Z,则将该第二字符插入该待利用序列中、除首尾位置之外的任一排序位置,可以得到的目标词表为[模,型,Y,大,语,言,Z,训,练,集]。
可选地,在一种实现方式中,该第二字符在该预设字典中的排序位置为:所对应的位置编码符合预定条件的位置;该预定条件为所对应的位置编码中只有1位的取值不为0的条件。
可以理解的是,将第二字符插入待利用序列中所对应的位置编码中只有1位的取值不为0的位置,可以方便后续查找到字典中的各个第二字符,并快速确定出各个第二字符之间的字符,从而,进一步提高模型的训练效率。示例性的,若位置编码为4位2进制编码,则该第二字符可以插入的位置包括:所对应位置编码为“0001”、“0010”、“0100”、“1000”的位置。
S403,将该目标词表按照各个字符对应的排序位置转换为字典。
在得到目标词表后,可以将各个字符以及各个字符对应的排序位置构成键值对,得到字典。示例性的,目标词表[模,型,Y,大,语,言,Z,训,练,集]转换得到的字典为[模:0,型:1,Y:2,大:3,语:4,言5,Y:6,训:7,练:8,集:9]。
相应地,在本实施例中,该至少一个第一字符为该预设字典中所对应排序位置靠前的至少一个字符。
可以理解的是,由于词频高的类别属于预测结果的概率相对较高,因此,将字符按照出现的频率逆序排序后构建字典,在后续类别预测中,通过将该预设字典中所对应排序位置靠前的至少一个字符对应的类别,确定为各个预定类别中至少一个第一字符对应的类别,可以提高一次预测得到预测结果的概率,从而提高模型的训练效率。
可见,通过本方案,可以进一步提高模型的训练效率。
为了更好的理解本发明实施例所提供的模型训练方法,下面结合一个具体示例对本发明实施例的内容进行介绍。
本示例的处理逻辑包括如下六个部分:
(一)将大语言模型训练集(对应于上文中的训练数据集)包含的全部语种的训练语料按照最小粒度字符单位进行切分、去重,并按照不同字符单元(对应于上文中的字符)在训练集中出现的频率逆序排序,形成形如[c0,c1,…,cn-1]、长度为N的列表,其中c0为计算机能够理解且在训练集中出现频率最高的原始字符单元。
(二)增加M个特殊字符单元(对应于上文中预设的第二字符),分别为[s0,s1,…,sm-1],其中N>>M。M个特殊字符单元按照预定插入规则依次插入[c0,c1,…,cn]列表中非头尾的位置,形成词表V,将词表V按照字符单元与位置id转换为形如{c0:0,c1:1,…,s0:i,…,cn:n+m-1}的字典。
(三)构建一个K位、每位包含G个值的编码本,其中G和K满足条件GK-1<N+M≤GK,根据编码本,将(二)中转换得到的字典的所有字符单元的位置id映射为对应的编码(对应于上文中的位置编码)。其中,特殊字符单元的插入规则需要满足对应位置id按照编码本映射的编码只有一位的值为1,其他值均为0。如图5所示,若构建的编码本为K为6,G为4的6位4进制的编码本,字典中c0的位置id为0,c99的位置id为100。在位置id为16处插入s0,此时该特殊字符单元所对应位置编码为“000100”,符合插入规则,在位置id为256处插入s1,此时该特殊字符单元所对应位置编码为“010000”,符合插入规则。
(四)如图6B所示,根据编码本构建词向量的三维张量H∈RK×G×E,其中编码的每一位对应一个低相关、独立且大小为G×E的词向量矩阵(对应于上文中的向量查找表),E为词向量的长度。将字符单元的位置编码的每一位对应的词向量进行求和,即可得到表征该字符单元的词向量。如图6A所示,为现有技术中基于原始字典构建的词向量矩阵H∈RN×E,K×G<<N。可见,基于编码本的词向量构建方法可显著降低大语言模型词向量层的参数规模,同时显著增加词表的大小,提升模型的可表征范围。
(五)在(四)构建词向量的基础上,搭建大语言模型的网络结构,包括但不限于Decoder-only、Encoder-only或Encoder-Decoder等常见的神经网络层。
(六)鉴于当前大语言模型词汇量巨大导致的计算效率低下问题,可以对词表进行分组。根据(二)中插入的特殊字符单元,可以将词表切分为M+1组。除头部出现频率最高的第一组字符单元外,每个特殊字符单元均可以作为当前位置到下一个特殊字符单元之间所有字符单元的类标签,最后一个特殊字符单元sm-1则代表当前位置到词表末尾所有字符单元的类标签。这M+1组词表可以依次表示为在大语言模型做自监督学习时,首先对词表Vhead包含的字符单元(对应于上文中的至少一个第一字符)和M个特殊字符单元(对应于上文中的至少一个第二字符)计算概率分布,若预测单词在Vhead内,则可以直接定位到真实的字符单元,若预测单词为M个特殊字符单元,则需要对特殊字符单元对应的词表再计算概率分布,从而定位到真实的字符单元。该过程可理解为:
其中,P1(w|h),w∈Vhead表示单词w属于Vhead的概率值,则表示第一次预测单词w属于/>后,再次预测定位到真实字符时所计算的两次概率值的乘积,则大语言模型的损失函数可以表示为:
其中,St为训练集包含的所有训练样本,y为真实概率分布,P(w|h)为预测概率分布,Hi、Hj分别为第i、j个词向量矩阵,i≠j,I为单位矩阵,‖*‖2表示矩阵取模。在基于损失函数计算出模型损失值后,可以根据损失值调整大语言模型的参数,包括词嵌入层和神经网络层的参数,从而训练得到损失值符合模型收敛条件的大语言模型。
通过本方案,可以有效解决当前大语言模型语义编码中计算、存储成本高及语义信息损失等问题。按照最小字符粒度切分语料来构建大规模词表,再通过组合编码技术将字符单元映射为稀疏编码,并按位构建多个独立的词向量矩阵,从而在扩大语言模型词汇量的同时,降低词向量的参数规模,减小存储和计算成本;此外,还利用特殊字符单元对原始词表进行分组,按照词频分组、分阶段计算下个预测词概率,进一步提升了模型自监督学习的计算效率;通过损失函数增加惩罚项,来进一步约束待组合词向量的相关性,提高模型编码的多样性及参数的利用率;能够支持大语言模型词汇量和参数规模的进一步优化,为语言模型理解能力的持续提升提供了新的思路。可见,本方案可以在满足大语言模型的词向量表达需求的基础上,兼顾模型的训练效率。
相应上述方法实施例,本发明实施例还提供了一种模型训练装置,如图7所示,包括:
获取模块710,用于获取训练数据集;其中,所述训练数据集中包括多条训练语料;
编码模块720,用于利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码,得到每一训练语料对应的编码矩阵;其中,所述词嵌入层用于针对每一训练语料,将该训练语料中的每一字符按照预定编码方式进行编码,得到该字符的词向量,并将所得到的各字符的词向量组成编码矩阵;所述预定编码方式为:针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式;各个预定向量查找表为基于所述预设字典中字符的位置编码所采用的编码位数以及进制数所构建;所述预设字典为基于第一字符以及预设的第二字符所构建的字典,所述第一字符为各条训练语料中所包括的字符;
预测模块730,用于针对每一训练语料对应的编码矩阵,利用所述大语言模型中的预测网络按照预设时间步,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果;其中,各个预定类别包括:至少一个第一字符对应的类别,以及至少一个第二字符对应的类别,且每一第一字符对应的类别用于表征该第一字符,每一第二字符对应的类别用于表征:在所述预设字典中,所对应位置在该第二字符与下一第二字符之间的字符;所述第一处理方式为以所述初始概率分布中概率最大的类别,作为预测结果的方式,所述第二处理方式为基于所述初始概率分布中概率最大的类别所表征的字符,以及该训练语料对应的训练样本进行预测以得到预测结果的方式;
计算模块740,用于基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;
调整模块750,用于基于所述模型损失值调整所述大语言模型的参数。
可选地,所述第二处理方式包括:
基于该训练语料对应的训练样本,预测该训练样本对应的关于各个目标字符的目标概率分布,将所述目标概率分布中概率最大的类别,确定为该训练样本的预测结果;
其中,各个目标字符为所述初始概率分布中概率最大的类别所表征的字符。
可选地,所述预测模块基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果,包括:
判断所述初始概率分布中概率最大的类别,是否属于第一字符对应的类别;
若是,执行第一处理方式;
若否,执行第二处理方式。
可选地,各个预定向量查找表为:针对所述编码位数中的每一位进行设置的一向量查找表,所述向量查找表中包括与所述进制数相同的行数;
针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,包括:
针对与该字符在预设字典中的排序位置相对应的位置编码中的每一位,从针对该位所设置的向量查找表中,查找所具有行号与该位的元素值相匹配的目标行中的向量,得到该字符对应的一个行向量;
将所得到的每一位对应的行向量,按照预定组合方式进行组合;其中,所述预定方式包括:将所得到的行向量的各个相同向量位置处的元素值相加。
可选地,所述预设字典的构建方式包括:
将各条训练语料中所包括的字符按照出现的频率逆序排序,得到待利用序列;
将所述第二字符插入所述待利用序列中、除首尾位置之外的任一排序位置,得到目标词表;
将所述目标词表按照各个字符对应的排序位置转换为字典。
可选地,所述第二字符在所述预设字典中的排序位置为:所对应的位置编码符合预定条件的位置;所述预定条件为所对应的位置编码中只有1位的取值不为0的条件。
可选地,所述至少一个第一字符为所述预设字典中所对应排序位置靠前的至少一个字符。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述实施例中任一模型训练方法的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一模型训练方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一模型训练方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种模型训练方法,其特征在于,所述方法包括:
获取训练数据集;其中,所述训练数据集中包括多条训练语料;
利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码,得到每一训练语料对应的编码矩阵;其中,所述词嵌入层用于针对每一训练语料,将该训练语料中的每一字符按照预定编码方式进行编码,得到该字符的词向量,并将所得到的各字符的词向量组成编码矩阵;所述预定编码方式为:针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式;各个预定向量查找表为基于所述预设字典中字符的位置编码所采用的编码位数以及进制数所构建;所述预设字典为基于第一字符以及预设的第二字符所构建的字典,所述第一字符为各条训练语料中所包括的字符;
针对每一训练语料对应的编码矩阵,利用所述大语言模型中的预测网络按照预设时间步,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果;其中,各个预定类别包括:至少一个第一字符对应的类别,以及至少一个第二字符对应的类别,且每一第一字符对应的类别用于表征该第一字符,每一第二字符对应的类别用于表征:在所述预设字典中,所对应位置在该第二字符与下一第二字符之间的字符;所述第一处理方式为以所述初始概率分布中概率最大的类别,作为预测结果的方式,所述第二处理方式为基于所述初始概率分布中概率最大的类别所表征的字符,以及该训练语料对应的训练样本进行预测以得到预测结果的方式;
基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;
基于所述模型损失值调整所述大语言模型的参数。
2.根据权利要求1所述的方法,其特征在于,所述第二处理方式包括:
基于该训练语料对应的训练样本,预测该训练样本对应的关于各个目标字符的目标概率分布,将所述目标概率分布中概率最大的类别,确定为该训练样本的预测结果;
其中,各个目标字符为所述初始概率分布中概率最大的类别所表征的字符。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果,包括:
判断所述初始概率分布中概率最大的类别,是否属于第一字符对应的类别;
若是,执行第一处理方式;
若否,执行第二处理方式。
4.根据权利要求1或2所述的方法,其特征在于,各个预定向量查找表为:针对所述编码位数中的每一位进行设置的一向量查找表,所述向量查找表中包括与所述进制数相同的行数;
针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式,包括:
针对与该字符在预设字典中的排序位置相对应的位置编码中的每一位,从针对该位所设置的向量查找表中,查找所具有行号与该位的元素值相匹配的目标行中的向量,得到该字符对应的一个行向量;
将所得到的每一位对应的行向量,按照预定组合方式进行组合;其中,所述预定方式包括:将所得到的行向量的各个相同向量位置处的元素值相加。
5.根据权利要求1或2所述的方法,其特征在于,所述预设字典的构建方式包括:
将各条训练语料中所包括的字符按照出现的频率逆序排序,得到待利用序列;
将所述第二字符插入所述待利用序列中、除首尾位置之外的任一排序位置,得到目标词表;
将所述目标词表按照各个字符对应的排序位置转换为字典。
6.根据权利要求5所述的方法,其特征在于,所述第二字符在所述预设字典中的排序位置为:所对应的位置编码符合预定条件的位置;所述预定条件为所对应的位置编码中只有1位的取值不为0的条件。
7.根据权利要求5所述的方法,其特征在于,所述至少一个第一字符为所述预设字典中所对应排序位置靠前的至少一个字符。
8.一种模型训练装置,其特征在于,所述装置包括:
获取模块,用于获取训练数据集;其中,所述训练数据集中包括多条训练语料;
编码模块,用于利用待训练的大语言模型中的词嵌入层,对各条训练语料进行编码,得到每一训练语料对应的编码矩阵;其中,所述词嵌入层用于针对每一训练语料,将该训练语料中的每一字符按照预定编码方式进行编码,得到该字符的词向量,并将所得到的各字符的词向量组成编码矩阵;所述预定编码方式为:针对待编码的每一字符,根据与该字符在预设字典中的排序位置相对应的位置编码,从各个预定向量查找表中分别获取一个行向量并将所获取到的行向量进行组合的方式;各个预定向量查找表为基于所述预设字典中字符的位置编码所采用的编码位数以及进制数所构建;所述预设字典为基于第一字符以及预设的第二字符所构建的字典,所述第一字符为各条训练语料中所包括的字符;
预测模块,用于针对每一训练语料对应的编码矩阵,利用所述大语言模型中的预测网络按照预设时间步,预测该训练语料对应的训练样本的、关于各个预定类别的初始概率分布,并基于所述初始概率分布中概率最大的类别,执行第一处理方式或第二处理方式,得到该训练样本的预测结果;其中,各个预定类别包括:至少一个第一字符对应的类别,以及至少一个第二字符对应的类别,且每一第一字符对应的类别用于表征该第一字符,每一第二字符对应的类别用于表征:在所述预设字典中,所对应位置在该第二字符与下一第二字符之间的字符;所述第一处理方式为以所述初始概率分布中概率最大的类别,作为预测结果的方式,所述第二处理方式为基于所述初始概率分布中概率最大的类别所表征的字符,以及该训练语料对应的训练样本进行预测以得到预测结果的方式;
计算模块,用于基于每一训练样本对应的预测结果以及所具有的指定标签,计算模型损失值;
调整模块,用于基于所述模型损失值调整所述大语言模型的参数。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311538306.8A CN117786104B (zh) | 2023-11-17 | 一种模型训练方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311538306.8A CN117786104B (zh) | 2023-11-17 | 一种模型训练方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117786104A true CN117786104A (zh) | 2024-03-29 |
CN117786104B CN117786104B (zh) | 2024-06-21 |
Family
ID=
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737995A (zh) * | 2020-05-29 | 2020-10-02 | 北京百度网讯科技有限公司 | 基于多种词向量训练语言模型的方法、装置、设备及介质 |
CN112069795A (zh) * | 2020-08-28 | 2020-12-11 | 平安科技(深圳)有限公司 | 基于掩码语言模型的语料检测方法、装置、设备及介质 |
US11216620B1 (en) * | 2020-07-17 | 2022-01-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for training service model and determining text classification category |
CN114281991A (zh) * | 2021-12-20 | 2022-04-05 | 平安普惠企业管理有限公司 | 文本分类方法、装置、电子设备及存储介质 |
CN114706984A (zh) * | 2022-04-15 | 2022-07-05 | 北京飞象星球科技有限公司 | 文本处理模型的训练方法及装置 |
CN114896395A (zh) * | 2022-04-26 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 语言模型微调方法、文本分类方法、装置及设备 |
CN115391512A (zh) * | 2022-08-30 | 2022-11-25 | 上海浦东发展银行股份有限公司 | 一种对话语言模型的训练方法、装置、设备及存储介质 |
CN116610781A (zh) * | 2023-04-25 | 2023-08-18 | 阿里巴巴(中国)有限公司 | 任务模型训练方法以及装置 |
CN116738983A (zh) * | 2023-06-13 | 2023-09-12 | 中国工商银行股份有限公司 | 模型进行金融领域任务处理的词嵌入方法、装置、设备 |
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111737995A (zh) * | 2020-05-29 | 2020-10-02 | 北京百度网讯科技有限公司 | 基于多种词向量训练语言模型的方法、装置、设备及介质 |
US11216620B1 (en) * | 2020-07-17 | 2022-01-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for training service model and determining text classification category |
CN112069795A (zh) * | 2020-08-28 | 2020-12-11 | 平安科技(深圳)有限公司 | 基于掩码语言模型的语料检测方法、装置、设备及介质 |
CN114281991A (zh) * | 2021-12-20 | 2022-04-05 | 平安普惠企业管理有限公司 | 文本分类方法、装置、电子设备及存储介质 |
CN114706984A (zh) * | 2022-04-15 | 2022-07-05 | 北京飞象星球科技有限公司 | 文本处理模型的训练方法及装置 |
CN114896395A (zh) * | 2022-04-26 | 2022-08-12 | 阿里巴巴(中国)有限公司 | 语言模型微调方法、文本分类方法、装置及设备 |
CN115391512A (zh) * | 2022-08-30 | 2022-11-25 | 上海浦东发展银行股份有限公司 | 一种对话语言模型的训练方法、装置、设备及存储介质 |
CN116610781A (zh) * | 2023-04-25 | 2023-08-18 | 阿里巴巴(中国)有限公司 | 任务模型训练方法以及装置 |
CN116738983A (zh) * | 2023-06-13 | 2023-09-12 | 中国工商银行股份有限公司 | 模型进行金融领域任务处理的词嵌入方法、装置、设备 |
Non-Patent Citations (1)
Title |
---|
林小俊等: "语言模型训练预料处理方法及解码词典的设计", 万方数据库, 22 October 2005 (2005-10-22) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3819809A1 (en) | A dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
CN108959246B (zh) | 基于改进的注意力机制的答案选择方法、装置和电子设备 | |
US11741109B2 (en) | Dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
CN111985228B (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN112395385B (zh) | 基于人工智能的文本生成方法、装置、计算机设备及介质 | |
CN110442721B (zh) | 神经网络语言模型、训练方法、装置及存储介质 | |
CN111967264B (zh) | 一种命名实体识别方法 | |
CN110362797B (zh) | 一种研究报告生成方法及相关设备 | |
CN110826298B (zh) | 一种智能辅助定密系统中使用的语句编码方法 | |
CN109919175B (zh) | 一种结合属性信息的实体多分类方法 | |
CN110968692B (zh) | 一种文本分类方法及系统 | |
CN110245353B (zh) | 自然语言表示方法、装置、设备及存储介质 | |
CN113158687B (zh) | 语义的消歧方法及装置、存储介质、电子装置 | |
CN115495555A (zh) | 一种基于深度学习的文献检索方法和系统 | |
CN114528835A (zh) | 基于区间判别的半监督专业术语抽取方法、介质及设备 | |
CN115203372A (zh) | 文本意图分类方法、装置、计算机设备及存储介质 | |
CN115098673A (zh) | 基于变体注意力及层次结构的业务文书信息抽取方法 | |
CN114281996A (zh) | 长文本分类方法、装置、设备及存储介质 | |
CN113076756A (zh) | 一种文本生成方法和装置 | |
CN111581377B (zh) | 文本分类方法、装置、存储介质及计算机设备 | |
CN117786104B (zh) | 一种模型训练方法、装置、电子设备以及存储介质 | |
CN117786104A (zh) | 一种模型训练方法、装置、电子设备以及存储介质 | |
CN112052649B (zh) | 文本生成方法、装置、电子设备及存储介质 | |
CN114048749A (zh) | 一种适用于多领域的中文命名实体识别方法 | |
CN114691828A (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 |