掌桥专利:专业的专利平台
掌桥专利
首页

一种基于大语言模型的对话响应方法及装置

文献发布时间:2024-04-18 19:58:53


一种基于大语言模型的对话响应方法及装置

技术领域

本申请涉及人工智能技术领域,尤其涉及一种基于大语言模型的对话响应方法及装置。

背景技术

GAI是目前发展最蓬勃的技术方向之一,代表性的技术突破与普及就是chatGPT等大语言模型(large language model, LLM),其应用涵盖了翻译、文章生成、文章摘要、搜寻、图像生成、图像解析、代码生成等许多领域。随着大语言模型的发展,越来越多公司开发自己的模型,使得用户训练自己专属的大语言模型成为可能。

大语言模型的核心是transformer neural network (TNN),TNN中的每个自注意力模块具有大量的参数,因此,想要使大语言模型学习新的知识时,在调整大预言模型各个参数的过程中计算量很大,导致对大语言模型的训练时间过长,同时也需要大量的存储空间来存储这些参数。

因此,目前亟需一种方案,用以减少对大语言模型进行调整时的计算量和存储量,缩短训练时长。

发明内容

本申请提供一种基于大语言模型的对话响应方法及装置,用以减少对大语言模型进行调整时的计算量和存储量,缩短训练时长。

第一方面,本申请提供一种基于大语言模型的对话响应方法,该方法包括:获取用户对所述用户专属的大语言模型进行第N次微调的对话文本;通过所述对话文本对微调大语言模型各层的自注意力模块进行调整;所述微调大语言模型是第M次整体调整后的大语言模型或是第N-1次微调后的大语言模型;所述微调大语言模型任一层的自注意力模块包括基准查询矩阵、基准键矩阵和微调值矩阵;所述基准查询矩阵和所述基准键矩阵是对大语言模型进行第M次整体调整得到的;在对每层的自注意力模块进行调整过程中,对于所述对话文本中的每个词,通过所述自注意力模块的基准查询矩阵获取词的自身特征;通过所述自注意力模块的基准键矩阵获取与其他词的关联特征;根据所述词的自身特征和所述与其他词的关联特征得到词的注意力得分;以所述词的注意力得分作为所述自注意力模块的微调值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征;基于所述对话文本的输出特征,调整所述自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵;根据基准值矩阵与所述第N次调整后的微调值矩阵,得到第N次调整后的值矩阵;所述基准值矩阵是对大语言模型进行第M次整体调整得到的;基于各层的自注意力模块的基准查询矩阵、基准键矩阵和第N次调整后的值矩阵,生成第N次调整后的大语言模型;将所述第N次调整后的大语言模型作为所述用户的专属大语言模型,与所述用户继续进行对话。

上述技术方案中,由于自注意力模块的值矩阵是直接关系文字输出的矩阵,所以调整值矩阵中的参数,对大语言模型的输出影响较大。因此,本申请在每次对大语言模型进行微调时,保持自注意力模块的查询矩阵和键矩阵的参数值不变,仅调整值矩阵中的参数值,可以减少对大语言模型进行调整时的计算量和存储量,缩短训练时长。

在一种可能的设计中,所述方法还包括:确定所述对话文本的第一微调权重;所述第一微调权重用于表征所述对话文本对所述用户的专属大语言模型的影响程度;所述根据基准值矩阵与所述第N次调整后的微调值矩阵,得到第N次调整后的值矩阵,包括:将所述第N次调整后的微调值矩阵乘以所述第一微调权重后,与所述基准值矩阵相加,得到第N次调整后的值矩阵。

上述技术方案中,可以通过调整第一微调权重的值,强调或者削弱此次对话文本表征的内容,使得用户专属的大语言模型被训练地更加个性化。

在一种可能的设计中,所述以所述词的注意力得分作为所述自注意力模块的微调值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征,包括:将所述微调值矩阵分解为相乘的第一子矩阵、第二子矩阵和第三子矩阵; 以所述词的注意力得分作为所述相乘的第一子矩阵、第二子矩阵和第三子矩阵的权重,得到所述词在所述相乘的第一子矩阵、第二子矩阵和第三子矩阵下对应的输出特征;所述基于所述对话文本的输出特征,调整所述自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵,包括:基于所述对话文本的输出特征,通过调整所述第一子矩阵、第二子矩阵和第三子矩阵的参数,在符合大语言模型的精度要求时,得到第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵;将所述第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵相乘,得到第N次调整后的微调值矩阵。

