大语言模型的知识冲突:成因、根源与展望

创建时间:2024-09-29 16:52

源自:中国人工智能学会通讯
作者:李兴明,胡庆拥

摘 要
大语言模型在实际应用场景中经常面临知识冲突的问题,主要包括上下文 - 记忆知识冲突、多源上下文知识冲突和记忆内知识冲突。本文首先从训练数据的局限性、模型问题,以及外部信息缺陷三个方面深入分析知识冲突的成因;随后进一步探讨了知识冲突造成的影响,并全面回顾了知识冲突的解决方案,如领域事实增强、提示工程和模型结构层面的改进。最后对知识冲突领域未来研究方向进行了展望,包括建立可靠的评估框架、基于大模型的智能体研究,以及多模态背景下的知识冲突处理。

关键词
人工智能;大语言模型;知识冲突;智能体;多模态

引言

近年来,随着深度学习、Transformer架构等关键技术的突破,预训练大语言模型(large languagemodel,LLM)实现了飞跃式发展,成为人工智能领域最炙手可热的研究方向之一。自2022年底ChatGPT系统面世以来,业界掀起了“大模型”研究热潮,全球研究机构与科技巨头纷纷布局,在大模型领域投入大量研发资源和力量。

大语言模型通过预训练的方式,在海量非结构化数据上学习获取通用知识和语义表征能力,可广泛应用于自然语言理解、生成、推理、问答等诸多任务,被视为实现通用人工智能的关键基石;大语言模型卓越的泛化能力和强大的知识迁移特性,使其在智能对话、文本摘要、代码生成、决策推理等多个应用场景展现出巨大潜力,有望推动通用人工智能的发展。

然而,随着大模型规模和复杂性的不断扩张,其内在存在的知识质量缺陷问题也日益凸显,主要表现为三个方面。

(1)数据不平衡、噪声较多导致模型吸收了大量低质量、不一致的知识;

(2)纯序列建模难以很好地刻画现实世界中的结构化知识,因为大模型倾向于编码训练数据中普遍存在的浅层模式,而非真正理解其中蕴含的底层知识;

(3)缺乏高效知识概念学习和推理机制。

上述问题最终会导致模型内知识与客观事实存在明显的语义冲突和矛盾,从而产生“知识冲突”的问题,影响大模型输出的可信性,进而限制了其在实际应用中的广泛落地。

1大语言模型的知识冲突

1.1 参数化知识概

“参数化知识”是指大语言模型在大规模无标注的文本语料数据库上经过自监督预训练得到的、存储于其权重(参数)中的知识,代表模型对数据的理解和泛化能力。这种知识包括但不限于语言学知识、常识、算术知识和世界知识等。

不同于传统模型依赖于显式编码的知识库,参数化知识的特点在于其隐含性及动态性。这意味着知识不是以明显的形式存在,而是通过模型参数的复杂交互而隐式地表现出来。大语言模型能够利用这些内化的知识,理解复杂的查询,生成信息丰富的回答,或者完成特定的文本任务。

参数化知识的一个关键优势,是它使得模型具备了一定程度上的泛化能力。也就是说,即便是模型在训练数据中未直接接触过的信息或任务,只要这些新的查询与模型通过预训练内化的知识在某种程度上相关,模型仍有可能给出合理的输出。这种能力归功于大语言模型在训练过程中,学习到的深层语言结构和丰富的世界知识;换言之,这种参数知识是大模型强大能力的基础和源泉。

尽管参数化知识为大语言模型提供了强大的预测能力和灵活性,但其仍存在以下几点局限性。

(1)知识不足或信息缺失。尽管模型的预训练语料库包含了丰富的信息,但不可能全面覆盖所有领域的全部事实。如果特定的事实知识在训练数据中未出现或出现频次极低,模型可能缺乏相应的知识,导致在需要这些特定信息时生成错误或无关的答案。此外,模型难以保留训练语料库中的所有知识,尤其是对于不常见的信息。

