CN118093847B - 应答信息生成方法、系统、装置、设备、介质及程序产品 - Google Patents

应答信息生成方法、系统、装置、设备、介质及程序产品 Download PDF

Info

Publication number
CN118093847B
CN118093847B CN202410518171.7A CN202410518171A CN118093847B CN 118093847 B CN118093847 B CN 118093847B CN 202410518171 A CN202410518171 A CN 202410518171A CN 118093847 B CN118093847 B CN 118093847B
Authority
CN
China
Prior art keywords
input tensor
calculation
spliced
reasoning
tensor
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.)
Active
Application number
CN202410518171.7A
Other languages
English (en)
Other versions
CN118093847A (zh
Inventor
赵旭东
王申领
罗建刚
毛峻雄
吴韶华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202410518171.7A priority Critical patent/CN118093847B/zh
Publication of CN118093847A publication Critical patent/CN118093847A/zh
Application granted granted Critical
Publication of CN118093847B publication Critical patent/CN118093847B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及人工智能问答技术领域,具体公开了应答信息生成方法、系统、装置、设备、介质及程序产品,在通过根据输入的问题信息获取提示词输入语言模型进行推理计算的过程中,在利用局部过滤注意力层增强模型的自然语言表达能力的基础上,在每次推理计算中进入局部过滤注意力层时,获取上一次推理计算保存的结尾输入张量拼接至卷积层的输入张量之前,并保存本次推理计算卷积层的结尾输入张量,使得从每次推理计算只需输入上一次推理计算生成的标记即可,可以有效减少计算量,提升模型推理效率,进而提高了应答信息生成的效率,同时减少了对计算设备的存储资源和计算资源的需求,降低了计算设备完成人工智能问答任务的压力。

Description

应答信息生成方法、系统、装置、设备、介质及程序产品
技术领域
本发明涉及人工智能问答技术领域,特别是涉及应答信息生成方法、系统、装置、设备、介质及程序产品。
背景技术
人工智能问答技术是人工智能技术的一个蓬勃发展的分支,其应用涵盖了翻译、文章生成、摘要生成、信息搜索、图像生成、图像解析、代码生成等多个技术领域。
大语言模型(Large Language Model,LLM)是人工智能问答技术常采用的模型,在解决人工智能问答问题时进行推理计算产生的计算量也很大,不仅对设备性能产生巨大压力,其所生成应答信息的效率也并不乐观,解决人工智能问答技术生成应答信息的设备压力和生成效率问题,是本领域技术人员需要解决的技术问题。
发明内容
本发明的目的是提供应答信息生成方法、系统、装置、设备、介质及程序产品,用于在保证人工智能问答技术中应答信息生成精度的同时解决应答信息生成效率的问题。
为解决上述技术问题,本发明提供一种应答信息生成方法,包括:
接收输入的问题信息,所述问题信息包括提示词;
利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量;
利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息;
输出所述应答信息;
其中,在第一次推理计算中,获取的所述结尾输入张量为初始化为0的张量,所述卷积层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述结尾输入张量为上一次推理计算保存的所述结尾输入张量,所述卷积层的输入张量对应上一次推理计算生成的标记。
一方面,当所述语言模型为动态图语言模型时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,包括:
获取所述结尾输入张量拼接至第一个所述卷积层的输入张量之前得到所述第一拼接输入张量,将所述第一拼接输入张量输入第一个所述卷积层;
保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
保存所述第一拼接输入张量中最后两个输入张量作为本次推理计算中保存的所述结尾输入张量。
另一方面,当所述语言模型为静态图语言模型时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,包括:
获取所述结尾输入张量中的第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层,得到第一卷积计算结果;
获取所述结尾输入张量中的第二结尾输入张量拼接至所述第一卷积计算结果之前得到第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层;
保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
保存本次推理计算中所述第二拼接输入张量的最后一个输入张量和所述第三拼接输入张量的最后一个输入张量作为本次推理计算中保存的所述结尾输入张量。
另一方面,获取结尾输入张量,包括:
获取第一索引信息;
自所述第一索引信息中读取与所述局部过滤注意力层对应的第一存储地址;
自所述第一存储地址读取所述结尾输入张量。
另一方面,保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
获取第一索引信息;
自所述第一索引信息中读取与所述局部过滤注意力层对应的第一存储地址;
将本次推理计算中所述卷积层的所述结尾输入张量存入所述第一存储地址。
另一方面,当所述语言模型为动态图语言模型时,利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
在第一次推理计算中,将所述提示词全部输入所述语言模型,在进入所述局部过滤注意力层时,获取初始化为0的所述第一拼接输入张量拼接至第一个所述卷积层的输入张量之前得到所述第一拼接输入张量,将所述第一拼接输入张量输入第一个所述卷积层得到第一卷积计算结果,将所述第一卷积计算结果输入第二个所述卷积层得到第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算以得到本次推理计算生成的标记,并保存本次推理计算中所述第一拼接输入张量中最后两个输入张量作为本次保存的所述结尾输入张量;
在第二次及此后的推理计算中,将上一次推理计算生成的标记输入所述语言模型,在进入所述局部过滤注意力层时,获取上一次推理计算保存的所述结尾输入张量拼接至第一个所述卷积层的输入张量之前得到所述第一拼接输入张量,将所述第一拼接输入张量输入第一个所述卷积层得到所述第一卷积计算结果,将所述第一卷积计算结果输入第二个所述卷积层得到所述第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记,并保存本次推理计算中所述第一拼接输入张量中最后两个输入张量作为本次推理计算中保存的所述结尾输入张量。
另一方面,当所述语言模型为静态图语言模型时,利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
在第一次推理计算中,将所述提示词全部输入所述语言模型,在进入所述局部过滤注意力层时,获取初始化为0的第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层得到第一卷积计算结果,获取初始化为0的第二结尾输入张量拼接至所述第一卷积计算结果之前得到第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层得到第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记,并保存本次推理计算中所述第二拼接输入张量的最后一个输入张量作为本次推理计算中的所述第一结尾输入张量,保存本次推理计算中所述第三拼接输入张量的最后一个输入张量作为本次推理计算中的所述第二结尾输入张量;
在第二次及此后的推理计算中,将上一次推理计算生成的标记输入所述语言模型,在进入所述局部过滤注意力层时,获取上一次推理计算保存的所述第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到所述第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层得到所述第一卷积计算结果,获取上一次推理计算保存的所述第二结尾输入张量拼接至所述第一卷积计算结果之前得到所述第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层得到所述第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记,并保存本次推理计算中所述第二拼接输入张量的最后一个输入张量作为本次推理计算中的所述第一结尾输入张量,保存本次推理计算中所述第三拼接输入张量的最后一个输入张量作为本次推理计算中的所述第二结尾输入张量。
另一方面,在每次推理计算中进入所述语言模型的全局注意力层时,获取历史推理计算得到的键值矩阵,根据所述键值矩阵计算得到键值向量,而后将所述键值向量拼接至所述全局注意力层的输入张量之前得到第四拼接输入张量,将所述第四拼接输入张量输入所述全局注意力层以进行前向传播计算。
另一方面,在每次推理计算中进入所述语言模型的全局注意力层时,采用缓存的键值进行前向传播计算。
另一方面,采用缓存的键值进行前向传播计算,包括:
获取键值向量拼接结果,将所述键值向量拼接结果拼接至所述全局注意力层的输入张量之前得到第五拼接输入张量,将所述第五拼接输入张量输入所述全局注意力层以进行前向传播计算,并将本次推理计算中所述全局注意力层的键值向量更新至所述键值向量拼接结果;
其中,在第一次推理计算中,所述键值向量拼接结果为初始化为0的向量,所述全局注意力层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述键值向量拼接结果此前各次推理计算对应的键值向量拼接的结果,所述全局注意力层的输入张量对应上一次推理计算生成的标记。
另一方面,获取键值向量拼接结果,包括:
获取第二索引信息;
自所述第二索引信息中读取与所述全局注意力层对应的第二存储地址;
自所述第二存储地址读取所述键值向量拼接结果。
另一方面,将本次推理计算中所述全局注意力层的键值向量更新至所述键值向量拼接结果,包括:
获取第二索引信息;
自所述第二索引信息中读取与所述全局注意力层对应的第二存储地址;
将本次推理计算中所述全局注意力层的键值向量拼接至所述第二存储地址存储的所述键值向量拼接结果,以实现所述第二存储地址处所述键值向量拼接结果的更新。
另一方面,应用于分布式模型推理系统。
另一方面,利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,包括:
所述分布式模型推理系统采用模型并行计算方式执行推理计算;
其中,所述分布式模型推理系统中执行模型并行计算的计算节点均部署有所述局部过滤注意力层。
另一方面,利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,包括:
所述分布式模型推理系统中的计算节点利用所述语言模型分别基于所述提示词进行预设次数的推理计算;
利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息,包括:
汇总各所述计算节点在各次推理计算中生成的标记与所述提示词的拼接结果,得到所述应答信息。
另一方面,汇总各所述计算节点在各次推理计算中生成的标记与所述提示词的拼接结果,得到所述应答信息,包括:
将各所述拼接结果与所述问题信息关联的词库中的词库向量计算相似度,得到各所述拼接结果的相似度计算结果;
将相似度计算结果最大的第一数量所述拼接结果拼接得到所述应答信息。
另一方面,所述问题信息包括多个提示词;
利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,包括:
所述分布式模型推理系统中的计算节点利用所述语言模型基于对应的所述提示词进行预设次数的推理计算;
利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息,包括:
汇总各所述计算节点在各次推理计算中生成的标记与对应的所述提示词的拼接结果,得到所述应答信息。
另一方面,汇总各所述计算节点在各次推理计算中生成的标记与对应的所述提示词的拼接结果,得到所述应答信息,包括:
将各所述拼接结果与所述问题信息关联的词库中的词库向量计算相似度,得到各所述拼接结果的相似度计算结果;
将相似度计算结果最大的第二数量所述拼接结果拼接得到所述应答信息。
为解决上述技术问题,本发明还提供一种应答信息生成系统,包括多个计算节点;
其中,各所述计算节点均部署有设有局部过滤注意力层的语言模型;所述计算节点用于根据输入的问题信息中包括的提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量;
各所述计算节点的各次推理计算生成的标记拼接所述提示词为对所述问题信息的应答信息;
其中,在第一次推理计算中,获取的所述结尾输入张量为初始化为0的张量,所述卷积层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述结尾输入张量为上一次推理计算保存的所述结尾输入张量,所述卷积层的输入张量对应上一次推理计算生成的标记。
为解决上述技术问题,本发明还提供一种应答信息生成装置,包括:
接收单元,用于接收输入的问题信息,所述问题信息包括提示词;
计算单元,用于利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量;
生成单元,用于利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息;
输出单元,用于输出所述应答信息;
其中,在第一次推理计算中,获取的所述结尾输入张量为初始化为0的张量,所述卷积层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述结尾输入张量为上一次推理计算保存的所述结尾输入张量,所述卷积层的输入张量对应上一次推理计算生成的标记。
为解决上述技术问题,本发明还提供一种应答信息生成设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如上述任意一项所述应答信息生成方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述应答信息生成方法的步骤。
为解决上述技术问题,本发明还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上述任意一项所述应答信息生成方法的步骤。
本发明所提供的应答信息生成方法,有益效果在于通过在根据输入的问题信息获取提示词输入语言模型进行推理计算的过程中,在第一次推理计算中,在进入局部过滤注意力层时,获取的结尾输入张量为初始化为0的张量拼接至卷积层的输入张量之前得到第一拼接输入张量再输入卷积层,并保存本次推理计算中卷积层的结尾输入张量;在第二次及此后的推理计算中则获取上一次推理计算保存的结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量再输入卷积层,并保存本次推理计算中卷积层的结尾输入张量,由此在利用局部过滤注意力层增强模型的自然语言表达能力的基础上,根据局部过滤注意力层增强模型的输入需求使得从每次推理计算只需输入上一次推理计算生成的标记即可,可以有效减少计算量,提升模型推理效率,进而提高了应答信息生成的效率,同时减少了对计算设备的存储资源和计算资源的需求,降低了计算设备完成人工智能问答任务的压力。
本发明还提供一种应答信息生成系统、装置、设备、计算机可读存储介质及计算机程序产品,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种大语言模型的模型结构示意图;
图2为本发明实施例提供的另一种大语言模型的模型结构示意图;
图3为大语言模型训练过程中局部过滤注意力层的计算过程示意图;
图4为本发明实施例提供的一种应答信息生成方法的流程图;
图5为本发明实施例提供的动态图语言模型的局部过滤注意力层计算过程示意图;
图6为本发明实施例提供的静态图语言模型的局部过滤注意力层计算过程示意图;
图7为本发明实施例提供的一种应答信息生成装置的结构示意图;
图8为本发明实施例提供的一种应答信息生成设备的结构示意图。
具体实施方式
本发明的核心是提供应答信息生成方法、系统、装置、设备、介质及程序产品,用于在保证人工智能问答技术中应答信息生成精度的同时解决应答信息生成效率的问题。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种大语言模型的模型结构示意图;图2为本发明实施例提供的另一种大语言模型的模型结构示意图;图3为大语言模型训练过程中局部过滤注意力层的计算过程示意图。
为便于理解本发明实施例提供的技术方案,这里先对本发明实施例使用的一些关键名词进行解释:
大语言模型(Large Language Model,LLM),是一种基于海量文本数据训练的深度学习模型,它的核心能力包括生成自然语言文本和深刻理解文本含义。这类模型能够执行多种自然语言处理任务,如文本摘要、问答、翻译等。大语言模型的设计目的是为了模拟人类的语言理解和生成能力,它们通常在大型数据集上进行训练,从中学习语言结构、语法和上下文信息。
在大语言模型的计算中,中间计算结果用张量(Tensor)表示。张量是一个定义在一些向量空间和一些对偶空间的笛卡尔积上的多重线性映射,其坐标是|n|维空间内,有|n|个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。r称为该张量的秩或阶(与矩阵的秩和阶均无关系)。
在执行人工智能问答任务时,通常为接收用户输入的问题信息,该问题信息中包括提示词(prompt),将提示词输入大语言模型进行预设次数的推理计算。在利用大语言模型进行推理计算的过程中,通过将提示词输入大语言模型生成新的标记(token),将新生成的标记与提示词拼接在一起再输入到模型中再生成一个新的标记,依次类推生成的序列为应答信息。
随着模型的参数量的增加,利用大语言模型对计算设备的存储性能和计算性能的需求都线性增加。为了节约推理过程对存储资源和计算资源的需求,键值缓存技术被应用到基于自回归训练框架(transformer)结构的大语言模型的推理过程中,每次推理过程中将注意力层的提示词的关键字(key)和值(value)缓存下来作为下一个标记(token)生成事所需的上文信息,实现每次推理的时候只需输入一个标记,在注意力层推理过程,使用缓存下来的键值进行推理,可以有效地减少计算量,提升大模型推理的效率。
在加入键值缓存设计后,大语言模型的推理计算包括:
在第一次推理计算中,需要将提示词输入到语言模型进行前向传播计算,生成一个新的标记。在推理的同时会将键值缓存下来,用于下一次推理。
在第二次及此后的推理计算中,将已缓存的键值用于全局注意力层进行下一次推理获取前文信息所用,此时每次输入到模型的只需上一次推理计算生成的标记。
为解决传统自回归训练框架结构的大语言模型对自然语言语序排列不佳的问题,一种在注意力层增加局部过滤层(Local Fileter Layer)的新的大语言模型框架应运而生,该注意力层也可以被称为局部过滤注意力层(Localized Filtering-basedAttention,LFA)。局部过滤注意力层通过先强化相邻词之间的关联性,再计算全局关联性的方法,有效地解决了传统自回归训练框架结构的大语言模型对所有输入的文字一视同仁、不能考虑自然语言相邻词之间的强语义关联的问题,能够更好地处理自然语言的语序排列问题,对于中文语境的关联语义理解更准确、更人性,提升了模型的自然语言表达能力,进而提升了模型精度。
为减少推理过程中的计算量,局部过滤注意力层同样也需要缓存前文信息。但现有的键值缓存技术为针对全局注意力层的缓存技术,无法应用于局部过滤注意力层。
如图1所示,本发明实施例所采用的大语言模型的模型结构,自输入开始,主要包括第一向量化处理(Embedding)层、第一标准化处理层、局部过滤注意力层、第二标准化处理层、前馈神经网络(Feed Forward Network,FFN)、第三标准化处理层、第二向量化处理(Embedding)层。其中,各标准化处理层可以采用均方差标准化处理(RMSNorm)。
如图2所示,在本发明实施例的一些可选的实施方式中,局部过滤注意力层包括依次连接的第一卷积层、第二卷积层和第四标准化处理层,第一卷积层和第二卷积层均为二维卷积层(Conv2d),第一卷积层的输入张量大小(indim)为H,输出张量大小(outdim)为H/2,补齐字符(Padding)为1,步长(Stride)为1,卷积核大小(KernelSize)为(2,1);第二卷积层的输入张量大小(indim)为H/2,输出张量大小(outdim)为H,补齐字符(Padding)为1,步长(Stride)为1,卷积核大小(KernelSize)为(2,1);第四标准化处理层可以采用均方差标准化处理(RMSNorm)。输入的标记作为线性化值(Linear:V)和第四标准化处理层输出的线性化关键字(Linear:K)和线性化查询语句(Linear:Q)一起输入归一化处理(Softmax)层,得到线性化的输出结果(Linear:Output)并输出。
如图3所示,局部过滤注意力层的推理计算包括:假设输入的提示词包括4个标记,对于局部过滤注意力层来说,在进入第一个卷积层前先在第1个标记前拼接一个补齐字符,经过第一个卷积层,每个标记都为输入的对应位置的标记及其前一位标记两两进行卷积计算得到的,故输出4个标记,在进入第二个卷积层之前再在该4个标记前拼接一个补齐字符,经过第二个卷积层后输出4个标记。可以看到,在局部过滤注意力层的计算过程中,每个标记需要前面两个标记的信息,也就是第3个标记的输出位置会包含第1、2个标记的信息。
由于局部过滤注意力层与传统的全局注意力层的计算过程不同,传统的键值缓存技术无法应用到局部过滤注意力层。如果不对局部过滤注意力层的前文信息进行缓存,则无法在局部过滤注意力层获取前文信息,导致模型生成的结果错误。此时针对局部过滤注意力层只能采用在每次推理计算中均重新计算前文信息的方法,影响推理效率,进而影响应答信息生成的效率。
为解决局部过滤注意力层缓存前文信息的问题,本发明实施例提供一种应答信息生成方案,能够在利用语言模型根据问题信息中的提示词进行推理计算得到应答信息的过程中,对局部过滤注意力层的前文信息进行缓存,从而使局部过滤注意力层能够基于缓存的前文信息在每次推理计算中均只需要输入上一次推理计算生成的标记即可,在获得局部过滤注意力层增强模型自然语言表达能力效果的基础上进一步提高推理效率。
本发明实施例所提供的应答信息生成方案可以应用于单台计算设备上,也可以应用于包括多个计算设备的集群中。为便于理解,下面先对本发明实施例提供的一种应答信息生成系统进行介绍。
本发明实施例提供的应答信息生成系统可以包括多个计算节点;
其中,各计算节点均部署有设有局部过滤注意力层的语言模型;计算节点用于根据输入的问题信息中包括的提示词进行预设次数的推理计算,并在每次推理计算中进入局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入卷积层,并保存本次推理计算中卷积层的结尾输入张量;
各计算节点的各次推理计算生成的标记拼接提示词为对问题信息的应答信息;
其中,在第一次推理计算中,获取的结尾输入张量为初始化为0的张量,卷积层的输入张量对应提示词的全部标记;在第二次及此后的推理计算中,结尾输入张量为上一次推理计算保存的结尾输入张量,卷积层的输入张量对应上一次推理计算生成的标记。
从上述实施例的介绍可以看出,在本发明实施例的一种实施方式中,局部过滤注意力层关注最近的前文信息,其卷积层计算需要上一次推理计算最后两个标记,则结尾输入张量可以对应上一次推理计算中输入卷积层的最后两个输入张量。
在本发明实施例中,一个计算节点即一台计算设备,计算节点的类型可以包括但不限于图形处理器(Graphics Processing Unit,GPU)、现场可编程逻辑门阵列设备(FieldProgrammable Gate Array,FPGA)、专用集成电路设备(Application SpecificIntegrated Circuit,ASIC)和处理器分散处理单元设备(Data Processing Unit,DPU),或采用其中一种或多种作为加速器的计算设备,也可以采用其他类型的计算设备。在应答信息生成系统中,各计算节点可以部署相同的语言模型,或采用模型并行的方式,在各计算节点均部署局部过滤注意力层的同时,将傅里叶变换(FFW)层等支持模型并行的层部署在不同的计算节点上,以解决单个计算节点无法部署全部模型参数的问题。
若采用模型并行的计算方法,本发明实施例提供的应答信息生成系统还可以包括一台或多台控制器作为各计算节点的聚合节点,用于汇总同一语言模型推理计算得到的中间计算结果。
在上述架构的基础上,下面结合附图对本发明实施例提供的应答信息生成方法进行说明。
图4为本发明实施例提供的一种应答信息生成方法的流程图。
如图4所示,本发明实施例提供的应答信息生成方法包括:
S401:接收输入的问题信息,问题信息包括提示词。
S402:利用设有局部过滤注意力层的语言模型对提示词进行预设次数的推理计算,并在每次推理计算中进入局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入卷积层,并保存本次推理计算中卷积层的结尾输入张量。
S403:利用各次推理计算生成的标记拼接提示词,得到对问题信息的应答信息。
S404:输出应答信息。
其中,在第一次推理计算中,获取的结尾输入张量为初始化为0的张量,卷积层的输入张量对应提示词的全部标记;在第二次及此后的推理计算中,结尾输入张量为上一次推理计算保存的结尾输入张量,卷积层的输入张量对应上一次推理计算生成的标记。
在具体实施中,对于S401,在将语言模型部署于计算设备后,可以提供给用户应用程序接口以接收用户输入的问题信息。问题信息的类型可以包括但不限于翻译问题、文章生成问题、摘要生成问题、信息搜索问题、图像生成问题、图像解析问题、代码生成问题等。在本发明实施例的一种可选的实施方式中,通过对问题信息进行预处理得到提示词,例如去除问题信息中的问候语、重复信息描述等,得到提示词。提示词通常为一句包括多个字(或词)的序列,在本发明实施例中,每个字(或词)对应一个标记。
对于S402,本发明实施例应用设有局部过滤注意力层的语言模型来执行基于提示词的推理计算。一个语言模型可以包括多个模型块,可以每个模型块设置一个局部过滤注意力层,每个局部过滤注意力层的计算方式可以参考本发明上述实施例的介绍。则在第一次推理计算中,需要将全部提示词输入语言模型,对于每个局部过滤注意力层来说就是输入全部提示词对应的标记,在执行局部过滤注意力层的计算的同时将输入张量的结尾输入张量进行保存,即在每次推理计算中,每个局部过滤注意力层保存两个标记位置的结尾输入张量。则在第二次及此后的推理计算中,即可实现每次只需要输入上一次推理计算生成的一个标记即可,节约了重新计算前文信息的存储资源和计算资源。
对于第一次推理计算来说,由于没有上一次推理计算,故需要将结尾输入张量初始化为0。在第二次及此后的推理计算中则可以采用上一次推理计算保存的结尾输入张量。
将结尾输入张量保存于所在计算设备的存储器中,为保证推理效率,可以将保存的结尾输入张量存储于所在计算设备的缓存中。
为便于查找,在本发明实施例的一些可选的实施方式中,S402中保存本次推理计算中卷积层的结尾输入张量,可以包括:
获取第一索引信息;
自第一索引信息中读取与局部过滤注意力层对应的第一存储地址;
将本次推理计算中卷积层的结尾输入张量存入第一存储地址。
其中,第一索引信息保存了语言模型的局部过滤注意力层与第一存储地址的映射关系,计算设备在读取语言模型的参数执行推理计算的同时,读取第一索引信息以获得第一存储地址,并将推理计算过程中局部过滤注意力层的结尾输入张量存入第一存储地址。
在本发明实施例的另一些可选的实施方式中,S402中获取结尾输入张量,可以包括:
获取第一索引信息;
自第一索引信息中读取与局部过滤注意力层对应的第一存储地址;
自第一存储地址读取结尾输入张量。
同理,在计算设备读取语言模型的参数执行推理计算的同时,读取第一索引信息以获得第一存储地址,并从第一存储地址获取上一次推理计算时保存的结尾输入张量。
对于S403,在经过预设次数的推理计算后,将每次推理计算新生成的标记拼接在初始输入的提示词上,得到一个新的序列即为应答信息。
对于S404,可以将应答信息通过应用程序接口反馈给用户,可以通过人工智能问答任务的类型确定应答信息的页面展现形式。
本发明实施例提供的应答信息生成方法,通过在根据输入的问题信息获取提示词输入语言模型进行推理计算的过程中,在第一次推理计算中,在进入局部过滤注意力层时,获取的结尾输入张量为初始化为0的张量拼接至卷积层的输入张量之前得到第一拼接输入张量再输入卷积层,并保存本次推理计算中卷积层的结尾输入张量;在第二次及此后的推理计算中则获取上一次推理计算保存的结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量再输入卷积层,并保存本次推理计算中卷积层的结尾输入张量,由此在利用局部过滤注意力层增强模型的自然语言表达能力的基础上,根据局部过滤注意力层增强模型的输入需求使得从每次推理计算只需输入上一次推理计算生成的标记即可,可以有效减少计算量,提升模型推理效率,进而提高了应答信息生成的效率,同时减少了对计算设备的存储资源和计算资源的需求,降低了计算设备完成人工智能问答任务的压力。
语言模型框架可以分为动态图和静态图。其中,动态图为具有如果否则判断分支(if-else)的语言模型框架,静态图为不具有如果否则判断分支(if-else)的语言模型框架。动态图语言模型有张量并行训练框架(megatron)、自回归训练框架(transformer)等,静态图语言模型有针对大语言模型专门的推理框架TensorRT-LLM等。
下面针对动态图和静态图分别进行说明。
图5为本发明实施例提供的动态图语言模型的局部过滤注意力层计算过程示意图。
在上述实施例的基础上,在本发明实施例的一些可选的实施方式中,当语言模型为动态图语言模型时,S402中获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入卷积层,可以包括:
获取结尾输入张量拼接至第一个卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入第一个卷积层。
S402中保存本次推理计算中卷积层的结尾输入张量,可以包括:
保存第一拼接输入张量中最后两个输入张量作为本次推理计算中保存的结尾输入张量。
与图3不同的是,动态图语言模型的局部过滤注意力层的第二个卷积层不需要再在输入张量前拼接补齐字符,故如图5所示,在当前次推理计算中,获取上一次推理计算保存的结尾输入张量(LF_Cache),将其中的两个张量(结尾输入张量[0]、结尾输入张量[1])顺次拼接在第一个卷积层的输入张量之前,而后进行卷积计算乃至后续的前向传播计算。并将第一个卷积层的输入张量的最后两个标记作为本次推理计算保存的结尾输入张量。
在本发明实施例的一些可选的实施方式中,当语言模型为动态图语言模型时,S402中利用设有局部过滤注意力层的语言模型对提示词进行预设次数的推理计算,并在每次推理计算中进入局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入卷积层,并保存本次推理计算中卷积层的结尾输入张量,可以包括:
在第一次推理计算中,将提示词全部输入语言模型;
在进入局部过滤注意力层时,获取初始化为0的第一拼接输入张量拼接至第一个卷积层(Conv2d_1层)的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入第一个卷积层得到第一卷积计算结果;
将第一卷积计算结果输入第二个卷积层(Conv2d_2层)得到第二卷积计算结果,利用第二卷积计算结果进行前向传播计算以得到本次推理计算生成的标记;
保存本次推理计算中第一拼接输入张量中最后两个输入张量作为本次保存的结尾输入张量;
在第二次及此后的推理计算中,将上一次推理计算生成的标记输入语言模型;
在进入局部过滤注意力层时,获取上一次推理计算保存的结尾输入张量拼接至第一个卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入第一个卷积层得到第一卷积计算结果;
将第一卷积计算结果输入第二个卷积层得到第二卷积计算结果,利用第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记;
保存本次推理计算中第一拼接输入张量中最后两个输入张量作为本次推理计算中保存的结尾输入张量。
基于此,循环执行推理过程,直至全部的标记生成。
需要说明的是,上述步骤仅为本发明实施例的一种可选的实施方式,其中涉及到前向传播计算的过程可以参考现有的自回归训练框架(transformer)结构的大语言模型的推理过程,本发明实施例不做过多描述。而卷积计算与保存结尾输入张量的顺序可以为先后顺序或并列顺序。
图6为本发明实施例提供的静态图语言模型的局部过滤注意力层计算过程示意图。
由于张量并行训练框架(megatron)、自回归训练框架(transformer)等静态图语言模型没有针对推理过程进行深度优化,所以本发明实施例还针对大语言模型专门的推理框架TensorRT-LLM进行了优化,使用TensorRT-LLM进行经典大语言模型的推理可以相对于其他框架提升4倍的推理性能。
在本发明实施例的一些实施方式中,当语言模型为静态图语言模型时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入卷积层,可以包括:
获取结尾输入张量中的第一结尾输入张量拼接至第一个卷积层的输入张量之前得到第二拼接输入张量,将第二拼接输入张量输入第一个卷积层,得到第一卷积计算结果;
获取结尾输入张量中的第二结尾输入张量拼接至第一卷积计算结果之前得到第三拼接输入张量,将第三拼接输入张量输入第二个卷积层。
S402中保存本次推理计算中卷积层的结尾输入张量,可以包括:
保存本次推理计算中第二拼接输入张量的最后一个输入张量和第三拼接输入张量的最后一个输入张量作为本次推理计算中保存的结尾输入张量。
如图6所示,静态图语言模型的局部过滤注意力层的两个卷积层的输入张量前都需要拼接补齐字符,故采用将上一次推理计算保存的两个结尾输入张量分别拼接在第一个卷积层的输入张量之前以及第二个卷积层的输入张量之前的方法。并在保存本次推理计算的结尾输入张量时,保存第一个卷积层的最后一个输入张量和第二个卷积层的最后一个输入张量。
具体来说,在使用TensorRT-LLM进行推理性能优化的时候,由于TensorRT推理引擎部署的时候,无法在推理过程中使用如果否则判断分支(if-else)判断,为此需要每次输入到模型的结尾输入张量是相同的,也就是说在第一次将提示词输入到模型,以及之后每个新生成的标记输入到模型的时候,结尾输入张量(LF_Cache)都需要时相同形状的张量。针对这一问题,本发明实施例提供了针对TensorRT-LLM框架的结尾输入张量(LF_Cache)实现方法:
给每个卷积层设计一个结尾输入张量(LF_Cache),也就是在第一个卷积层(Conv2d_1层)有一个形状(shape)为[批次大小,注意力头大小*注意力头数量//2,1,1]([batch_size,head_size*num_heads//2,1,1])的张量被缓存到第一结尾输入张量(past_lf1),在第二个卷积层(Conv2d_2层)层有一个形状(shape)为[批次大小,注意力头大小*注意力头数量//2,1,1]([batch_size,head_size*num_heads//2,1,1])的张量被缓存到第二结尾输入张量(past_lf2),这样可以保证每次缓存的张量的形状是一致的。
则在本发明实施例的一些可选的实施方式中,当语言模型为静态图语言模型时,S402中利用设有局部过滤注意力层的语言模型对提示词进行预设次数的推理计算,并在每次推理计算中进入局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入卷积层,并保存本次推理计算中卷积层的结尾输入张量,可以包括:
在第一次推理计算中,将提示词全部输入语言模型;
在进入局部过滤注意力层时,获取初始化为0的第一结尾输入张量拼接至第一个卷积层的输入张量之前得到第二拼接输入张量,将第二拼接输入张量输入第一个卷积层得到第一卷积计算结果;
获取初始化为0的第二结尾输入张量拼接至第一卷积计算结果之前得到第三拼接输入张量,将第三拼接输入张量输入第二个卷积层得到第二卷积计算结果;
利用第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记;
保存本次推理计算中第二拼接输入张量的最后一个输入张量作为本次推理计算中的第一结尾输入张量,保存本次推理计算中第三拼接输入张量的最后一个输入张量作为本次推理计算中的第二结尾输入张量;
在第二次及此后的推理计算中,将上一次推理计算生成的标记输入语言模型;
在进入局部过滤注意力层时,获取上一次推理计算保存的第一结尾输入张量拼接至第一个卷积层的输入张量之前得到第二拼接输入张量,将第二拼接输入张量输入第一个卷积层得到第一卷积计算结果;
获取上一次推理计算保存的第二结尾输入张量拼接至第一卷积计算结果之前得到第三拼接输入张量,将第三拼接输入张量输入第二个卷积层得到第二卷积计算结果;
利用第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记;
保存本次推理计算中第二拼接输入张量的最后一个输入张量作为本次推理计算中的第一结尾输入张量,保存本次推理计算中第三拼接输入张量的最后一个输入张量作为本次推理计算中的第二结尾输入张量。
基于此,循环执行推理过程,直至全部的标记生成。
需要说明的是,上述步骤仅为本发明实施例的一种可选的实施方式,其中涉及到前向传播计算的过程可以参考现有的自回归训练框架(transformer)结构的大语言模型的推理过程,本发明实施例不做过多描述。而卷积计算与保存结尾输入张量的顺序可以为先后顺序或并列顺序。
在上述实施例的基础上,由于设有局部过滤注意力层的语言模型还设有全局注意力层,需要保证全局注意力层的前文信息获取。在本发明实施例的一些可选的实施方式中,在每次推理计算中进入语言模型的全局注意力层时,可以获取历史推理计算得到的键值矩阵,根据键值矩阵计算得到键值向量,而后将键值向量拼接至全局注意力层的输入张量之前得到第四拼接输入张量,将第四拼接输入张量输入全局注意力层以进行前向传播计算。
为了进一步减少应答信息生成过程中的推理计算量,在本发明实施例的另一些可选的实施方式中,在每次推理计算中进入语言模型的全局注意力层时,采用缓存的键值进行前向传播计算。
与局部过滤注意力层不同的是,全局注意力层所需要的前文信息为从第一次推理计算开始每次推理计算中该全局注意力层生成的键值向量的拼接结果。
在本发明实施例中,采用缓存的键值进行前向传播计算,可以包括:
获取键值向量拼接结果,将键值向量拼接结果拼接至全局注意力层的输入张量之前得到第五拼接输入张量,将第五拼接输入张量输入全局注意力层以进行前向传播计算,并将本次推理计算中全局注意力层的键值向量更新至键值向量拼接结果;
其中,在第一次推理计算中,键值向量拼接结果为初始化为0的向量,全局注意力层的输入张量对应提示词的全部标记;在第二次及此后的推理计算中,键值向量拼接结果此前各次推理计算对应的键值向量拼接的结果,全局注意力层的输入张量对应上一次推理计算生成的标记。
为便于查找,在本发明实施例的一些可选的实施方式中,将本次推理计算中全局注意力层的键值向量更新至键值向量拼接结果,可以包括:
获取第二索引信息;
自第二索引信息中读取与全局注意力层对应的第二存储地址;
将本次推理计算中全局注意力层的键值向量拼接至第二存储地址存储的键值向量拼接结果,以实现第二存储地址处键值向量拼接结果的更新。
其中,第二索引信息保存了语言模型的全局注意力层与第二存储地址的映射关系,计算设备在读取语言模型的参数执行推理计算的同时,读取第二索引信息以获得第二存储地址,并将推理计算过程中全局注意力层的键值向量拼接结果存入第二存储地址。
在本发明实施例的另一些可选的实施方式中,获取键值向量拼接结果,可以包括:
获取第二索引信息;
自第二索引信息中读取与全局注意力层对应的第二存储地址;
自第二存储地址读取键值向量拼接结果。
同理,在计算设备读取语言模型的参数执行推理计算的同时,读取第二索引信息以获得第二存储地址,并从第二存储地址获取上一次推理计算时保存的键值向量拼接结果。
本发明实施例提供的应答信息生成方法可以应用于单台计算设备,也可以应用于包括多个计算设备的集群。
在上述实施例的基础上,在本发明实施例的一些可选的实施方式中,本发明实施例提供的应答信息生成方法可以应用于分布式模型推理系统。
则在本发明实施例的一些可选的实施方式中,S402中利用设有局部过滤注意力层的语言模型对提示词进行预设次数的推理计算,可以包括:
分布式模型推理系统采用模型并行计算方式执行推理计算;
其中,分布式模型推理系统中执行模型并行计算的计算节点均部署有局部过滤注意力层。
分布式模型推理系统的硬件架构说明可以参考本发明上述实施例介绍的应答信息生成系统。
在本发明实施例的一些可选的实施方式中,可以采用分布式模型推理系统针对同一提示词生成多个结果并拼接得到应答信息。则利用设有局部过滤注意力层的语言模型对提示词进行预设次数的推理计算,可以包括:
分布式模型推理系统中的计算节点利用语言模型分别基于提示词进行预设次数的推理计算;
利用各次推理计算生成的标记拼接提示词,得到对问题信息的应答信息,包括:
汇总各计算节点在各次推理计算中生成的标记与提示词的拼接结果,得到应答信息。
其中,汇总各计算节点在各次推理计算中生成的标记与提示词的拼接结果,得到应答信息,可以包括:
将各拼接结果与问题信息关联的词库中的词库向量计算相似度,得到各拼接结果的相似度计算结果;
将相似度计算结果最大的第一数量拼接结果拼接得到应答信息。
在本发明实施例的另一些可选的实施方式中,也可以采用分布式模型推理系统针对同一问题信息的多个提示词生成多个结果并拼接得到应答信息。则若问题信息包括多个提示词,利用设有局部过滤注意力层的语言模型对提示词进行预设次数的推理计算,可以包括:
分布式模型推理系统中的计算节点利用语言模型基于对应的提示词进行预设次数的推理计算;
利用各次推理计算生成的标记拼接提示词,得到对问题信息的应答信息,包括:
汇总各计算节点在各次推理计算中生成的标记与对应的提示词的拼接结果,得到应答信息。
其中,汇总各计算节点在各次推理计算中生成的标记与对应的提示词的拼接结果,得到应答信息,可以包括:
将各拼接结果与问题信息关联的词库中的词库向量计算相似度,得到各拼接结果的相似度计算结果;
将相似度计算结果最大的第二数量拼接结果拼接得到应答信息。
需要说明的是,在本发明各应答信息生成方法的实施例中,各步骤或特征中的部分可以忽略或不执行。为方便说明所划分的硬件或软件功能模块,也并非实现本发明实施例提供的应答信息生成方法的唯一实现形式。
上文详述了应答信息生成方法对应的各个实施例,在此基础上,本发明还公开了与上述方法对应的应答信息生成装置、设备、计算机可读存储介质及计算机程序产品。
图7为本发明实施例提供的一种应答信息生成装置的结构示意图。
如图7所示,本发明实施例提供的应答信息生成装置包括:
接收单元701,用于接收输入的问题信息,问题信息包括提示词;
计算单元702,用于利用设有局部过滤注意力层的语言模型对提示词进行预设次数的推理计算,并在每次推理计算中进入局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将第一拼接输入张量输入卷积层,并保存本次推理计算中卷积层的结尾输入张量;
生成单元703,用于利用各次推理计算生成的标记拼接提示词,得到对问题信息的应答信息;
输出单元704,用于输出应答信息;
其中,在第一次推理计算中,获取的结尾输入张量为初始化为0的张量,卷积层的输入张量对应提示词的全部标记;在第二次及此后的推理计算中,结尾输入张量为上一次推理计算保存的结尾输入张量,卷积层的输入张量对应上一次推理计算生成的标记。
需要说明的是,本发明实施例提供的应答信息生成装置的各实施方式中,单元的划分仅为一种逻辑功能上的划分,可以采用其他的划分方式。不同单元之间的连接方式可以采用电性、机械或其他连接方式。分离的单元可以位于同一物理位置或分布在多个网络节点上。各单元可以以硬件的形式实现,也可以采用软件功能单元的形式实现。即可以根据实际需要选择本发明实施例提供的各单元的部分或全部并采用相应的连接方式或集成方式来实现本发明实施例方案的目的。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图8为本发明实施例提供的一种应答信息生成设备的结构示意图。
如图8所示,本发明实施例提供的应答信息生成设备包括:
存储器810,用于存储计算机程序811;
处理器820,用于执行计算机程序811,该计算机程序811被处理器820执行时实现如上述任意一项实施例提供的应答信息生成方法的步骤。
其中,处理器820可以包括一个或多个处理核心,比如3核心处理器、8核心处理器等。处理器820可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器820也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器820可以集成有图像处理器(Graphics Processing Unit,GPU),图像处理器用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器820还可以包括人工智能(Artificial Intelligence,AI)处理器,该人工智能处理器用于处理有关机器学习的计算操作。
存储器810可以包括一个或多个存储介质,该存储介质可以是非暂态的。存储器810还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器810至少用于存储以下计算机程序811,其中,该计算机程序811被处理器820加载并执行之后,能够实现前述任一实施例公开的应答信息生成方法中的相关步骤。另外,存储器810所存储的资源还可以包括操作系统812和数据813等,存储方式可以是短暂存储或者永久存储。其中,操作系统812可以为Windows、Lunu应答信息生成或其他类型的操作系统。数据813可以包括但不限于上述方法所涉及到的数据。
在一些实施例中,应答信息生成设备还可包括有显示屏830、电源840、通信接口850、输入输出接口860、传感器870以及通信总线880。
本领域技术人员可以理解,图8中示出的结构并不构成对应答信息生成设备的限定,可以包括比图示更多或更少的组件。
本发明实施例提供的应答信息生成设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如上述实施例提供的应答信息生成方法的步骤,效果同上。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现如上述任意一项实施例提供的应答信息生成方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明实施例提供的计算机可读存储介质的介绍请参照上述方法实施例,且其所起到的效果同本发明实施例提供的应答信息生成方法,本发明在此不做赘述。
本发明实施例提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任意一项实施例提供的应答信息生成方法的步骤。
对于本发明实施例提供的计算机程序产品的介绍请参照上述方法实施例,且其所起到的效果同本发明实施例提供的应答信息生成方法,本发明在此不做赘述。
以上对本发明所提供的应答信息生成方法、系统、装置、设备、介质及程序产品进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备、计算机可读存储介质及计算机程序产品而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (22)

1.一种应答信息生成方法,其特征在于,包括:
接收输入的问题信息,所述问题信息包括提示词;
利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量;
利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息;
输出所述应答信息;
其中,在第一次推理计算中,获取的所述结尾输入张量为初始化为0的张量,所述卷积层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述结尾输入张量为上一次推理计算保存的所述结尾输入张量,所述卷积层的输入张量对应上一次推理计算生成的标记;
当所述语言模型为静态图语言模型时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,包括:
获取所述结尾输入张量中的第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层,得到第一卷积计算结果;
获取所述结尾输入张量中的第二结尾输入张量拼接至所述第一卷积计算结果之前得到第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层;
保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
保存本次推理计算中所述第二拼接输入张量的最后一个输入张量和所述第三拼接输入张量的最后一个输入张量作为本次推理计算中保存的所述结尾输入张量;
其中,在第一次推理计算中,所述第一结尾输入张量和所述第二结尾输入张量均为初始化为0的张量。
2.根据权利要求1所述的应答信息生成方法,其特征在于,当所述语言模型为动态图语言模型时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,包括:
获取所述结尾输入张量拼接至第一个所述卷积层的输入张量之前得到所述第一拼接输入张量,将所述第一拼接输入张量输入第一个所述卷积层;
保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
保存所述第一拼接输入张量中最后两个输入张量作为本次推理计算中保存的所述结尾输入张量。
3.根据权利要求1所述的应答信息生成方法,其特征在于,获取结尾输入张量,包括:
获取第一索引信息;
自所述第一索引信息中读取与所述局部过滤注意力层对应的第一存储地址;
自所述第一存储地址读取所述结尾输入张量。
4.根据权利要求1所述的应答信息生成方法,其特征在于,保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
获取第一索引信息;
自所述第一索引信息中读取与所述局部过滤注意力层对应的第一存储地址;
将本次推理计算中所述卷积层的所述结尾输入张量存入所述第一存储地址。
5.根据权利要求1所述的应答信息生成方法,其特征在于,当所述语言模型为动态图语言模型时,利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
在第一次推理计算中,将所述提示词全部输入所述语言模型,在进入所述局部过滤注意力层时,获取初始化为0的所述第一拼接输入张量拼接至第一个所述卷积层的输入张量之前得到所述第一拼接输入张量,将所述第一拼接输入张量输入第一个所述卷积层得到第一卷积计算结果,将所述第一卷积计算结果输入第二个所述卷积层得到第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算以得到本次推理计算生成的标记,并保存本次推理计算中所述第一拼接输入张量中最后两个输入张量作为本次保存的所述结尾输入张量;
在第二次及此后的推理计算中,将上一次推理计算生成的标记输入所述语言模型,在进入所述局部过滤注意力层时,获取上一次推理计算保存的所述结尾输入张量拼接至第一个所述卷积层的输入张量之前得到所述第一拼接输入张量,将所述第一拼接输入张量输入第一个所述卷积层得到所述第一卷积计算结果,将所述第一卷积计算结果输入第二个所述卷积层得到所述第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记,并保存本次推理计算中所述第一拼接输入张量中最后两个输入张量作为本次推理计算中保存的所述结尾输入张量。
6.根据权利要求1所述的应答信息生成方法,其特征在于,获取所述结尾输入张量中的第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层,得到第一卷积计算结果;获取所述结尾输入张量中的第二结尾输入张量拼接至所述第一卷积计算结果之前得到第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层;保存本次推理计算中所述第二拼接输入张量的最后一个输入张量和所述第三拼接输入张量的最后一个输入张量作为本次推理计算中保存的所述结尾输入张量,包括:
在第一次推理计算中,将所述提示词全部输入所述语言模型,在进入所述局部过滤注意力层时,获取初始化为0的所述第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到所述第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层得到所述第一卷积计算结果,获取初始化为0的所述第二结尾输入张量拼接至所述第一卷积计算结果之前得到所述第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层得到第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记,并保存本次推理计算中所述第二拼接输入张量的最后一个输入张量作为本次推理计算中的所述第一结尾输入张量,保存本次推理计算中所述第三拼接输入张量的最后一个输入张量作为本次推理计算中的所述第二结尾输入张量;
在第二次及此后的推理计算中,将上一次推理计算生成的标记输入所述语言模型,在进入所述局部过滤注意力层时,获取上一次推理计算保存的所述第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到所述第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层得到所述第一卷积计算结果,获取上一次推理计算保存的所述第二结尾输入张量拼接至所述第一卷积计算结果之前得到所述第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层得到所述第二卷积计算结果,利用所述第二卷积计算结果进行前向传播计算得到本次推理计算生成的标记,并保存本次推理计算中所述第二拼接输入张量的最后一个输入张量作为本次推理计算中的所述第一结尾输入张量,保存本次推理计算中所述第三拼接输入张量的最后一个输入张量作为本次推理计算中的所述第二结尾输入张量。
7.根据权利要求1所述的应答信息生成方法,其特征在于,在每次推理计算中进入所述语言模型的全局注意力层时,获取历史推理计算得到的键值矩阵,根据所述键值矩阵计算得到键值向量,而后将所述键值向量拼接至所述全局注意力层的输入张量之前得到第四拼接输入张量,将所述第四拼接输入张量输入所述全局注意力层以进行前向传播计算。
8.根据权利要求1所述的应答信息生成方法,其特征在于,在每次推理计算中进入所述语言模型的全局注意力层时,采用缓存的键值进行前向传播计算。
9.根据权利要求8所述的应答信息生成方法,其特征在于,采用缓存的键值进行前向传播计算,包括:
获取键值向量拼接结果,将所述键值向量拼接结果拼接至所述全局注意力层的输入张量之前得到第五拼接输入张量,将所述第五拼接输入张量输入所述全局注意力层以进行前向传播计算,并将本次推理计算中所述全局注意力层的键值向量更新至所述键值向量拼接结果;
其中,在第一次推理计算中,所述键值向量拼接结果为初始化为0的向量,所述全局注意力层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述键值向量拼接结果此前各次推理计算对应的键值向量拼接的结果,所述全局注意力层的输入张量对应上一次推理计算生成的标记。
10.根据权利要求9所述的应答信息生成方法,其特征在于,获取键值向量拼接结果,包括:
获取第二索引信息;
自所述第二索引信息中读取与所述全局注意力层对应的第二存储地址;
自所述第二存储地址读取所述键值向量拼接结果。
11.根据权利要求9所述的应答信息生成方法,其特征在于,将本次推理计算中所述全局注意力层的键值向量更新至所述键值向量拼接结果,包括:
获取第二索引信息;
自所述第二索引信息中读取与所述全局注意力层对应的第二存储地址;
将本次推理计算中所述全局注意力层的键值向量拼接至所述第二存储地址存储的所述键值向量拼接结果,以实现所述第二存储地址处所述键值向量拼接结果的更新。
12.根据权利要求1所述的应答信息生成方法,其特征在于,应用于分布式模型推理系统。
13.根据权利要求12所述的应答信息生成方法,其特征在于,利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,包括:
所述分布式模型推理系统采用模型并行计算方式执行推理计算;
其中,所述分布式模型推理系统中执行模型并行计算的计算节点均部署有所述局部过滤注意力层。
14.根据权利要求12所述的应答信息生成方法,其特征在于,利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,包括:
所述分布式模型推理系统中的计算节点利用所述语言模型分别基于所述提示词进行预设次数的推理计算;
利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息,包括:
汇总各所述计算节点在各次推理计算中生成的标记与所述提示词的拼接结果,得到所述应答信息。
15.根据权利要求14所述的应答信息生成方法,其特征在于,汇总各所述计算节点在各次推理计算中生成的标记与所述提示词的拼接结果,得到所述应答信息,包括:
将各所述拼接结果与所述问题信息关联的词库中的词库向量计算相似度,得到各所述拼接结果的相似度计算结果;
将相似度计算结果最大的第一数量所述拼接结果拼接得到所述应答信息。
16.根据权利要求12所述的应答信息生成方法,其特征在于,所述问题信息包括多个提示词;
利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,包括:
所述分布式模型推理系统中的计算节点利用所述语言模型基于对应的所述提示词进行预设次数的推理计算;
利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息,包括:
汇总各所述计算节点在各次推理计算中生成的标记与对应的所述提示词的拼接结果,得到所述应答信息。
17.根据权利要求16所述的应答信息生成方法,其特征在于,汇总各所述计算节点在各次推理计算中生成的标记与对应的所述提示词的拼接结果,得到所述应答信息,包括:
将各所述拼接结果与所述问题信息关联的词库中的词库向量计算相似度,得到各所述拼接结果的相似度计算结果;
将相似度计算结果最大的第二数量所述拼接结果拼接得到所述应答信息。
18.一种应答信息生成系统,其特征在于,包括多个计算节点;
其中,各所述计算节点均部署有设有局部过滤注意力层的语言模型;所述计算节点用于根据输入的问题信息中包括的提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量;
各所述计算节点的各次推理计算生成的标记拼接所述提示词为对所述问题信息的应答信息;
其中,在第一次推理计算中,获取的所述结尾输入张量为初始化为0的张量,所述卷积层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述结尾输入张量为上一次推理计算保存的所述结尾输入张量,所述卷积层的输入张量对应上一次推理计算生成的标记;
当所述语言模型为静态图语言模型时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,包括:
获取所述结尾输入张量中的第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层,得到第一卷积计算结果;
获取所述结尾输入张量中的第二结尾输入张量拼接至所述第一卷积计算结果之前得到第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层;
保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
保存本次推理计算中所述第二拼接输入张量的最后一个输入张量和所述第三拼接输入张量的最后一个输入张量作为本次推理计算中保存的所述结尾输入张量;
其中,在第一次推理计算中,所述第一结尾输入张量和所述第二结尾输入张量均为初始化为0的张量。
19.一种应答信息生成装置,其特征在于,包括:
接收单元,用于接收输入的问题信息,所述问题信息包括提示词;
计算单元,用于利用设有局部过滤注意力层的语言模型对所述提示词进行预设次数的推理计算,并在每次推理计算中进入所述局部过滤注意力层时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,并保存本次推理计算中所述卷积层的所述结尾输入张量;
生成单元,用于利用各次推理计算生成的标记拼接所述提示词,得到对所述问题信息的应答信息;
输出单元,用于输出所述应答信息;
其中,在第一次推理计算中,获取的所述结尾输入张量为初始化为0的张量,所述卷积层的输入张量对应所述提示词的全部标记;在第二次及此后的推理计算中,所述结尾输入张量为上一次推理计算保存的所述结尾输入张量,所述卷积层的输入张量对应上一次推理计算生成的标记;
当所述语言模型为静态图语言模型时,获取结尾输入张量拼接至卷积层的输入张量之前得到第一拼接输入张量,将所述第一拼接输入张量输入所述卷积层,包括:
获取所述结尾输入张量中的第一结尾输入张量拼接至第一个所述卷积层的输入张量之前得到第二拼接输入张量,将所述第二拼接输入张量输入第一个所述卷积层,得到第一卷积计算结果;
获取所述结尾输入张量中的第二结尾输入张量拼接至所述第一卷积计算结果之前得到第三拼接输入张量,将所述第三拼接输入张量输入第二个所述卷积层;
保存本次推理计算中所述卷积层的所述结尾输入张量,包括:
保存本次推理计算中所述第二拼接输入张量的最后一个输入张量和所述第三拼接输入张量的最后一个输入张量作为本次推理计算中保存的所述结尾输入张量;
其中,在第一次推理计算中,所述第一结尾输入张量和所述第二结尾输入张量均为初始化为0的张量。
20.一种应答信息生成设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至17任意一项所述应答信息生成方法的步骤。
21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至17任意一项所述应答信息生成方法的步骤。
22.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至17任意一项所述应答信息生成方法的步骤。
CN202410518171.7A 2024-04-28 2024-04-28 应答信息生成方法、系统、装置、设备、介质及程序产品 Active CN118093847B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410518171.7A CN118093847B (zh) 2024-04-28 2024-04-28 应答信息生成方法、系统、装置、设备、介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410518171.7A CN118093847B (zh) 2024-04-28 2024-04-28 应答信息生成方法、系统、装置、设备、介质及程序产品

Publications (2)

Publication Number Publication Date
CN118093847A CN118093847A (zh) 2024-05-28
CN118093847B true CN118093847B (zh) 2024-07-19

Family

ID=91153615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410518171.7A Active CN118093847B (zh) 2024-04-28 2024-04-28 应答信息生成方法、系统、装置、设备、介质及程序产品

Country Status (1)

Country Link
CN (1) CN118093847B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116628219A (zh) * 2023-05-10 2023-08-22 浙江工业大学 一种基于知识图谱的问答方法
CN116775836A (zh) * 2023-06-28 2023-09-19 西安交通大学 基于多层次注意力的教科书文本问答方法及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021184311A1 (zh) * 2020-03-19 2021-09-23 中山大学 一种自动生成可推理问答的方法和装置
KR102423733B1 (ko) * 2020-08-19 2022-07-22 경기대학교 산학협력단 지식 그래프 추론 기반의 오픈 도메인 질문 응답 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116628219A (zh) * 2023-05-10 2023-08-22 浙江工业大学 一种基于知识图谱的问答方法
CN116775836A (zh) * 2023-06-28 2023-09-19 西安交通大学 基于多层次注意力的教科书文本问答方法及系统

Also Published As

Publication number Publication date
CN118093847A (zh) 2024-05-28

Similar Documents

Publication Publication Date Title
CN112214593B (zh) 问答处理方法、装置、电子设备及存储介质
US4697242A (en) Adaptive computing system capable of learning and discovery
US10747961B2 (en) Method and device for identifying a sentence
CN110990555B (zh) 端到端检索式对话方法与系统及计算机设备
CN112052668A (zh) 地址文本识别模型的训练方法、地址的预测方法及装置
CN111782826A (zh) 知识图谱的信息处理方法、装置、设备及存储介质
CN111858898A (zh) 基于人工智能的文本处理方法、装置及电子设备
CN116644168A (zh) 一种交互数据构建方法、装置、设备及存储介质
CN110826345A (zh) 一种机器翻译方法和装置
CN114398899A (zh) 预训练语言模型的训练方法、装置、计算机设备和介质
CN117216200A (zh) 大型语言模型的微调方法和基于大型语言模型的智能助手
CN117891930B (zh) 基于知识图谱增强大语言模型的图书知识问答方法
CN114692621A (zh) Nlp中基于样本的序列到序列任务的影响函数解释方法
CN112132281B (zh) 一种基于人工智能的模型训练方法、装置、服务器及介质
CN114281934A (zh) 文本识别方法、装置、设备及存储介质
CN116821696B (zh) 表格问答模型的训练方法、装置、设备及存储介质
CN118093847B (zh) 应答信息生成方法、系统、装置、设备、介质及程序产品
CN115879450B (zh) 一种逐步文本生成方法、系统、计算机设备及存储介质
CN115757694A (zh) 招聘行业文本召回方法及系统、设备与介质
CN113836266B (zh) 基于bert的自然语言处理方法及相关设备
CN116957006A (zh) 预测模型的训练方法、装置、设备、介质及程序产品
CN117011569A (zh) 一种图像处理方法和相关装置
Machado et al. GP-based generative adversarial models
CN118194990B (zh) 一种论文推荐方法、设备及介质
CN112749799B (zh) 基于自适应ReLU的全频域卷积神经网络的硬件加速器、加速方法和图像分类方法

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
GR01 Patent grant