上述技术方案中,将微调值矩阵分解为三个相乘的子矩阵之后,在对模型的训练中,仅需要调整三个子矩阵中的参数,明显减少了参与训练的参数的数量,进而可以缩短训练时间。

在一种可能的设计中,所述确定所述对话文本的第一微调权重,包括:将第N次调整后的第一矩阵和/或第三矩阵中的各向量表征的信息,与第N次之前调整得到的第一矩阵和/或第三矩阵中对应的各向量表征的信息进行比较,若判断存在新的话题信息,则将所述对话文本的第一微调权重调高。

上述技术方案中,通过比较第N次调整后的第一矩阵和/或第三矩阵中的各向量表征的信息,与第N次之前调整得到的第一矩阵和/或第三矩阵中对应的各向量表征的信息,来判断是否存在新的话题。此种自动化且定量判断是否存在新话题的方式,无需用户参与,使得对大语言模型的调整过程更智能化。

在一种可能的设计中,所述方法还包括:存储第M次整体调整后每次微调后的微调值矩阵以及对应的第一微调权重;所述将所述第N次调整后的微调值矩阵乘以所述第一微调权重后,与所述基准值矩阵相加,得到第N次调整后的值矩阵,包括:将每次微调后的微调值矩阵与对应的第一微调权重的乘积进行累加后,与所述基准值矩阵相加,得到第N次调整后的值矩阵的参数。

上述技术方案中,通过将每次微调后的微调值矩阵以及对应的第一微调权重进行存储,可以给用户修正的机会,例如某一次微调的对话文本信息是错误的,或者不需要某一次微调的对话文本信息,那么可以将该次的微调值矩阵删除。又或者用户想强调或减弱某一次微调的对话文本信息,那么可以将该次的第一微调权重调高或调低。

在一种可能的设计中,所述方法还包括:获取用户对所述用户专属的大语言模型进行K次微调的各对话文本,形成对话文本集合;通过所述对话文本集合对第M次整体调整后的大语言模型各层的自注意力模块的各矩阵进行整体调整;在调整过程中,对于所述对话文本集合中的每个词,通过自注意力模块的基准查询矩阵获取词的自身特征;通过自注意力模块的基准键矩阵获取与其他词的关联特征;根据所述词的自身特征和所述与其他词的关联特征得到词的注意力得分;以所述词的注意力得分作为基准值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征;基于所述对话文本集合的输出特征,调整所述自注意力模块的基准查询矩阵、基准键矩阵以及基准值矩阵的参数,直至符合大语言模型的精度要求,得到调整后的微调查询矩阵、微调键矩阵以及微调值矩阵;基于所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵,得到第M+1次整体调整的大语言模型。

上述技术方案中,通过K次微调的各对话文本形成的对话文本集合,对大语言模型的自注意力模块的三个矩阵都进行调整,可以使得模型更好地学习到K次微调的对话文本中的知识,使得训练后的大语言模型更精确。

在一种可能的设计中,所述方法还包括:确定所述对话文本集合的第二微调权重;基于所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵,得到第M+1次整体调整的大语言模型,包括:将所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵分别乘以所述第二微调权重后,分别与所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵相加,得到第M+1次整体调整的大语言模型。

上述技术方案中,可以通过调整第二微调权重的值,强调或者削弱此次对话文本集合表征的内容,使得用户专属的大语言模型被训练地更加个性化。

第二方面,本申请实施例提供一种基于大语言模型的对话响应装置,该装置包括:

获取模块,用于获取用户对所述用户专属的大语言模型进行第N次微调的对话文本;

调整模块,用于通过所述对话文本对微调大语言模型各层的自注意力模块进行调整;所述微调大语言模型是第M次整体调整后的大语言模型或是第N-1次微调后的大语言模型;所述微调大语言模型任一层的自注意力模块包括基准查询矩阵、基准键矩阵和微调值矩阵;所述基准查询矩阵和所述基准键矩阵是对大语言模型进行第M次整体调整得到的;

所述调整模块,还用于在对每层的自注意力模块进行调整过程中,对于所述对话文本中的每个词,通过所述自注意力模块的基准查询矩阵获取词的自身特征;通过所述自注意力模块的基准键矩阵获取与其他词的关联特征;根据所述词的自身特征和所述与其他词的关联特征得到词的注意力得分;以所述词的注意力得分作为所述自注意力模块的微调值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征;