(2)参数无法动态更新。随着时间的推移和科技的发展,许多知识在不断发生变化。例如,问题“美国总统是谁?”在2019年的答案可能是“唐纳德·特朗普”,而现在的答案是“乔·拜登”。在实际使用过程中,需要不断更新模型中的过时和错误知识。与传统数据库或知识图谱不同,语言模型的知识存储方式是分布式的,蕴含于整个网络结构的参数中,这使得精确定位并更新模型中对应的旧知识成为一项挑战。

(3)预训练和微调成本高。随着参数数量的增加,训练和推理的计算成本也相应增加。这不仅需要更多的计算资源,还可能限制模型在资源受限的环境中的应用。

1.2 什么是知识冲突

在实际应用中,大语言模型除了依赖其内部参数化的知识外,还会持续接触到外部的情境知识。这包括用户输入的提示、互动对话,以及通过工具或检索增强提供外部信息作为大语言模型的新证据,例如ChatGPT外挂的插件及 New Bing。将这些动态获取的新知识融合进模型,一方面可以弥补模型预训练阶段积累知识的滞后性,使其了解时事和新兴领域;但另一方面,外部输入的知识往往也会与大模型内部的参数知识产生分歧和矛盾,从而引发“知识冲突”问题。

所谓“知识冲突”,是指大语言模型内部固化的参数知识与来自上下文环境的外部获取知识之间存在的差异、矛盾和冲突。这种知识冲突不仅影响大模型对问题的理解和判断,还可能导致其生成的输出存在事实错误、逻辑违背常识等严重缺陷,从而降低模型可靠性和可信性。

知识冲突可以进一步分为下述几类,如图1所示。

 

图 1 知识冲突的分类

 

(1)上下文 - 记忆知识冲突。指大语言模型的参数知识与提供的上下文信息(如用户提示、检索文档、历史对话等)存在的不一致与冲突。

(2)多源上下文知识冲突。指大语言模型在利用第三方工具或采取检索增强策略时,从不同知识源获取的信息之间存在不一致,如不同文档的时间戳不一致、部分检索文本含有虚假信息等。

(3)记忆内知识冲突。指针对用户同一个问题的不同表述,由于模型训练数据的不一致,可能会导致模型给出不同甚至自相矛盾的回复。

1.3 知识冲突的影响

知识冲突问题不仅是大语言模型面临的一个技术挑战,更是实现其可靠应用和广泛部署的关键瓶颈。深入研究并解决知识冲突问题,可以优化大语言模型的一致性、鲁棒性和泛化能力,这对于工具增强和检索增强技术在大模型部署中的成功应用至关重要。更为重要的是,有效处理知识冲突还能有助于预防恶意攻击者滥用大模型强大的生成能力,如传播虚假信息和进行网络攻击。例如,攻击者可能通过劫持第三方工具,提供给模型欺骗性和误导性文档,若能妥善解决知识冲突问题,则可避免模型产生有害信息。尽管目前对知识冲突问题的研究尚处于初级阶段,开展系统深入的理论研究和技术创新,对于大语言模型的持续发展和广泛应用构建坚实的理论和实践基础也尤为重要。

2 知识冲突的成因分析

要分析大语言模型在知识冲突场景中的表现及解决方案,首先需要深入探讨导致其产生知识冲突的根源。本节将从训练数据、模型架构和上下文信息三个方面,深入探讨导致大语言模型产生知识冲突的根因。

2.1 训练数据

2.1.1 领域数据不足

尽管大语言模型因其海量知识压缩和出色的泛化能力在知识密集型任务中表现出色,但在特定领域的专业知识处理上仍面临挑战。这主要源于训练数据在覆盖范围和深度上的不足。若未能充分学习某领域的全面知识,模型在该领域的表现便可能出现缺陷,在回答相关专业问题时容易出现“上下文 -记忆知识冲突”,即模型的存储知识与实际情境不匹配,从而产生错误或不准确的输出。

2.1.2 训练数据质量缺陷:错误信息与偏

