一文了解大模型会话QA增强

概述

在日常对话中,由于我们的大脑记录了对话的历史信息,为了减少冗余的内容,在进行回复时通常会存在指代和省略的情况。因为人脑具有记忆的能力,能够很好地重建对话历史的重要信息,自动补全或者替换对方当前轮的回复,来理解回复的意思。

但是对于大模型的对话,模型并没有人脑这样的能力,在用户进行多轮对话时,用户的简短提问可能会指代上文中的部分信息,如果仅用当次问题去问答,会使对话效果不佳,大模型答非所问,效果较差。另外,在基于私域知识内容的场景下,需要先基于向量检索所需的内容,此时会存在检索不到有效信息导致无法获得有效回答等问题。

QA增强

QA增强即多轮对话增强,它的核心其实在于对指代进行消解和省略补全;根据历史轮和当前轮的对话,从候选会话历史的集合中找到最适合对应指代位置的答案,然后将指代具体化,或者预测指代可能的具体内容以补全省略信息。或者,提升更加精确的语义粒度和句法完整度。

它解决的问题是防止多轮对话情况下,拿来检索的问题不是用户的真实意图,提高对话的回复效果。但缺点是需要大型语言模型(LLM)生成一轮对话,这会影响性能并且需要消耗大量的token。

图片

基于Langchain的多轮对话构建QA增强

图片

以下是一个QA转换后的例子,将指代内容替换之后的输出(基于知识库的检索问答)

Q1:RAG是什么?

Q2:它的步骤有哪些?=====》RAG基本流程有几个步骤?

Q3:它的检索操作怎样的?==》请问RAG中的检索召回环节具体包括哪些操作?

历史会话信息如下:

[HumanMessage(content='什么是RAG'), AIMessage(content='RAG是Retrieval Augmented Generation的缩写,是一种检索增强生成技术。它类似于搜索引擎,但是作为一个中间件技术,检 索到的结果不会直接作为最后的输出,而是将其插入prompt中在喂给大模型,通过提高prompt中上下文的质量来提高模型回复的效果。RAG的主要作用是在大模型之前的部分,即数据检索和信息整合。'),HumanMessage(content='RAG基本流程有几个步骤?'),AIMessage(content='RAG的基本流程包括以下步骤:\n1. 数据准备\n2. 内容检索\n3.  生成\n在数据准备阶段,需要进行数据加载、文本切片、向量化等操作。在内容检索阶段,需要进行向量化、相似度计算、文档召回等操作。在生成阶段,需要进行向量化、生成答案等操作 。'), HumanMessage(content='请问RAG中的检索召回环节具体包括哪些操作?'), AIMessage(content='RAG中的检索召回环节包括以下操作:\n1. 数据读取与预处理\n2. 数据切片环节,包括按Token长度切片、按中文各符号递归分割、Markdown格式切片、HTML格式切片、按不同语言的代码规则切片、表格切片等\n3. 数据语义级预处理环节,包括关键信息抽取和自动生成问题\n4. 向量化环节,包括Embedding Model选型和embedding model微调\n5. 数据入库环节\n6. 内容检索,包括输入向量化、相似度计算和文档召回')

在上面的场景中,我们需要了解RAG的相关知识,在后续对话中的指代和省略的内容需要替换成RAG的相关描述,在检索阶段搜索到有效的信息。

问题的全面性重构QA增强

优点:提供更全面的回答。

缺点:可能影响性能;生成的问题有小概率不准确。

对用户问题生成若干个相似问题或其他角度的问题,确保召回信息的全面性。根据内容总结出最合适的提问方式。

图片

总结

QA增强的目的旨在提高模型的回复效果,从而获得更有效的信息。在实际使用过程中,可以通过使用场景调整prompt,提供一个对话的大背景,以便于模型给出更好的问题重构。同时,使用如Qwen1.5、LLaMA7B这样经过特殊训练、针对语义优化的小模型,可以提高问题重构的效率。

在QA重构后,问答效果会有明显改善,相关指标提升显著。另一方面,有效的召回检索信息使得额外的信息可以顺利地接入,例如,利用用户历史数据可以使模型效果持续提升和优化。

  • 19
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
知识蒸馏是一种知识增强技术,已经受到越来越多的关注。在大语言模型中,知识蒸馏可以通过将一个大模型(教师模型)的知识传授给一个小模型(学生模型)来提高性能。知识蒸馏的关键问题是如何从教师模型中提取丰富的知识,并将这些知识转移到学生模型的训练中。知识蒸馏系统通常由三个主要部分组成:知识、蒸馏算法和师生架构。\[1\]\[2\] 对于大语言模型的知识蒸馏,有许多挑战需要解决。首先是知识的均等性,即如何确保从教师模型中提取的知识能够平衡地传递给学生模型。其次是蒸馏的类型,不同的蒸馏策略可以选择不同的知识传递方式,例如软标签、相似性约束等。此外,师生体系结构的设计也是一个重要的问题,需要考虑如何构建一个有效的师生模型来实现知识的传递。最后,知识蒸馏的理论基础也是一个研究的重点,研究人员正在探索知识蒸馏的原理和机制。\[2\] 关于知识蒸馏的研究和应用已经有很多论文和技术。如果你对知识蒸馏感兴趣,可以查阅《Knowledge Distillation: A Survey》这篇综述论文,或者参考这个GitHub仓库中的分类论文列表,其中包含了一系列经典的知识蒸馏技术。\[3\] #### 引用[.reference_title] - *1* *2* *3* [万字综述 | 一文读懂知识蒸馏](https://blog.csdn.net/u012347027/article/details/111415197)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值