所述调整模块,还用于基于所述对话文本的输出特征,调整所述自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵;

处理模块,用于根据基准值矩阵与所述第N次调整后的微调值矩阵,得到第N次调整后的值矩阵;所述基准值矩阵是对大语言模型进行第M次整体调整得到的;

所述处理模块,还用于基于各层的自注意力模块的基准查询矩阵、基准键矩阵和第N次调整后的值矩阵,生成第N次调整后的大语言模型;

所述处理模块,还用于将所述第N次调整后的大语言模型作为所述用户的专属大语言模型,与所述用户继续进行对话。

在一种可能的设计中,所述处理模块,还用于确定所述对话文本的第一微调权重;所述第一微调权重用于表征所述对话文本对所述用户的专属大语言模型的影响程度;所述处理模块,在根据基准值矩阵与所述第N次调整后的微调值矩阵,得到第N次调整后的值矩阵时,具体用于将所述第N次调整后的微调值矩阵乘以所述第一微调权重后,与所述基准值矩阵相加,得到第N次调整后的值矩阵。

在一种可能的设计中,所述调整模块,在以所述词的注意力得分作为所述自注意力模块的微调值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征时,具体用于将所述微调值矩阵分解为相乘的第一子矩阵、第二子矩阵和第三子矩阵; 以所述词的注意力得分作为所述相乘的第一子矩阵、第二子矩阵和第三子矩阵的权重,得到所述词在所述相乘的第一子矩阵、第二子矩阵和第三子矩阵下对应的输出特征;所述调整模块,在基于所述对话文本的输出特征,调整所述自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵时,具体用于基于所述对话文本的输出特征,通过调整所述第一子矩阵、第二子矩阵和第三子矩阵的参数,在符合大语言模型的精度要求时,得到第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵;将所述第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵相乘,得到第N次调整后的微调值矩阵。

在一种可能的设计中,所述处理模块,在确定所述对话文本的第一微调权重时,具体用于将第N次调整后的第一矩阵和/或第三矩阵中的各向量表征的信息,与第N次之前调整得到的第一矩阵和/或第三矩阵中对应的各向量表征的信息进行比较,若判断存在新的话题信息,则将所述对话文本的第一微调权重调高。

在一种可能的设计中,所述处理模块,还用于存储第M次整体调整后每次微调后的微调值矩阵以及对应的第一微调权重;所述处理模块,在将所述第N次调整后的微调值矩阵乘以所述第一微调权重后,与所述基准值矩阵相加,得到第N次调整后的值矩阵时,具体用于 将每次微调后的微调值矩阵与对应的第一微调权重的乘积进行累加后,与所述基准值矩阵相加,得到第N次调整后的值矩阵的参数。

在一种可能的设计中,所述获取模块,还用于获取用户对所述用户专属的大语言模型进行K次微调的各对话文本,形成对话文本集合;所述调整模块,还用于通过所述对话文本集合对第M次整体调整后的大语言模型各层的自注意力模块的各矩阵进行整体调整;在调整过程中,对于所述对话文本集合中的每个词,通过自注意力模块的基准查询矩阵获取词的自身特征;通过自注意力模块的基准键矩阵获取与其他词的关联特征;根据所述词的自身特征和所述与其他词的关联特征得到词的注意力得分;以所述词的注意力得分作为基准值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征; 基于所述对话文本集合的输出特征,调整所述自注意力模块的基准查询矩阵、基准键矩阵以及基准值矩阵的参数,直至符合大语言模型的精度要求,得到调整后的微调查询矩阵、微调键矩阵以及微调值矩阵;所述处理模块,还用于基于所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵,得到第M+1次整体调整的大语言模型。

在一种可能的设计中,所述处理模块,还用于确定所述对话文本集合的第二微调权重;所述处理模块,在基于所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵,得到第M+1次整体调整的大语言模型时,还具体用于将所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵分别乘以所述第二微调权重后,分别与所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵相加,得到第M+1次整体调整的大语言模型。

第三方面,本申请实施例还提供一种计算设备,包括:

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如第一方面的任一种可能的设计中所述的方法。

第四方面,本申请实施例还提供一种计算机可读存储介质,其中存储有计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得上述第一方面的任一种可能的设计中所述的方法实现。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术的大语言模型的自注意力模块的示意图;

图2为本申请实施例提供的一种基于大语言模型的对话响应方法的流程示意图;