大语言模型主要通过在海量无标注的文本语料库上自监督学习获取知识。然而,这些语料库常存在质量缺陷,可能包含大量低质量信息、错误知识和潜在的社会文化偏见。一方面,模型从包含错误知识的数据中学习后,这些错误会被内化并放大,导致参数中编码了矛盾的知识,进而在特定场景下产生冲突;另一方面,训练数据所反映的各种偏见也会被模型学习和放大,如性别、种族等,影响其判断和决策过程,发知识系统中潜在的偏差和矛盾。

此外,大模型往往过度依赖训练数据中的浅层模式和相关性,如词语共现统计、位置接近性等,而未能真正理解知识的本质,这使得模型容易受训练数据中的虚假相关性的影响,导致在不同语境下产生前后不一致的输出,加剧了知识冲突的风险。

2.1.3 训练数据时效性

大语言模型的参数化知识具有明显的时间局限性。一旦完成训练,这些知识就无法继续更新,而是静态固化于训练数据的时间节点,以随着时间推移自动更新和追踪现实世界的变迁。随着时间流逝,模型内部知识会逐渐过时失效,成为引发知识冲突的又一重要根源。

为弥补模型内部知识的滞后性,在实际应用场景中,用户通常需提供动态的外部补充信息,如上下文对话历史、相关文档检索等。然而,当模型尝试将这些外部动态知识与自身内部的过时静态知识融合时,两者之间的矛盾和冲突往往难以避免,从而使模型陷入知识冲突的困境。

2.2 模型架构

2.2.1 解码策

大语言模型通过预测词汇表中每个单词出现的概率分布来生成输出,解码(decoding)环节对于将模型知识转化为可解释输出至关重要。主流解码策略包括确定性搜索 (如贪婪搜索(greedy search)和束搜索(beam search))和随机采样(如Top-k采样(Top-ksampling)和Top-p 采样(Top-p sampling))。

贪婪搜索通过选择每一步概率最高的单词生成输出,而束搜索则维持多个高概率候选序列,力求在整体上找到最优输出。相比之下,随机采样是当前大语言模型广泛采用的主导解码策略,它通过在概率分布中随机抽样,能够产生更多样化的输出。然而,这种随机性也为生成的内容引入了不确定性,可能导致模型在相同条件下输出前后不一致的结果,从而引发由内部记忆机制导致的知识冲突。

另外,大模型通常按从左到右逐词生成方式,可能引发“滚雪球效应”,即早期生成的单词会对整个输出产生重大影响。一旦早期出现偏差,后续难以纠正,加剧了输出与事实的偏离,进而引发知识冲突。

2.2.2 预训练和微调的不一

大模型在预训练和微调两阶段获取的知识存在潜在不一致,这是导致模型输出知识冲突的另一重要原因。

预训练旨在大规模无标注语料库上学习通用的语言表示能力,如文本中的底层模式、结构和语义知识。而微调则是在特定任务数据集上对模型参数进行进一步优化,以提高其在特定领域的性能表现。由于两阶段的训练目标和数据来源的差异,模型可能从中习得了不尽相同的知识。

一方面,预训练数据覆盖面广但深度有限,模型从中习得的是普遍的世界知识和语言模式;另一方面,微调阶段引入了新的专业知识,这些知识可能无法从预训练数据中学习,甚至可能与之存在矛盾。当用户的查询触及此类知识时,模型难以准确把握哪些知识才是相关准确的,从而在生成输出时产生混乱,引发知识冲突。

2.3 外部上下文信息

大语言模型在实际应用中存在参数知识滞后和情境理解不足的缺陷。为弥补这一缺陷,检索增强生成技术(retrieval-augmented generation,RAG)被广泛采用,通过检索并融合外部补充信息,以增强模型的知识掌握能力。一些主流商业模型如ChatGPT、Perplexity.ai、Gemini、NewBing等在部分web界面上已开始使用带RAG功能的版本。然而,所检索的外部信息的准确性和时效性不足,可能成为导致大模型产生知识冲突的又一主要诱因。

