System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及自然语言处理领域,尤其涉及一种基于大语言模型的柔性思维链学习方法、设备和介质。
技术介绍
1、尽管大语言模型在一系列nlp任务中表现出了显著的成功,但它们推理的能力常常被看作是一种局限。在使用这些大语言模型时,发现思维链(cot)提示可以提高需要复杂推理的任务的性能,例如数学单词问题、常识推理和符号操作。例如,给定问题“如果停车场里有3辆车,还有2辆车到达,停车场里有多少辆车?”,大语言模型会被提示用简单分步方法来回答:(1)停车场已经有3辆车了。(2)又来了两个。现在有3+2=5辆车。(3)答案是5。分步计算就是思维链的一种形式,可以看到,思维链提示可以将复杂问题简单化并提高回答的解释性。
2、但是,思维链也存在一些不足。例如,思维链可能有多种形式,而这些不同形式的思维链应该不影响最终结果,但实际情况是最终结果并不相同。这也引起人们对大语言模型是否真正具有推理能力的质疑。针对此问题,研究者们提出了各种自校验的推理方法,例如有研究者提出正向推理后进行反向推理校验的方法,让大语言模型作为裁判员对每一步进行反复确认。也有研究者提出让大模型进行多次回答,并基于概率,取概率最高的答案。通常自校验方法是无监督方法,虽然可以提升模型的推理精度,但也带来了推理次数的额外开销。
技术实现思路
1、为充分发挥大语言模型和思维链组合在推理上的优势,并降低手工调整思维链的难度和自校验方法带来的额外计算成本,本专利技术提出了基于大语言模型的柔性思维链学习方法、设备和介质,该方法基
2、具体技术方案如下:
3、一种基于大语言模型的柔性思维链学习方法,利用大语言模型针对任务进行初始的思维链模板生成,使用思维链模板进行分布答案生成,筛选得到训练样本数据集,使用监督学习的方法训练柔性思维链模型用于任务推理,具体包括以下步骤:
4、s1、思维链生成:使用大语言模型自动生成针对单个任务的多个思维链,人工复检并合并成一个合理的思维链模板;
5、s2、分步答案生成:针对原始任务样本,按照所述思维链模板的步骤,多次生成对应步骤的答案;所述原始任务样本与所述单个任务的类别相同;
6、s3、样本粗筛选:对比s2中按照思维链模板生成的多个最终输出结果和原始任务样本真值,筛选结果正、负样本;若最终输出结果与原始任务样本真值相同,则归类为结果正样本;反之则归类为结果负样本;
7、s4、样本精筛选:对比所述结果正、负样本的各个步骤的答案,若单步骤的答案正确,则归类为单步骤正样本,反正则归类为单步骤负样本;整理并集合所有单步骤正样本和单步骤负样本,得到训练样本数据集;
8、s5、柔性思维链参数训练:使用所述训练样本数据集,根据soft-prompt方法训练柔性思维链模型;所述柔性思维链模型包括:各个步骤的柔性参数层、各个步骤的prompt层、大语言模型;所述各个步骤的prompt层与所述思维链模板中的各个步骤一一对应;将所述柔性参数层、prompt层、训练样本数据集输入大语言模型中,对大语言模型的输出结果与原始任务样本真值进行一致性判断,得到的惩罚函数进一步优化柔性参数层;
9、s6、任务推理:根据任务类别载入对应柔性思维链模型,将待推理任务输入所述柔性思维链模型,获得推理结果。
10、进一步地,所述s5中,忽略思维链前后顺序,分别构建各个步骤的柔性参数层;所述柔性参数层是指将思维链中的每个步骤以20个字符表示,这些字符从大语言模型的词表中随机抽取,并利用大语言模型的tokenizer转换为对应词的嵌入向量,形成20*e维的矩阵,e表示嵌入向量的维度,每个步骤对应一个柔性参数层,所述柔性参数层共有t个20*e矩阵,t为思维链模板的步骤总数;再将prompt与训练样本数据集组合后使用tokenizer转换为嵌入向量;使用嵌入向量进行训练,训练时,不更新大语言模型和prompt层的参数,仅使用惩罚函数更新柔性参数层,最终得到训练好的柔性思维链模型。
11、进一步地,所述s5中,按照思维链步骤顺序,使用神经网络的方式训练各个步骤的柔性参数层;所述柔性参数层是指将思维链中的每个步骤以20个字符表示,这些字符从大语言模型的词表中随机抽取,并利用大语言模型的tokenizer转换为对应词的嵌入向量,形成20*e维的矩阵,e表示嵌入向量的维度;每个步骤对应一个柔性参数层,所述柔性参数层共有t个20*e矩阵,t为思维链模板的步骤总数;将一个步骤对应的柔性参数层视为一层,神经网络共有t层;将前一个步骤的prompt与训练样本数据集组合后使用tokenizer转换为嵌入向量后,输入到大语言模型中,输出值作为下一个步骤的输入;用惩罚函数从最后一层开始依次更新各层。
12、进一步地,所述s5中的惩罚函数为基于语义一致模型判定的模型概率值交叉熵,判定各个步骤的输出与标签值是否一致,并利用交叉熵函数计算各个步骤的输出与标签值的不一致程度。
13、进一步地,所述s1中,针对单个任务生成的多个思维链并不都是合理的,所述人工复检用于删除无用的步骤,并对剩余有用步骤进行符合逻辑顺序的思维链组合。
14、进一步地,所述s2中,大语言模型表示为函数llm(),思维链模板共有t个步骤;第t个步骤表示为st,t=1,2,3,…t,第t个步骤生成答案表示为ot,在第t-1个步骤生成的答案ot-1的基础上,使用大语言模型得到第t个步骤生成的答案,表示为llm(ot-1,st)=ot。
15、进一步地,所述s4中,根据单个步骤的生成结果,使用自校验的方式,判定单步骤的答案是否正确;所述自校验方式,选用正向推理反向校验,或多次生成,根据概率判定。
16、进一步地,所述原始任务样本与单个任务的类别包括:数学应用类、常识问答类、编程代码类、要素抽取类。
17、一种电子设备,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现所述的基于大语言模型的柔性思维链学习方法。
18、一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现所述的基于大语言模型的柔性思维链学习方法。
19、本专利技术的有益效果是:
20、本专利技术构建了柔性思维链模型进行任务推理,相对于常规的思维链方法,可以提升推理精度,降低思维链的构建难度,同时降低大语言模型调用成本。在针对基于大语言模型的复杂推理场景中,有广泛的应用前景。
本文档来自技高网...【技术保护点】
1.一种基于大语言模型的柔性思维链学习方法,其特征在于,利用大语言模型针对任务进行初始的思维链模板生成,使用思维链模板进行分布答案生成,筛选得到训练样本数据集,使用监督学习的方法训练柔性思维链模型用于任务推理,具体包括以下步骤:
2.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述S5中,忽略思维链前后顺序,分别构建各个步骤的柔性参数层;所述柔性参数层是指将思维链中的每个步骤以20个字符表示,这些字符从大语言模型的词表中随机抽取,并利用大语言模型的tokenizer转换为对应词的嵌入向量,形成20*e维的矩阵,e表示嵌入向量的维度,每个步骤对应一个柔性参数层,所述柔性参数层共有T个20*e矩阵,T为思维链模板的步骤总数;再将prompt与训练样本数据集组合后使用tokenizer转换为嵌入向量;使用嵌入向量进行训练,训练时,不更新大语言模型和prompt层的参数,仅使用惩罚函数更新柔性参数层,最终得到训练好的柔性思维链模型。
3.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述S5中,按照思维链步骤顺序,使用
4.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述S5中的惩罚函数为基于语义一致模型判定的模型概率值交叉熵,判定各个步骤的输出与标签值是否一致,并利用交叉熵函数计算各个步骤的输出与标签值的不一致程度。
5.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述S1中,针对单个任务生成的多个思维链并不都是合理的,所述人工复检用于删除无用的步骤,并对剩余有用步骤进行符合逻辑顺序的思维链组合。
6.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述S2中,大语言模型表示为函数LLM(),思维链模板共有T个步骤;第t个步骤表示为St,t=1,2,3,…T,第t个步骤生成答案表示为Ot,在第t-1个步骤生成的答案Ot-1的基础上,使用大语言模型得到第t个步骤生成的答案,表示为LLM(Ot-1,St)=Ot。
7.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述S4中,根据单个步骤的生成结果,使用自校验的方式,判定单步骤的答案是否正确;所述自校验方式,选用正向推理反向校验,或多次生成,根据概率判定。
8.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述原始任务样本与单个任务的类别包括:数学应用类、常识问答类、编程代码类、要素抽取类。
9.一种电子设备,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1~8中任一项所述的基于大语言模型的柔性思维链学习方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1~8中任一项所述的基于大语言模型的柔性思维链学习方法。
...【技术特征摘要】
1.一种基于大语言模型的柔性思维链学习方法,其特征在于,利用大语言模型针对任务进行初始的思维链模板生成,使用思维链模板进行分布答案生成,筛选得到训练样本数据集,使用监督学习的方法训练柔性思维链模型用于任务推理,具体包括以下步骤:
2.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述s5中,忽略思维链前后顺序,分别构建各个步骤的柔性参数层;所述柔性参数层是指将思维链中的每个步骤以20个字符表示,这些字符从大语言模型的词表中随机抽取,并利用大语言模型的tokenizer转换为对应词的嵌入向量,形成20*e维的矩阵,e表示嵌入向量的维度,每个步骤对应一个柔性参数层,所述柔性参数层共有t个20*e矩阵,t为思维链模板的步骤总数;再将prompt与训练样本数据集组合后使用tokenizer转换为嵌入向量;使用嵌入向量进行训练,训练时,不更新大语言模型和prompt层的参数,仅使用惩罚函数更新柔性参数层,最终得到训练好的柔性思维链模型。
3.根据权利要求1所述的基于大语言模型的柔性思维链学习方法,其特征在于,所述s5中,按照思维链步骤顺序,使用神经网络的方式训练各个步骤的柔性参数层;所述柔性参数层是指将思维链中的每个步骤以20个字符表示,这些字符从大语言模型的词表中随机抽取,并利用大语言模型的tokenizer转换为对应词的嵌入向量,形成20*e维的矩阵,e表示嵌入向量的维度;每个步骤对应一个柔性参数层,所述柔性参数层共有t个20*e矩阵,t为思维链模板的步骤总数;将一个步骤对应的柔性参数层视为一层,神经网络共有t层;将前一个步骤的prompt与训练样本数据集组合后使用tokenizer转换为嵌入向量后,输入到大语言模型中,输出值作为下一个步骤的输入;用惩罚函数从最后一层开始依次更新各层。
4.根据...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。