图3为本申请实施例提供的大语言模型的自注意力模块的示意图一;

图4为本申请实施例提供的一种对大语言模型进行整体调整的方法的流程示意图;

图5为本申请实施例提供的大语言模型的自注意力模块的示意图二;

图6为本申请实施例提供的大语言模型的自注意力模块的示意图三;

图7为本申请实施例提供的大语言模型的自注意力模块的示意图四;

图8为本申请实施例提供的一种基于大语言模型的对话响应装置的结构示意图;

图9为本申请实施例提供的一种计算设备的结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在本申请的实施例中,多个是指两个或两个以上。“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。

在一个应用场景中,用户搜集了数日与好友的聊天对话,将好友的话作为对话文本的问题,将自己的话作为对话文本的回复,整理成为模型要求的格式后,对大语言模型进行训练,得到专属与该用户的个性化大语言模型。大语言模型学会了这数日与好友的对话信息后,那么在下次对话中,如果对话内容还是在这个范围内,大语言模型可以代替使用者进行回应。由于用户会不断产生新的聊天对话,因此需要经常,或周期性地基于新的聊天对话对大语言模型进行调整,使大语言模型可以学习到新的信息。

如图1所示,大语言模型各层的自注意力模块都包括三种矩阵,查询矩阵Wq、键矩阵Wk和值矩阵Wv。其中,对于输入文本中的每个词都对应一个查询矩阵、一个键矩阵和一个值矩阵。如果在每次对大语言模型进行调整时,对查询矩阵、键矩阵值矩阵中的参数都做调整,需要调整的参数非常大,会导致计算量和存储量都非常大,训练时间较长。

本申请提出一种基于大语言模型的对话响应方法,可以减少对大语言模型进行调整时的计算量和存储量,缩短训练时长。

图2为本申请实施例提供的一种基于大语言模型的对话响应方法的流程示意图,如图2所示,该方法包括如下步骤:

步骤210、获取用户对用户专属的大语言模型进行第N次微调的对话文本。

步骤220、通过对话文本对微调大语言模型各层的自注意力模块进行调整。

本申请实施例中,用户专属的大语言模型是指该大语言模型是根据该用户的训练数据对原始大语言模型进行个性化训练得到的。这里以对用户专属的大语言模型进行第N次微调为例,介绍本申请实施例的方案。

在对大语言模型进行第N次微调前,已经对大语言模型进行了N-1次的微调和M次的整体调整。其中,对大语言模型进行整体调整是指对大语言模型中的查询矩阵、键矩阵和值矩阵都进行微调;对大语言模型进行微调是指仅对大语言模型中的值矩阵进行微调。

步骤220中,微调大语言模型可以是第M次整体调整后的大语言模型或是第N-1次微调后的大语言模型。微调大语言模型任一层的自注意力模块包括基准查询矩阵、基准键矩阵和微调值矩阵。其中,基准查询矩阵和基准键矩阵是对大语言模型进行第M次整体调整得到的。

也就是说,如果微调大语言模型是第M次整体调整后的大语言模型,那么此次微调时,微调值矩阵中的参数的初始值为第M次整体调整后的大语言模型的值矩阵中的参数值;如果微调大语言模型第N-1次微调后的大语言模型,那么此次微调时,微调值矩阵中的参数的初始值为第N-1次微调后的大语言模型的值矩阵中的参数值。

步骤230、在对每层的自注意力模块进行调整过程中,对于对话文本中的每个词,通过自注意力模块的基准查询矩阵获取词的自身特征;通过自注意力模块的基准键矩阵获取与其他词的关联特征;根据词的自身特征和与其他词的关联特征得到词的注意力得分;以词的注意力得分作为自注意力模块的微调值矩阵的权重,得到词在自注意力模块下对应的输出特征。

步骤240、基于对话文本的输出特征,调整自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵。

本申请实施例中,在对大语言模型进行第N次微调时,保持自注意力模块的基准查询矩阵和基准键矩阵的参数不变,仅调整自注意力模块的微调值矩阵的参数,得到第N次调整后的微调值矩阵。

在调整微调值矩阵的参数时,一种调整方式是通过调整微调值矩阵中的每个参数,得到调整后的微调值矩阵。但此种调整方式需要调整的参数量很大,以微调值矩阵为256×256的矩阵为例,那么需要调整的参数为256×256=65536个,虽然只调整了微调值矩阵,但仍需要花费较长的时间来调整微调值矩阵中的各个参数。对此,本申请提供另一种调整方式,将微调值分解为三个子矩阵相乘,将调整微调值矩阵中的参数转换为分别调整三个子矩阵的参数,进而达到减少调整参数,缩短训练时间的目的。