2.3.1 外部信息的准确性缺陷

首先,信息检索系统将原文本编码为向量表示时,不可避免会发生一定信息损失,如可能遗漏或扭曲了原文细节和语义,影响检索质量。其次,检索系统返回结果并非全部与查询高度相关。以“提升遥感影像目标检测精度”为例,返回内容可能包含“红外目标检测”等偏题信息。模型整合这些无关或错误信息时,可能被误导而接受并传播了不当知识。

更为关键的是,检索得到的外部信息可能与模型内部知识存在矛盾,不同检索文档间也可能出现差异和冲突。最新研究发现,检索文档的质量与模型对内部参数知识的依赖倾向之间存在反比关系:检索到的证据越不相关,模型对内部参数知识的依赖性越强;同时,当外部证据部分与内部记忆一致时,大模型会过度信赖该部分,而忽视其他相冲突的外部信息。但这种复杂的证据权衡机制有待深入探究。此外,恶意攻击者可能故意提供虚假外部信息,诱导模型生成有害或违法输出,引发潜在安全隐患。

2.3.2 外部信息时效性缺陷

外部信息的时效性也是一大挑战。在科技、政治等快速变化的领域,过时的信息可能会严重误导模型和最终用户。以政治人物相关查询为例,若参考的是多年前的旧信息,结论就可能与当下情况严重偏离。即使采用私有知识库作为检索源,时效性问题也难以完全根除。若知识库未及时维护和更新,同一文档的新旧版本可能并存,导致时间上的矛盾和冲突。以法规修订为例,用户查询时应当参考的是最新版本,但若模型同时检索到旧版本,其生成的回复就可能出现严重错误。

3 知识冲突的解决方案

面对大语言模型中的知识冲突问题,国内外研究者已提出了多种策略缓解这一挑战。下面将对这些解决方案进行全面的回顾,结合之前对于知识冲突成因的讨论,我们将现有的策略分为如图 2 所示的三大类:①领域事实增强,主要针对训练数据层面的问题;②模型层面,旨在通过改进模型架构或其内部机制以应对知识冲突;③提示工程,侧重于优化模型对于外部信息的处理。

图 2 知识冲突解决方案

3.1 领域事实增强

3.1.1 持续预训练

通过持续预训练,模型能够不断补充和更新其知识库,以适应不断发展的知识领域。图3示出了大模型的不同预训练方式。首先是对预训练数据质量的优化,包括删除重复数据、剔除过时、错误及虚假信息,从根源上避免模型内化矛盾知识,鉴于现有的预训练语料库规模庞大,目前的研究主要采用简单的启发式。规则来选择和过滤数据。其次,在通用语言模型的基础上,引入特定领域的高质量语料对其进行微调,使模型逐步完善相关知识的表示,有效地获取新领域的知识。例如,虽然持续预训练可以帮助模型快速有效地学习领域事实知识,但其也存在严重缺陷,如模型易发生灾难性遗忘,忘记已经学过的来自旧领域的知识,常用的解决方法是将领域数据与通用数据按一定比例混合后对模型进行预训练。

图 3 大模型的不同预训练方式

3.1.2 持续 SFT

除持续预训练外,持续微调也是增强模型领域事实知识以避免出现知识冲突的重要方法。研究人员通过设计不同的知识注入方式,如ERNIE、KnowBERT和K-BERT等,将专业领域知识注入到语言模型中,从而提升其在下游任务的性能;为了增强模型在特定任务背景下优先考虑上下文信息,而在与场景上下文无关时则更依赖内部参数知识的能力和鲁棒性,知识感知微调方法 (knowledgeaware finetuning,KAFT)通过将反事实和不相关的上下文纳入微调数据集,采取对抗训练策略,增强模型分辨与任务相关知识的能力。此外,拒绝感知指令微调(refusal-aware instruction tuning,R-Tuning)通过识别参数知识和指令微调数据之间的知识差距,然后基于知识交集构建拒绝感知据,来微调大语言模型,使其避免回答超出能力范围的问题。

