大模型知识幻觉问题
**知识幻觉:**垂直行业知识问答是目前我们所能感知的稍微能贴近LLM落地真实需求的场景,但其所面临的幻觉性问题一直是个无法根治的问题。
当前基于知识库外挂方式来缓解大模型幻觉问题的方案逐步受到大家关注,本质上是基于检索来增强大模型的生成能力。外挂知识库的一个很重要的点就是是否能够提供准确地上下文,通常我们会受限于相似度阈值以及最长上下文地限制,从而影响上下文构造的数据效率。
参考链接:https://mp.weixin.qq.com/s/9Bi0mUuJDWweGq4WwFhsOw
两个需要识别输入上下文中相关信息的任务,即多文档问题回答和键值对检索上的表现。当语言模型必须在长输入上下文中访问相关信息时,其性能会显著下降。
多轮对话中涉及到指代消解、上下文理解等多方面的考核点。
参考链接:https://mp.weixin.qq.com/s/9Bi0mUuJDWweGq4WwFhsOw
缓解大模型进行文档问答出现幻觉的一些方案
基于大模型进行智能问答的工作,其核心在于将用户问题和本地知识进行 Embedding,通过向量相似度(Vector Similarity)实现召回,通过 LLM根据召回的内容回答问题。
1、引入关键词和领域embedding模型的组合搜索
如ChatLaw=ChatLawLLM+ keywordLLM+lawsLLM,属于一种集成式的方案。
来源链接:https://zhuanlan.zhihu.com/p/641561673
首先,为了缓解单纯使用向量检索出现结果不相关的问题,Keyword LLM用于将用户口语化的诉求转化为法律行业关键词,并用于检索知识库中的法律知识。这个实际上是通过提取关联词的方案来加入一些限定的文档主题信息,而关于关键词提取,我们在前面介绍过TFIDF,TextRank传统方案,以及Keybert等有监督方案,这些都可以尝试。作者使用LLM进行关键词提取的,该类目前工作较少。
其次,由于领域语料的问题,通用的embedding可能效果交差,所以搞了一个专门的embedding模型,LawsLLM,其底层采用BERT对一些法律数据如文书,法规等进行训练,采用的是9.37k个国家判例法示例的数据集。
提取的过程为:遍历每个关键词,取关键词embddding和用户输入embedding做拼接【并设定阈值alpha做加权】,再与知识库的每个文章做相似度计算,每个文章的得分为与所有关键词+用户输入拼接向量相似度之和【这个的逻辑是能够照顾到所有的关键主题信息】,然后按照从大到小顺序进行排列,最终取TopK作为上下文。
2、细化文档标签的检索相关性提升
当文档数很多时,相关性计算上会收到很大挑战。因此,可以采用的方案是细化文档标签,以提升搜索相关性。例如,对文本进行分类,对于金融领域文本,根据板块进行分类,分成金融、法律、医疗等,也可以进一步细分为金融财务、金融审查、金融数据等多个标签,这样能够更好地缩小检索的问题域。
参考链接:https://mp.weixin.qq.com/s/-8yPjBpcPitZFyB95Zi2hQ