具体地,步骤230中,以词的注意力得分作为自注意力模块的微调值矩阵的权重,得到词在自注意力模块下对应的输出特征,包括:

步骤231、将微调值矩阵分解为相乘的第一子矩阵、第二子矩阵和第三子矩阵。

示例性地,可以通过对微调值矩阵进行奇异值分解的方式,即通过公式一将微调值矩阵M分解为相乘的第一子矩阵U、第二子矩阵Σ和第三子矩阵V

公式一

如果微调值矩阵M为m×m的矩阵,那么分解得到的第一子矩阵U为m×n的矩阵,第二子矩阵Σ为n×n的矩阵,第三子矩阵VT为n×m的矩阵。

其中,第二子矩阵Σ为对角矩阵,不论微调值矩阵M的尺寸多大,其有效尺寸取决于第二子矩阵Σ矩阵对角线上不为0的数目,并且对角线上每个元素的值越大,代表微调值矩阵M在此方向上的重要性越高,也可以说此方向的权重越大。

步骤232、以词的注意力得分作为相乘的第一子矩阵、第二子矩阵和第三子矩阵的权重,得到词在相乘的第一子矩阵、第二子矩阵和第三子矩阵下对应的输出特征。

步骤240中,基于对话文本的输出特征,调整自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵,包括:

步骤241、基于对话文本的输出特征,通过调整第一子矩阵、第二子矩阵和第三子矩阵的参数,在符合大语言模型的精度要求时,得到第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵。

步骤242、将第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵相乘,得到第N次调整后的微调值矩阵。

同样以微调值矩阵为256×256的矩阵为例,假设分解得到的第一子矩阵为256×8,第二子矩阵为8×8,第三子矩阵为8×256,那么将微调值矩阵分解之后,需要调整的参数缩减为256×8+8×8+8×256=4160个,明显减少了参与训练的参数的数量,进而可以缩短训练时间。

步骤250、根据基准值矩阵与第N次调整后的微调值矩阵,得到第N次调整后的值矩阵。

步骤240中得到第N次调整后的微调值矩阵,仅是通过第N次微调的对话文本训练得到的微调值矩阵,因此需要根据基准值矩阵与第N次调整后的微调值矩阵,得到第N次调整后的值矩阵,使得大语言模型既具有新知识又具有之前学习的旧知识。其中,基准值矩阵是对大语言模型进行第M次整体调整得到的。具体的,可以将基准值矩阵与第N次调整后的微调值矩阵相加,得到第N次调整后的值矩阵。如图3中的3-1所示,基于对话文本的输出特征,对微调值矩阵中的参数进行调整,得到第N次调整后的微调值矩阵W

步骤260、基于各层的自注意力模块的基准查询矩阵、基准键矩阵和第N次调整后的值矩阵,生成第N次调整后的大语言模型。

步骤270、将第N次调整后的大语言模型作为用户的专属大语言模型,与用户继续进行对话。

至此,对用户的专属大语言模型的第N次调整完成,该大语言模型学习到了第N次微调的对话文本中的知识,用户可以使用该大语言模型继续进行对话。由于在对大语言模型进行微调时,保持自注意力模块的查询矩阵和键矩阵的参数值不变,仅调整值矩阵中的参数值,可以减少对大语言模型进行调整时的计算量和存储量,缩短训练时长。

进一步地,在进行K次微调之后,可以将K次微调的对话文本形成对话文本集合,通过该对话文本集合对大语言模型的自注意力模块的三个矩阵都进行调整。具体地,对大语言模型进行整体调整的方法如图4所示,包括如下步骤:

步骤410、获取用户对用户专属的大语言模型进行K次微调的各对话文本,形成对话文本集合。

本申请实施例中,通过K次微调的各对话文本形成的对话文本集合,对用户专属的大语言模型进行第M+1次的整体调整,其中,K次微调的各对话文本可以是从第M次整体调整之后的第一次微调至最近一次微调的对话文本;也可以是用户自己选取的K次微调的对话文本。

步骤420、通过对话文本集合对第M次整体调整后的大语言模型各层的自注意力模块的各矩阵进行整体调整。