3.1.3 外部知识

大语言模型虽展现出强大的理解、生成和泛化能力,但在实际应用中,仍面临准确性、知识更新速度和答案透明度等方面的挑战。引入外部知识可有效结合大语言模型的参数化知识和非参数化的外部知识,如数据库、网站、非结构化文档等,成为缓解知识冲突,加速大模型落地应用的关键手段。提升与外部知识的结合主要有两种方式,一是检索增强,通过在原有的检索框架和策略上做进一步改进,以提供与情境上下文更加相关、细粒度的外部证据,避免返回无关或矛盾信息;二是工具增强,调用其他专业模型API,扩展大模型的能力边界。

3.2 模型架构

3.2.1 解码策略

在大语言模型中,优化解码策略是用于减少模型在文本生成过程中可能存在的知识冲突的有效方法。这些策略通过调整模型生成文本的概率分布,直接影响输出结果,从而提高模型的灵活性和输出的可信度。尽管这些方法可能需要对模型进行额外的训练或调整,或依赖于外部信息资源,但是它们在提高生成文本的一致性和可信度方面显示出显著优势。下述是三种代表性的优化解码策略。

(1) 上 下 文 感 知 解 码(context-aware decoding,CAD)是一种基于对比的解码策略,旨在减少生成文本中的知识冲突。该策略利用一个对比模型计算在考虑和不考虑输入信息的情况下,输出的概率分布差异;随后,一个放大模型被用来增强这些差异,提升与输入信息一致的输出的概率,同时降低与输入信息冲突的输出的概率;最终,根据调整后的概率分布,生成模型输出与输入信息更为一致且可信的文本。

(2)对比层解码。对比层解码(decoding bycontrasting layers, DoLa)通过动态选择并比较模型不同层次在词汇空间中的对数概率差异。这种层间对比帮助生成模型依据调整后的概率分布生成文本,从而增强文本与事实知识的一致性和可信度。

(3)推理时干预(inference-time intervention,ITI)。在解码过程中实施,通过激活与事实性知识更相关的注意力头,促进这些信息在模型中的传播。这种策略可以在使用较少数据集和训练资源的情况下对模型进行微调,显著提升模型在回答问题时的准确性和可靠性。

3.2.2 训练判别器

通过对一个小型的大语言模型进行微调,将其作为判别器,并结合提示工程技术帮助模型区分信息是否可靠,从而使模型在面对可能存在虚假或误导信息的上下文内容时,保持忠诚可靠的输出。通过构建事实有效性预测模型,预测大语言模型学到知识中的事实信息能够在多久的时间期限内保持有效,来决定在生成回复内容时是否接受该事实信息,同时利用事实有效性预测还可在生成过程中丢弃易发生变化的事实,给予提供的最新上下文信息更高的置信度。

3.2.3 知识编辑

在大语言模型(LLMs)的应用中,知识编辑技术旨在优化模型的信息准确性,通过有针对性地修改模型参数或引入外部插件来纠正嵌入其中的错误知识。这种方法避免了对整个模型进行全面微调,从而在提升模型实用性的同时,维持了其作为可靠知识库的基本功能。主要的知识编辑方法有两种。

(1)知识插件。该方法允许在保持模型原有结构不变的情况下,通过插入可训练的参数模块来引入新的知识。这种策略的优势在于它避免了对预训练模型权重的直接修改,从而保留了模型中已有的知识资产。这使得模型能够在扩展新知识的同时,继续利用已有的广泛知识基础,例如K-Adapter等。

(2)定位 - 编辑。基于对大语言模型中知识存储机制的研究,定位 - 编辑方法专注于精确定位和编辑模型中的特定区域。这种策略识别并修改存储错误信息的网络部分,尤其是前馈神经网络(FFN)中的相关神经元,以此来纠正或更新错误的知识。这种精确的编辑方法优化了模型的知识准确性,而不损害其整体性能。

