CN117609444A - 一种基于大模型的搜索问答方法 - Google Patents
一种基于大模型的搜索问答方法 Download PDFInfo
- Publication number
- CN117609444A CN117609444A CN202311473359.6A CN202311473359A CN117609444A CN 117609444 A CN117609444 A CN 117609444A CN 202311473359 A CN202311473359 A CN 202311473359A CN 117609444 A CN117609444 A CN 117609444A
- Authority
- CN
- China
- Prior art keywords
- model
- text
- large model
- training
- knowledge information
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012549 training Methods 0.000 claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 16
- 101100481876 Danio rerio pbk gene Proteins 0.000 claims abstract description 11
- 101100481878 Mus musculus Pbk gene Proteins 0.000 claims abstract description 11
- 230000002787 reinforcement Effects 0.000 claims description 19
- 238000013139 quantization Methods 0.000 claims description 12
- 230000011218 segmentation Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000004140 cleaning Methods 0.000 claims description 6
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 claims description 5
- 238000013138 pruning Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 239000012634 fragment Substances 0.000 claims description 3
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 241000590419 Polygonia interrogationis Species 0.000 claims description 2
- 238000003058 natural language processing Methods 0.000 abstract description 3
- 230000008859 change Effects 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 208000031361 Hiccup Diseases 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于大模型的搜索问答方法,涉及自然语言处理技术领域。方法包括步骤:获取知识信息;根据知识信息制作指令微调数据集,通过指令微调数据集对大模型进行微调训练,提高问答模型的精度和准确性;将知识信息入库,并根据知识信息对大模型进行训练;将用户输入问题处理为第一prompt文本;对第一prompt文本进行LangChain检索得到相似度;若相似度大于第一相似度阈值,则获取答案,提高问复速度;若相似度小于第一相似度阈值,则根据坐席困惑摘要、Topk知识信息和预设大模型prompt模板生成第三prompt文本,将第三prompt文本输入大模型得到答案,提高搜索问答的准确率和效率。
Description
技术领域
本发明涉及自然语言处理技术领域,具体是一种基于大模型的搜索问答方法。
背景技术
在电信领域的客服服务系统中,由于用户需求的增长和服务压力的增加,传统的人工坐席无法满足用户的实时响应和质量要求。因此,引入线上电子客服辅助功能已成为一个常见的解决方案。然而,这些辅助功能仍然面临一些挑战,例如应答速度不够快、质量不够高等问题。
因此,如何基于LLM(Large Language Model,语言大模型)技术构建一个电信领域下智慧客服模型,提高客服服务模型的服务质量和应答速度,是目前亟待解决的问题。
发明内容
为解决现有技术特殊问题,本发明采用以下技术方案:
一种基于大模型的搜索问答方法,包括步骤:
S1、获取知识信息;
S2、根据知识信息制作指令微调数据集,通过指令微调数据集对大模型进行微调训练;
S3、通过LangChain将知识信息入库,并根据知识信息对大模型进行Embedding训练;
S4、接收用户输入问题,将用户输入问题处理为第一prompt文本;
S5、对第一prompt文本进行LangChain检索得到相似度;若相似度大于第一相似度阈值,则获取答案,结束流程;若相似度小于第一相似度阈值,则进入步骤S6;
S6、根据第一prompt文本和历史信息文本获取坐席困惑摘要,根据第一prompt文本和坐席困惑摘要获取LangChain中的Topk知识信息,根据所述坐席困惑摘要、Topk知识信息和预设大模型prompt模板生成第三prompt文本,将第三prompt文本输入大模型得到答案。
作为本申请优选方案,所述步骤S1还包括:对知识信息进行数据清洗;所述数据清洗包括删除异常数据;所述异常数据包括带有网址的条目和短文本,以及带有特殊符号、电话号码或时间戳的内容。
作为本申请优选方案,所述根据第一prompt文本和历史信息文本获取坐席困惑摘要,具体为:
获取坐席与用户通话的历史信息文本,根据历史信息文本和第一prompt文本生成第二prompt文本,将第二prompt文本输入大模型获取坐席困惑摘要。
作为本申请优选方案,所述步骤S2,具体包括步骤:
设计样本prompt,将所述知识信息通过样本prompt输入指令语言模型得到指令微调数据集;
根据所述指令微调数据集和模型微调方法对大模型进行微调训练;所述模型微调方法为Freeze方法、P-Tuning方法或Lora方法。
作为本申请优选方案,所述步骤S3包括步骤:
S31、通过预设规则对知识信息进行分段得到语块段落;
S32、获取相似问数据库的数据,使用实体关系抽取模型将所述语块段落和相似问数据库的数据处理为训练数据集,使用训练数据集对大模型进行Embedding训练;所述训练数据集包括相似数据集和非相似数据集。
作为本申请优选方案,所述步骤S31,具体为:
通过知识信息的文本子标题进行分段得到若干段落;
判断每个段落的段落长度;如果段落长度大于分段阈值,则将句号、问号和叹号作为切分点选取不大于分段阈值个字的片段作为一个语块段落。
作为本申请优选方案,所述步骤S4,具体包括步骤:
计算用户输入问题的长度,通过分类器获取用户输入问题的业务类型;
若所述长度小于第一长度阈值,则匹配所述业务类型的高频问题模板,根据高频问题模板对用户输入问题进行补充作为第一prompt文本;
若所述长度大于第一长度阈值,则根据业务类型获取业务实体类型,根据用户输入问题、业务类型和业务实体类型生成第一prompt文本。
作为本申请优选方案,还包括步骤:
S7、根据用户满意度对大模型进行反馈强化训练;
所述步骤S7,具体包括步骤:
S71、通过监督学习训练大模型;
S72、对大模型的输出答案进行人工标注,并设计奖励模型;
S73、大模型根据奖励模型和PPO算法进行强化训练。
作为本申请优选方案,所述对大模型进行反馈强化训练,具体为使用Deepspeed-MII库对大模型进行反馈强化训练。
作为本申请优选方案,所述使用Deepspeed-MII库对大模型进行反馈强化训练,包括:
使用8位或4位的量化方式进行大模型量化;
使用张量并行技术加速大模型在多GPU上的推理;
通过网络剪枝去除不重要的模型权重或连接,以减小模型大小且保持模型容量;
通过批量处理一次性加载大模型的模型参数,使用模型参数处理多个输入序列;
通过全分片数据并行分布式策略使用多个GPU设备执行推理。
与现有技术相比,本发明具有如下有益效果:
本申请通过获取电信知识库的知识信息和制作指令微调数据集,对大模型进行微调训练,可以提高问答模型的精度和准确性;使用LangChain将知识信息入库,并对大模型进行Embedding训练,可以有效地将知识信息与模型关联,提高模型的理解能和知识检索能力。
本申请通过LangChain检索用户输入问题计算相似度,如果相似度高于阈值,可以直接获取答案,提高问复速度;若相似度低于阈值,则利用第一prompt文本和历史信息文本获取坐席困惑摘要,然后根据坐席困惑摘要和Topk知识信息第三prompt文本,并将其输入到大模型中获取最终答案,提高搜索问答的准确率和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的基于大模型的搜索问答方法的流程示意图。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
请参阅图1,本发明提供了一种基于大模型的搜索问答方法,包括步骤:
S1、获取知识信息并进行数据清洗。所述数据清洗包括删除异常数据,异常数据包括:带有网址的条目和短文本,以及带有特殊符号、电话号码或时间戳的内容等。
其中,所述知识信息通过知识库获取。知识库具体为电信知识库,是一个包含与电信领域相关的信息、术语、概念、规范和技术、解决方案等内容的数据库。
S2:根据知识信息制作指令微调数据集,通过指令微调数据集对大模型进行微调训练。
步骤S2具体包括:
S21、设计样本prompt,将知识信息通过样本prompt输入指令语言模型得到指令微调数据集;在一实施例中,所述指令语言模型为现有的模型。
所述样本prompt是一种结构化的模板或模板集合,包括固定的文本或定义的语句,同时还可以包含某些占位符或变量,用于将知识信息填充为符合指令语言模型要求的输入文本。所述指令语言模型根据输入文本生成指令数据。在步骤S21中,所述将知识信息通过模板框架输入指令语言模型,具体为遍历所有步骤S1获取的知识库中的知识信息并将其通过模板框架输入指令语言模型,从而得到若干指令模型,所述指令微调数据集为整合所述若干指令数据得到的数据集。
例如,在一具体应用场景中,样本prompt可以表示为:
“{知识信息}---------基于上面的知识信息,构造坐席与用户的对话,输出结果格式为:指令:xxx,输入:xxx,输出:xxx”
例如,知识信息为:“天翼手机改信用额度受理操作指引;操作指引:通过销售服务门户查询定位需要修改的号码,选择后点击变更。选择服务规格属性变更,点击改信用额度进入受理界面。根据需要调整额度的范围修改用户的信用等级并修改透支额度。信用等级修改额度范围1A0-2002A200-5003A500-10004A1000-30005A3000-99999;修改好信控额度的参数后,点击提交完成受理。发通知时间:2022-03-28”。
基于前述内容,指令语言模型的输入文本为:“{天翼手机改信用额度受理操作指引;操作指引:通过销售服务门户查询定位需要修改的号码,选择后点击变更。选择服务规格属性变更,点击改信用额度进入受理界面。根据需要调整额度的范围修改用户的信用等级并修改透支额度。信用等级修改额度范围1A0-2002A200-5003A500-10004A1000-30005A3000-99999;修改好信控额度的参数后,点击提交完成受理。发通知时间:2022-03-28}------------基于上面的知识信息,构造坐席与用户的对话,输出结果格式为:指令:xxx,输入:xxx,输出:xxx”。
基于前述内容,根据输入文本,指令语言模型处理得到的指令数据为:
“指令:操作指引
输入:我的天翼手机需要修改信用额度怎么办?
输出:通过销售服务门户查询定位需要修改的号码,选择后点击变更。选择服务规格属性变更,点击改信用额度进入受理界面。根据需要调整额度的范围修改用户的信用等级并修改透支额度。”。
S22、根据指令微调数据集和模型微调方法,对大模型进行微调训练。在一实施例中,大模型为ChatGLM。ChatGLM是一个基于LLM的开源大规模中文语言模型,由清华大学NLP实验室在2022年提出,支持中英文语言的对话生成。
进一步地,所述模型微调方法为Freeze方法、P-Tuning方法或Lora方法。
其中,Freeze方法是一种基于参数冻结的方法,它可以选择性地对大模型中的部分参数进行冻结操作,使其在训练过程中保持不变,从而仅训练另一部分参数。Freeze方法具备较高的训练效率,可以在资源有限的情况下,例如在仅使用一张显卡或者不进行TP(Tensor Parallel)或PP(Pipeline Parallel)操作的情况下,对大型模型进行训练。进一步地,本申请在Freeze方法的执行过程中使用DeepSpeed优化库来进行训练的代码处理,以加速训练速度,减少显存消耗。
PT方法包括P-Tuning和P-Tuning-V2。其中,P-Tuning是一种基于预训练语言模型的参数微调方法,针对特定任务进行语言模型的微调,以提高模型在该任务上的性能。在本申请中,相比于直接训练一个新的模型,P-Tuning方法只微调大模型的部分参数,从而能在较小的数据集上获得比较好的效果。P-Tuning仅在大模型的Embedding序列中加入新的参数。然而,在P-Tuning中,Embedding序列长度存在限制,导致可调参数的数量有限,并且Embedding序列对模型预测只有相对间接的影响。因此,本申请可选择使用P-Tuning或P-Tuning-V2。与P-Tuning的区别在于,P-Tuning-V2将大模型的每一层前都加上新的参数。相较于P-Tuning,P-Tuning-V2拥有更多可学习的参数,同时能将指令微调数据集加入到更深层结构中,给模型预测带来更直接的影响。
Lora方法,即在大模型上对指定参数增加额外的低秩矩阵,并在模型训练过程中,仅训练新增的参数。当“秩值”远小于原始参数维度时,新增的低秩矩阵参数量很小,达到仅训练很小的参数,就能获取较好的结果。经多轮实验测试,本申请在实施过程中更倾向于选择训练效果更优的Lora方法作为模型微调方法。
S3:通过LangChain将知识信息入库,并根据知识信息对大模型进行Embedding训练。
具体的,步骤S3包括步骤:
S31、通过预设规则对知识信息进行分段得到语块段落;
具体的,步骤S31为:获取每个知识信息,通过知识信息的文本子标题,进行第一次分段得到若干段落;然后,判断每个段落的段落长度;如果段落长度大于分段阈值,则根据句号、问号、叹号等标点符号作为切分点选取不大于分段阈值个字的片段作为一个语块段落。在一实施例中,分段阈值为250。
S32、获取相似问数据库的数据,使用实体关系抽取模型将所述语块段落和相似问数据库的数据处理为训练数据集,使用训练数据集对大模型进行Embedding训练。在一实施例中,实体关系抽取模型为ERNIRE3模型。
其中,相似问数据库是指在搜索问答系统中,存储了与用户问题相似或相关的已有问题的数据库。该数据库包含了大量高频问题的样本数据,可以用来进行问题相似度匹配和搜索答案。相似问数据库的作用是通过比对用户输入问题与已有问题的相似度,从数据库中找到与用户问题相关的问题,并返回相应的答案。相似问数据库的建立可以通过模型训练和数据整理等手段来实现。
所述训练数据集包括相似数据集和非相似数据集。相似数据集包含一些在语义上相似的数据样本,例如包含相同或类似意思的句子或段落,样本具有相对较高的语义相似度。非相似数据集则包含语意上不相似的样本,其包含的句子或段落的语义相似度较低,这有助于训练目标模型更好地识别不同语句之间的差异,并提高其在不同语义场景下的性能。通过将相似数据集和非相似数据集组合在一起,就可以更全面地训练目标模型的语义识别能力,提高其适用性和效果。
S4、接收用户输入问题,将用户输入问题处理为第一prompt文本;
步骤S4具体包括:
计算用户输入问题的长度,通过分类器获取用户输入问题的业务类型;
若长度小于第一长度阈值,则匹配所述业务类型的高频问题模板,根据高频问题模板对用户输入问题进行补充作为第一prompt文本;例如,用户输入问题为“查套餐”,根据匹配到的高频问题模板生成第一prompt文本“帮我查询我的手机的套餐内容”。
若长度大于第一长度阈值,则根据业务类型获取业务实体类型,根据用户输入问题、业务类型和业务实体类型生成第一prompt文本。
S5、对第一prompt文本进行LangChain检索得到相似度。若相似度大于第一相似度阈值,则获取答案,结束流程;若相似度小于第一相似度阈值,则进入步骤S6。
其中,所述LangChain检索通过Faiss相似度检索实现。Faiss是一种高性能的相似度搜索库,可以快速在大规模文本数据中进行相似度搜索。
进一步地,Faiss库存储LangChainEmbedding向量,使用Faiss库对第一prompt文本进行相似度检索,可以查找LangChainEmbedding向量中的预设问答模板,预设问答模板包括用户提问的几千条高频问题。通过查找Faiss库中与用户提问相似的预设问答模板,若Faiss相似度高于第二相似度阈值,则从中获取对应的答案,并将其作为回答返回给用户。
S6、根据第一prompt文本和历史信息文本获取坐席困惑摘要,根据第一prompt文本和坐席困惑摘要获取LangChain中的Topk知识信息,根据所述坐席困惑摘要、Topk知识信息和预设大模型prompt模板生成第三prompt文本,将第三prompt文本输入大模型得到答案。
步骤S6具体包括:
S61、获取坐席与用户通话的历史信息文本,根据历史信息文本和第一prompt文本生成第二prompt文本,将第二prompt文本输入大模型获取坐席困惑摘要。
例如,第二prompt文本可以表示为:
“指令:现在你需要将坐席与用户通话的历史信息文本进行摘要;
背景信息:{客户属性};
输入数据:{坐席与用户通话的历史信息文本};
输出引导:请提供一段100字以内精准描述坐席与用户沟通可能的困惑摘要”。
其中,客户属性可以包括第一prompt文本、客户性别、地址、已经订阅的套餐、过往该客户的工单,以及客户在后台数据库记录的相关资料。
坐席与用户通话的历史信息文本,根据坐席与用户的实际通话语音生成。例如,根据实际通话语音生成得到的历史信息文本为:“呃,您好,道明一下,总是出现这种情况,点了我们的相关号码,餐费列表里,从来总是出现情况,不知道为什么,付款记录里面,钱款显示的是欠费状态,白名单里面的软件不知道是不是有什么软件,拿不到相关的扣费情况,也拿不到相关的记录,不知道怎么办,休复不了好像。
呃您好,我们这边帮你核实一下,具体的情况目前我需要后台核实,请稍候。”。
从上述文本,可以得到坐席与用户沟通可能的困惑摘要是“欠费困惑”。
S62、根据第一prompt文本和坐席困惑摘要获取LangChain中的Topk知识信息。其中,获取LangChain中相关的Topk知识信息,指在LangChain中进行搜索和筛选,找出与坐席困惑摘要和第一prompt文本相关性最高的前k条知识信息。
S63、根据所述坐席困惑摘要、Topk知识信息和预设大模型prompt模板生成第三prompt文本,将第三prompt文本输入大模型得到答案。
S7、根据用户满意度对大模型进行反馈强化训练。
根据用户反馈的用户满意度,设计评估指标,并进行RLHF(ReinforcementLearning from Human Feedback)反馈强化训练。
具体的,步骤S7包括:
S71、通过监督学习训练大模型:大模型使用监督学习进行训练,人类训练者提供正确行为的标记示例,具体是基于步骤s2的方法,获取微调后得到的大模型,从而使模型学习到电信领域知识,能够根据给定的输入预测正确的输出。
S72、对大模型的输出答案进行人工标注,并设计奖励模型:在初始模型被训练之后,通过微调出来的大模型的每个prompt生成4-9个答案。人工对答案进行标注,为模型的表现提供反馈。根据质量或正确性排名每个prompt生成响应。这些反馈被用来创建强化学习的奖励信号,从而得到排名构建的数据集。
基于所述排名构建的数据集,设计奖励模型,其输出为奖励信号。这个奖励模型通常源自之前的监督式微调步骤创建的LLM。为了将RLHF第1步的模型变成奖励模型,本实施例将其输出层(下一token分类层)替换成一个回归层,其具有单个输出节点。
S73、根据奖励模型和PPO算法进行强化训练:使用PPO(Proximal PolicyOptimization)算法对模型进行微调,并将奖励模型输出的奖励信号纳入其中。模型通过从人类训练者提供的反馈训练,不断提高其性能。
基于以上内容,电信大模型上线后,基于RLHF(Reinforcement Learning fromHuman Feedback)反馈强化训练,能力将不断大幅度提升。
作为优选实施例,所述对大模型进行反馈强化训练,具体为使用Deepspeed-MII库对大模型进行反馈强化训练。需要说明,DeepSpeed是微软推出的大规模模型分布式训练的工具,其基于ZeRO并行训练算法。而Deepspeed-MII库是DeepSpeed的一个开源Python库,旨在使模型不仅低延迟和低成本推理,而且还易于访问。
进一步地,所述使用Deepspeed-MII库对大模型进行反馈强化训练,包括:
使用8位或4位的量化方式进行大模型量化:使用8位或4位的模型量化方式可以将内存消耗减少2倍或3倍。位数越多,精度越高,从而降低了计算过程中错误累积的几率。将精度降低到8位,可以加快模型的训练和运行速度。这样做有以下几个好处:减少显存占用:32位精度所需的GPU显存是16位精度的两倍,而降低精度则能够更有效地利用GPU显存资源。提高计算能力和计算速度:由于低精度张量(lower precision tensors)的操作所需的显存更少,因此GPU能够更快地进行计算处理,从而提高模型的训练速度。
使用张量并行技术(tensor parallelism)加速大模型在多GPU上的推理。推理时进一步提高模型性能,在使用较低的浮点精度之外,使用量化技术。量化技术将模型权重从浮点数转换为低位整数表示,例如8位整数(甚至是4位整数)。本发明使用量化感知训练技术(QAT):在预训练或进一步微调时应用量化。QAT的性能可能更好,但同时也需要更多的计算资源和具有代表性的训练数据。加快现有模型的推理速度,使用训练后量化技术(Post-Training Quantization)。
通过网络剪枝去除不重要的模型权重或连接,以减小模型大小且保持模型容量。LLM-Prune能够根据梯度信息(gradient information)选择性地移除非关键的耦合结构(non-critical coupled structures),采用的是结构剪枝(structural pruning),最大程度地保留了大型语言模型的功能。压缩后的模型在零样本分类和生成(zero-shotclassification and generation)方面表现良好。
通过批量处理一次性加载大模型的模型参数,使用模型参数处理多个输入序列。这种优化策略高效利用了芯片的显存带宽,从而提高了算力利用率,改善了吞吐量,并使LLM推理更加经济高效。通过采用批处理技术,可以显著提升LLM的整体性能。
通过全分片数据并行分布式策略使用多个GPU设备执行推理。使用多个GPU设备可以通过将模型分片到多个设备上运行,使得那些无法在单张显卡上运行的模型变得能够运行。
本申请结合电信知识库以及坐席的历史信息文本,经过数据清洗,模型微调、LangChainEmbedding进行坐席困惑摘要获取,并注入大模型进行prompt问答,提高了问答的准确率。
在本申请所提供的几个实施例中,应该理解到,所揭露的模型,可以通过其它的方式实现。例如,以上所描述的单元实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个单元,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种基于大模型的搜索问答方法,其特征在于:包括步骤:
S1、获取知识信息;
S2、根据知识信息制作指令微调数据集,通过指令微调数据集对大模型进行微调训练;
S3、通过LangChain将知识信息入库,并根据知识信息对大模型进行Embedding训练;
S4、接收用户输入问题,将用户输入问题处理为第一prompt文本;
S5、对第一prompt文本进行LangChain检索得到相似度;若相似度大于第一相似度阈值,则获取答案,结束流程;若相似度小于第一相似度阈值,则进入步骤S6;
S6、根据第一prompt文本和历史信息文本获取坐席困惑摘要,根据第一prompt文本和坐席困惑摘要获取LangChain中的Topk知识信息,根据所述坐席困惑摘要、Topk知识信息和预设大模型prompt模板生成第三prompt文本,将第三prompt文本输入大模型得到答案。
2.根据权利要求1所述的基于大模型的搜索问答方法,其特征在于:所述步骤S1还包括:对知识信息进行数据清洗;所述数据清洗包括删除异常数据;所述异常数据包括带有网址的条目和短文本,以及带有特殊符号、电话号码或时间戳的内容。
3.根据权利要求1所述的基于大模型的搜索问答方法,其特征在于:所述根据第一prompt文本和历史信息文本获取坐席困惑摘要,具体为:
获取坐席与用户通话的历史信息文本,根据历史信息文本和第一prompt文本生成第二prompt文本,将第二prompt文本输入大模型获取坐席困惑摘要。
4.根据权利要求1所述的基于大模型的搜索问答方法,其特征在于:所述步骤S2,具体包括步骤:
设计样本prompt,将所述知识信息通过样本prompt输入指令语言模型得到指令微调数据集;
根据所述指令微调数据集和模型微调方法对大模型进行微调训练;所述模型微调方法为Freeze方法、P-Tuning方法或Lora方法。
5.根据权利要求1所述的基于大模型的搜索问答方法,其特征在于:所述步骤S3包括步骤:
S31、通过预设规则对知识信息进行分段得到语块段落;
S32、获取相似问数据库的数据,使用实体关系抽取模型将所述语块段落和相似问数据库的数据处理为训练数据集,使用训练数据集对大模型进行Embedding训练;所述训练数据集包括相似数据集和非相似数据集。
6.根据权利要求5所述的基于大模型的搜索问答方法,其特征在于:所述步骤S31,具体为:
通过知识信息的文本子标题进行分段得到若干段落;
判断每个段落的段落长度;如果段落长度大于分段阈值,则将句号、问号和叹号作为切分点选取不大于分段阈值个字的片段作为一个语块段落。
7.根据权利要求1所述的基于大模型的搜索问答方法,其特征在于:所述步骤S4,具体包括步骤:
计算用户输入问题的长度,通过分类器获取用户输入问题的业务类型;
若所述长度小于第一长度阈值,则匹配所述业务类型的高频问题模板,根据高频问题模板对用户输入问题进行补充作为第一prompt文本;
若所述长度大于第一长度阈值,则根据业务类型获取业务实体类型,根据用户输入问题、业务类型和业务实体类型生成第一prompt文本。
8.根据权利要求1所述的基于大模型的搜索问答方法,其特征在于:还包括步骤:
S7、根据用户满意度对大模型进行反馈强化训练;
所述步骤S7,具体包括步骤:
S71、通过监督学习训练大模型;
S72、对大模型的输出答案进行人工标注,并设计奖励模型;
S73、大模型根据奖励模型和PPO算法进行强化训练。
9.根据权利要求8所述的基于大模型的搜索问答方法,其特征在于:所述对大模型进行反馈强化训练,具体为使用Deepspeed-MII库对大模型进行反馈强化训练。
10.根据权利要求9所述的基于大模型的搜索问答方法,其特征在于:所述使用Deepspeed-MII库对大模型进行反馈强化训练,包括:
使用8位或4位的量化方式进行大模型量化;
使用张量并行技术加速大模型在多GPU上的推理;
通过网络剪枝去除不重要的模型权重或连接,以减小模型大小且保持模型容量;
通过批量处理一次性加载大模型的模型参数,使用模型参数处理多个输入序列;
通过全分片数据并行分布式策略使用多个GPU设备执行推理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311473359.6A CN117609444A (zh) | 2023-11-08 | 2023-11-08 | 一种基于大模型的搜索问答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311473359.6A CN117609444A (zh) | 2023-11-08 | 2023-11-08 | 一种基于大模型的搜索问答方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117609444A true CN117609444A (zh) | 2024-02-27 |
Family
ID=89958731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311473359.6A Pending CN117609444A (zh) | 2023-11-08 | 2023-11-08 | 一种基于大模型的搜索问答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117609444A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051374A (zh) * | 2021-06-02 | 2021-06-29 | 北京沃丰时代数据科技有限公司 | 一种文本匹配优化方法及装置 |
CN116166782A (zh) * | 2023-02-07 | 2023-05-26 | 山东浪潮科学研究院有限公司 | 一种基于深度学习的智能问答方法 |
CN116402164A (zh) * | 2023-06-06 | 2023-07-07 | 之江实验室 | 基于预训练语言模型的机器人任务生成方法、装置及介质 |
CN116561278A (zh) * | 2023-05-05 | 2023-08-08 | 科大讯飞股份有限公司 | 知识问答方法、装置、设备及存储介质 |
CN116719917A (zh) * | 2023-05-25 | 2023-09-08 | 北京中科凡语科技有限公司 | 一种大模型与外部知识相结合的知识问答系统、方法及储存介质 |
CN116821291A (zh) * | 2023-06-16 | 2023-09-29 | 成都航天科工大数据研究院有限公司 | 基于知识图谱嵌入与语言模型交替学习的问答方法及系统 |
CN116860938A (zh) * | 2023-07-07 | 2023-10-10 | 广州探迹科技有限公司 | 一种基于大语言模型的语音问答构建方法、装置及介质 |
CN116882372A (zh) * | 2023-07-17 | 2023-10-13 | 百度时代网络技术(北京)有限公司 | 文本生成方法、装置、电子设备以及存储介质 |
WO2023197613A1 (zh) * | 2022-04-15 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种小样本微调方法、系统及相关装置 |
CN116955569A (zh) * | 2023-08-10 | 2023-10-27 | 北京百度网讯科技有限公司 | 对话生成方法、装置、设备及存储介质 |
CN116992005A (zh) * | 2023-09-25 | 2023-11-03 | 语仓科技(北京)有限公司 | 基于大模型及本地知识库的智能对话方法、系统及设备 |
CN117009490A (zh) * | 2023-08-31 | 2023-11-07 | 之江实验室 | 基于知识库反馈的生成式大语言模型的训练方法和装置 |
-
2023
- 2023-11-08 CN CN202311473359.6A patent/CN117609444A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113051374A (zh) * | 2021-06-02 | 2021-06-29 | 北京沃丰时代数据科技有限公司 | 一种文本匹配优化方法及装置 |
WO2023197613A1 (zh) * | 2022-04-15 | 2023-10-19 | 苏州浪潮智能科技有限公司 | 一种小样本微调方法、系统及相关装置 |
CN116166782A (zh) * | 2023-02-07 | 2023-05-26 | 山东浪潮科学研究院有限公司 | 一种基于深度学习的智能问答方法 |
CN116561278A (zh) * | 2023-05-05 | 2023-08-08 | 科大讯飞股份有限公司 | 知识问答方法、装置、设备及存储介质 |
CN116719917A (zh) * | 2023-05-25 | 2023-09-08 | 北京中科凡语科技有限公司 | 一种大模型与外部知识相结合的知识问答系统、方法及储存介质 |
CN116402164A (zh) * | 2023-06-06 | 2023-07-07 | 之江实验室 | 基于预训练语言模型的机器人任务生成方法、装置及介质 |
CN116821291A (zh) * | 2023-06-16 | 2023-09-29 | 成都航天科工大数据研究院有限公司 | 基于知识图谱嵌入与语言模型交替学习的问答方法及系统 |
CN116860938A (zh) * | 2023-07-07 | 2023-10-10 | 广州探迹科技有限公司 | 一种基于大语言模型的语音问答构建方法、装置及介质 |
CN116882372A (zh) * | 2023-07-17 | 2023-10-13 | 百度时代网络技术(北京)有限公司 | 文本生成方法、装置、电子设备以及存储介质 |
CN116955569A (zh) * | 2023-08-10 | 2023-10-27 | 北京百度网讯科技有限公司 | 对话生成方法、装置、设备及存储介质 |
CN117009490A (zh) * | 2023-08-31 | 2023-11-07 | 之江实验室 | 基于知识库反馈的生成式大语言模型的训练方法和装置 |
CN116992005A (zh) * | 2023-09-25 | 2023-11-03 | 语仓科技(北京)有限公司 | 基于大模型及本地知识库的智能对话方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11120801B2 (en) | Generating dialogue responses utilizing an independent context-dependent additive recurrent neural network | |
CN110263150B (zh) | 文本生成方法、装置、计算机设备及存储介质 | |
US11688391B2 (en) | Mandarin and dialect mixed modeling and speech recognition | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
CN111241851A (zh) | 语义相似度确定方法、装置及处理设备 | |
US20200334410A1 (en) | Encoding textual information for text analysis | |
CN110738059B (zh) | 一种文本相似度计算方法及系统 | |
CN111767394A (zh) | 一种基于人工智能专家系统的摘要提取方法及装置 | |
CN116166782A (zh) | 一种基于深度学习的智能问答方法 | |
CN111695338A (zh) | 基于人工智能的面试内容精炼方法、装置、设备及介质 | |
CN112101042A (zh) | 文本情绪识别方法、装置、终端设备和存储介质 | |
CN115062718A (zh) | 语言模型训练方法、装置、电子设备及存储介质 | |
CN111368066B (zh) | 获取对话摘要的方法、装置和计算机可读存储介质 | |
CN117520523B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN117574907A (zh) | 任务执行方法及装置 | |
US20230206007A1 (en) | Method for mining conversation content and method for generating conversation content evaluation model | |
CN117131155A (zh) | 多类目识别方法、装置、电子设备及储存介质 | |
US20230070966A1 (en) | Method for processing question, electronic device and storage medium | |
CN116089601A (zh) | 对话摘要生成方法、装置、设备及介质 | |
CN115203206A (zh) | 数据内容搜索方法、装置、计算机设备及可读存储介质 | |
CN116150306A (zh) | 问答机器人的训练方法、问答方法及装置 | |
CN117609444A (zh) | 一种基于大模型的搜索问答方法 | |
CN112446206A (zh) | 一种菜谱标题的生成方法及装置 | |
CN117633165B (zh) | 一种智能ai客服对话引导方法 | |
CN117708308B (zh) | 一种基于rag自然语言智能知识库管理的方法和系统 |
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 |