步骤430、在调整过程中,对于对话文本集合中的每个词,通过自注意力模块的基准查询矩阵获取词的自身特征;通过自注意力模块的基准键矩阵获取与其他词的关联特征;根据词的自身特征和与其他词的关联特征得到词的注意力得分;以词的注意力得分作为基准值矩阵的权重,得到词在自注意力模块下对应的输出特征。

步骤440、基于对话文本集合的输出特征,调整自注意力模块的基准查询矩阵、基准键矩阵以及基准值矩阵的参数,直至符合大语言模型的精度要求,得到调整后的微调查询矩阵、微调键矩阵以及微调值矩阵。

本申请实施例中,在对大语言模型进行第M次整体调整时,对自注意力模块的基准查询矩阵、基准键矩阵以及基准值矩阵的参数都进行调整,得到第M次整体调整后的微调查询矩阵、微调键矩阵以及微调值矩阵。

在调整基准查询矩阵、基准键矩阵以及基准值矩阵的参数时,一种调整方式是调整三个矩阵中的每个参数;另一种调整方式是,分别将基准查询矩阵、基准键矩阵以及基准值矩阵分别分解为三个子矩阵相乘,对于每个矩阵,将调整矩阵中的参数转换为分别调整三个子矩阵的参数,进而达到减少调整参数,缩短训练时间的目的。其中,具体分解方式参考上述对微调值矩阵进行分解的具体步骤。

步骤450、基于调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新基准查询矩阵、基准键矩阵和基准值矩阵,得到第M+1次整体调整的大语言模型。

步骤440中得到的调整后的微调查询矩阵、微调键矩阵以及微调值矩阵,仅是针对K次微调的对话文本形成的对话文本集合,因此需要基于调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新基准查询矩阵、基准键矩阵和基准值矩阵。具体的,可以将第M次整体调整后的大语言模型的基准查询矩阵、基准键矩阵和基准值矩阵分别与调整后的微调查询矩阵、微调键矩阵以及微调值矩阵相加,分别将相加后的矩阵作为第M+1次整体调整的大语言模型的基准查询矩阵、基准键矩阵和基准值矩阵。如图5中的5-1所示,基于对话文本集合的输出特征,对基准查询矩阵、基准键矩阵以及基准值矩阵的参数进行调整,得到第M次整体调整后的微调查询矩阵W

上述技术方案中,通过K次微调的各对话文本形成的对话文本集合,对大语言模型的自注意力模块的三个矩阵都进行调整,可以使得模型更好地学习到K次微调的对话文本中的知识,使得训练后的大语言模型更精确。

在一种可能的实施方式中,还可以确定对话文本的第一微调权重,该第一微调权重用于表征对话文本对用户的专属大语言模型的影响程度,进而将话文本的第一微调权重与调整后的微调值矩阵相乘,以根据第一微调权重的具体值,强调或者削弱此次对话文本表征的内容。

可以理解的是,假设原有的大语言模型是通过一百万条对话训练得到的,微调的大语言模型是通过1千条对话训练得到的,那么理论上新知识仅占有此模型总知识的0.1%。一般而言,对于新的知识或者重要的知识我们希望有比较高的权重,也就是将其对应的微调值矩阵乘以一个较高的权重,以权重的基准值为1为例,可以乘以一个大于1的值,相当于与对此次的知识“千叮万嘱”;对于旧的知识或者可有可无的知识可以将其对应的微调值矩阵乘以一个较小的权重,比如乘以一个小于1的值,相当于对此次的知识“尽量忽略”。

示例性地,在确定对话文本的第一微调权重时,可以将第N次调整后的第一矩阵和/或第三矩阵中的各向量表征的信息,与第N次之前调整得到的第一矩阵和/或第三矩阵中对应的各向量表征的信息进行比较,若判断存在新的话题信息,则将对话文本的第一微调权重调高。具体地,可以将第N次调整后的第一矩阵和/或第三矩阵中的各参数分别与第N次之前调整得到的第一矩阵和/或第三矩阵中对应的各参数的差的绝对值相加,得到的值与设定阈值进行比较,如果高于设定阈值则判断存在新的话题信息。

此外,还可以由使用大语言模型的用户根据对话文本的重要程度,对每次微调时的对话文本的微调权重进行设定。

那么步骤250,根据基准值矩阵与第N次调整后的微调值矩阵,得到第N次调整后的值矩阵,可以进一步优化为步骤250’,将第N次调整后的微调值矩阵乘以第一微调权重后,与基准值矩阵相加,得到第N次调整后的值矩阵。如图6中的6-1所示,将第N次调整后的微调值矩阵W