3.3 提示工程

提示工程是缓解大语言模型知识冲突的一种重要策略,它通过精心设计的提示词来完善模型的输入信息及优化模型输出内容。使用提示工程的缓解技术可以概述如下。

3.3.1 补充情境信息

通过检索增强策略和工具增强,如FreshPrompt、ChatProtect等,将与任务相关的情境知识集成到提示中。这种方法不仅丰富了模型处理的上下文,而且提高了其对特定领域信息的敏感性和应答质量。

3.3.2 设计系统提示

使用系统提示明确告知大语言模型不要提供虚假或不可验证的信息,或提示模型对潜在的虚假信息保持警惕,并在生成前与参数记忆知识进行核实,或要求模型进行自我反思,通过不断迭代反馈及模型自我纠正错误,改善生成答案的事实性和一致性。

采用分治思想的提示策略,提示大语言模型将问题拆分成多个子问题,分别进行回答,再对生成的内容进行合并,这样可以帮助模型更好地理解问题;同时采取该策略,某个子任务的解答不会过度依赖于其他子任务解答的正确性,增强了模型对于中间错误的鲁棒性。类似地,采用思维链策略(如COT、TOT、GOT)要求模型对问题进行连贯且逐步深入的思考,从而提高输出的逻辑性和深度。

最后,针对用户可能给出模糊的指令这一情况,提示模型要求用户对指令进行修改完善,对问题进一步澄清。

4 未来展望

在大语言模型知识冲突领域未来的研究方向上有下述思考。

(1)可靠的评估方法

现有研究多聚焦于大语言模型在特定任务场景下内部参数知识与外部情境知识产生冲突的情形,探讨模型在面对知识冲突时对内部参数知识和外部信息的依赖程度及解决冲突的方法。然而,对于如何评估知识冲突,尤其是在不同下游任务背景下的评估方法,现有研究仍显不足。如何对大语言模型在各种任务场景下处理知识冲突的性能进行评估,以及建立自动化的评估框架和标准指标仍有待进一步研究。通过建立可靠的评估方法,探索知识冲突对模型在不同下游任务下的影响,可以帮助研究者优化模型的设计和应用策略,开发更强大、更可靠的模型。

(2)基于大模型的智能体

目前,大语言模型在处理知识冲突的研究侧重于提升模型训练数据的质量、提供更准确的外部信息,以及设计更有效的提示词等方面。这些方法虽然在一定程度上提高了模型输出的准确性,但对于模型自主识别和解决知识冲突的能力仍然缺乏深入探讨。未来对于大语言模型的研究更应关注其在处理复杂信息源中的自主决策能力,尤其是在面对可能引起知识冲突的场景时;研究基于大模型的智能体,使其能够识别并管理知识冲突,是应对这一挑战的有效途径。

此类智能体首先需要能够实现知识冲突检测,即具备识别多样化信息源中存在知识冲突的内容,以及决策出需要剔除或修正的知识点。同时,根据实际需求主动寻找并整合新知识,优化和更新现有背景知识,以提供更为准确和详尽的回复。开发此类智能体不仅可提高模型在复杂信息环境中的适应性和实用性,还能增强其可靠性和用户信任度。

(3)多模态背景下的知识冲突

现有研究多集中于单一文本模态,而多模态领域的知识冲突则相对较少探讨。现实世界信息通常以视觉、听觉和文本等多种形式表达,这些模态间可能存在不一致或矛盾。未来可探索不同模态间的知识表示、跨模态知识融合、跨模态推理,以及解决模态间知识冲突等方向。理解和解决多模态数据中的知识冲突,可极大提升模型对复杂现实情境的理解能力,提高其在决策支持、自动化内容生成和人机交互等领域的准确性和效率,既是提升大模型实用性和智能化水平的关键步骤,也是一个具有挑战性的前沿研究领域。

 

声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。

浏览量:0
收藏