对于对大语言模型进行整体调整时的对话文本集合,也可以确定对话文本集合的第二微调权重。

那么步骤450,基于调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新基准查询矩阵、基准键矩阵和基准值矩阵,得到第M+1次整体调整的大语言模型,可以进一步优化为450’,将调整后的微调查询矩阵、微调键矩阵和微调值矩阵分别乘以第二微调权重后,分别与基准查询矩阵、基准键矩阵和基准值矩阵相加,得到第M+1次整体调整的大语言模型。如图6中的6-2所示,将调整后的微调查询矩阵W

在一种可能的实施方式中,可以存储第M次整体调整后每次微调后的微调值矩阵以及对应的第一微调权重。

那么步骤250,将第N次调整后的微调值矩阵乘以第一微调权重后,与基准值矩阵相加,得到第N次调整后的值矩阵,包括:将每次微调后的微调值矩阵与对应的第一微调权重的乘积进行累加后,与基准值矩阵相加,得到第N次调整后的值矩阵的参数。

可以理解的是,大语言模型与人不一样,如果已经写进矩阵参数中的信息,想要抠出部分信息进行删除是不可能的,因此,本申请实施例中,每次微调后的微调值矩阵中的参数不立即加入矩阵值矩阵中变成永久性的参数,而是将每次微调后的微调值矩阵进行存储以及对应的第一微调权重进行存储。

如图7中的7-1所示,将每次微调后的微调值矩阵中的参数进行存储,在使用大语言模型时,将每次微调后的微调值矩阵W

当大语言模型进行整体调整,对基准查询矩阵、基准键矩阵和基准值矩阵都进行更新后,可以释放存储微调值矩阵和第一微调权重的存储空间,以进行下一轮的微调。

这样可以给用户修正的机会,例如某一次微调的对话文本信息是错误的,或者不需要某一次微调的对话文本信息,那么可以将该次的微调值矩阵删除。又或者用户想强调或减弱某一次微调的对话文本信息,那么可以将该次的第一微调权重调高或调低。

基于相同的技术构思,图8例性地示出了本申请实施例提供的一种基于大语言模型的对话响应装置的结构示意图,如图8所示,该装置800包括:

获取模块801,用于获取用户对所述用户专属的大语言模型进行第N次微调的对话文本;

调整模块802,用于通过所述对话文本对微调大语言模型各层的自注意力模块进行调整;所述微调大语言模型是第M次整体调整后的大语言模型或是第N-1次微调后的大语言模型;所述微调大语言模型任一层的自注意力模块包括基准查询矩阵、基准键矩阵和微调值矩阵;所述基准查询矩阵和所述基准键矩阵是对大语言模型进行第M次整体调整得到的;

所述调整模块802,还用于在对每层的自注意力模块进行调整过程中,对于所述对话文本中的每个词,通过所述自注意力模块的基准查询矩阵获取词的自身特征;通过所述自注意力模块的基准键矩阵获取与其他词的关联特征;根据所述词的自身特征和所述与其他词的关联特征得到词的注意力得分;以所述词的注意力得分作为所述自注意力模块的微调值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征;

所述调整模块802,还用于基于所述对话文本的输出特征,调整所述自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵;

处理模块803,用于根据基准值矩阵与所述第N次调整后的微调值矩阵,得到第N次调整后的值矩阵;所述基准值矩阵是对大语言模型进行第M次整体调整得到的;

所述处理模块803,还用于基于各层的自注意力模块的基准查询矩阵、基准键矩阵和第N次调整后的值矩阵,生成第N次调整后的大语言模型;

所述处理模块803,还用于将所述第N次调整后的大语言模型作为所述用户的专属大语言模型,与所述用户继续进行对话。

在一种可能的设计中,所述处理模块803,还用于确定所述对话文本的第一微调权重;所述第一微调权重用于表征所述对话文本对所述用户的专属大语言模型的影响程度;所述处理模块803,在根据基准值矩阵与所述第N次调整后的微调值矩阵,得到第N次调整后的值矩阵时,具体用于将所述第N次调整后的微调值矩阵乘以所述第一微调权重后,与所述基准值矩阵相加,得到第N次调整后的值矩阵。

在一种可能的设计中,所述调整模块802,在以所述词的注意力得分作为所述自注意力模块的微调值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征时,具体用于将所述微调值矩阵分解为相乘的第一子矩阵、第二子矩阵和第三子矩阵; 以所述词的注意力得分作为所述相乘的第一子矩阵、第二子矩阵和第三子矩阵的权重,得到所述词在所述相乘的第一子矩阵、第二子矩阵和第三子矩阵下对应的输出特征;所述调整模块802,在基于所述对话文本的输出特征,调整所述自注意力模块的微调值矩阵的参数,直至符合大语言模型的精度要求,得到第N次调整后的微调值矩阵时,具体用于基于所述对话文本的输出特征,通过调整所述第一子矩阵、第二子矩阵和第三子矩阵的参数,在符合大语言模型的精度要求时,得到第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵;将所述第N次调整后的第一子矩阵、第二子矩阵和第三子矩阵相乘,得到第N次调整后的微调值矩阵。

在一种可能的设计中,所述处理模块803,在确定所述对话文本的第一微调权重时,具体用于将第N次调整后的第一矩阵和/或第三矩阵中的各向量表征的信息,与第N次之前调整得到的第一矩阵和/或第三矩阵中对应的各向量表征的信息进行比较,若判断存在新的话题信息,则将所述对话文本的第一微调权重调高。

在一种可能的设计中,所述处理模块803,还用于存储第M次整体调整后每次微调后的微调值矩阵以及对应的第一微调权重;所述处理模块803,在将所述第N次调整后的微调值矩阵乘以所述第一微调权重后,与所述基准值矩阵相加,得到第N次调整后的值矩阵时,具体用于 将每次微调后的微调值矩阵与对应的第一微调权重的乘积进行累加后,与所述基准值矩阵相加,得到第N次调整后的值矩阵的参数。

在一种可能的设计中,所述获取模块801,还用于获取用户对所述用户专属的大语言模型进行K次微调的各对话文本,形成对话文本集合;所述调整模块802,还用于通过所述对话文本集合对第M次整体调整后的大语言模型各层的自注意力模块的各矩阵进行整体调整;在调整过程中,对于所述对话文本集合中的每个词,通过自注意力模块的基准查询矩阵获取词的自身特征;通过自注意力模块的基准键矩阵获取与其他词的关联特征;根据所述词的自身特征和所述与其他词的关联特征得到词的注意力得分;以所述词的注意力得分作为基准值矩阵的权重,得到所述词在所述自注意力模块下对应的输出特征; 基于所述对话文本集合的输出特征,调整所述自注意力模块的基准查询矩阵、基准键矩阵以及基准值矩阵的参数,直至符合大语言模型的精度要求,得到调整后的微调查询矩阵、微调键矩阵以及微调值矩阵;所述处理模块803,还用于基于所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵,得到第M+1次整体调整的大语言模型。

在一种可能的设计中,所述处理模块803,还用于确定所述对话文本集合的第二微调权重;所述处理模块803,在基于所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵,更新所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵,得到第M+1次整体调整的大语言模型时,还具体用于将所述调整后的微调查询矩阵、微调键矩阵和微调值矩阵分别乘以所述第二微调权重后,分别与所述基准查询矩阵、所述基准键矩阵和所述基准值矩阵相加,得到第M+1次整体调整的大语言模型。

基于相同的技术构思,本申请实施例提供了一种计算设备,如图9所示,包括至少一个处理器901,以及与至少一个处理器连接的存储器902,本申请实施例中不限定处理器901与存储器902之间的具体连接介质,图9中处理器901和存储器902之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。

在本申请实施例中,存储器902存储有可被至少一个处理器901执行的指令,至少一个处理器901通过执行存储器902存储的指令,可以执行上述基于大语言模型的对话响应方法。

其中,处理器901是计算设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器902内的指令以及调用存储在存储器902内的数据,从而进行资源设置。

可选地,处理器901可包括一个或多个处理单元,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。在一些实施例中,处理器901和存储器902可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。

处理器901可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器902作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器902可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器902是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器902还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行程序,计算机可执行程序用于使计算机执行上述任一方式所列的基于大语言模型的对话响应方法。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种基于富文本提供响应事件的方法、装置和计算机记录介质
  • 一种基于统计语言模型得分规整的语音识别方法及系统
  • 一种基于大语言模型的智能对话方法、装置、介质及设备
  • 一种基于大语言模型的客户通话管理方法、装置及介质
技术分类

06120116514099