大型语言模型 (LLM)表现出了卓越的能力,但也存在幻觉、缺乏领域适应性和缺乏持续学习等问题。当它们必须处理知识密集型任务时,这些问题更加明显。解决这些问题的方法之一(或至少是部分解决方案)是在 LLM 上下文中提供相关信息(插入提示中)。该系统通常是检索增强生成 (RAG)。该系统已被证明能够减少幻觉并改善反应。
然而,可靠性和可追溯性仍然存在局限性。事实上,上下文幻觉仍然会出现,有时找不到正确的上下文。如果上下文嘈杂,LLM 生成可能会受到影响。事实上,不相关信息的存在会混淆 LLM 及其提取相关信息进行生成的能力。其次,LLM 不包含生成过程中使用了哪些来源,这使得验证使用了哪些来源变得更加复杂。
在预训练阶段,LLM 专注于获取知识。毕竟,模型是以自回归方式训练的,目的是预测序列中的下一个单词。因此,LLM 并非专门为推理而训练的,但这在训练过程中会出现(好像我们可以称之为训练和上下文学习的副作用)。虽然我们在使用 RAG 时没有对其进行推理训练,但我们感兴趣的是它解释上下文并使用此信息进行响应的能力(因此我们对预训练期间获得的知识不太感兴趣)。
然后,我们可以思考如何调整模型的能力,对发现的上下文进行推理,并学习如何提取信息。从某种意义上说,进行额外的后训练步骤,以专注于我们感兴趣的系统功能。
我们如何调整模型来推理上下文?
最近发表的一篇文章试图回答这个问题:
利用自推理改进检索增强语言模型
检索增强语言模型 (RALM) 通过以下方式在知识密集型任务上表现出色……
简而言之,该过程包括三个步骤:
- 相关性感知过程 (RAP),其中指示模型评估文档与应用程序的相关性。
- 证据感知选择过程(EAP),其中模型选择并引用相关文档。
- 轨迹分析过程(TAP)中,模型根据前两个步骤发生的情况生成简洁的分析,然后得出答案。
作者从经典的 RAG 模型开始,该模型包含一个 LLM 和一个检索器。最初的直觉是,人能够判断文档是否与问题相关。因此,他们决定指示 LLM 判断找到的文档与用户查询的相关性。指示模型说明为什么它认为这些文档与查询相关。此步骤的输出应包括它是否相关以及为什么相关。同时,如果检索器未找到相关文档,LLM 应使用其参数记忆(即在训练期间获得的知识)来回答查询
为了从文档中回答问题,人类会识别出关键句子(可能用记号笔标记它们),然后用它们来回答。引用所使用的文档是一种很好的做法(特别是在撰写论文或制作论文时)。LLM 很难做到这一点。因此,作者强制 LLM 识别支持问题答案的句子(这些句子被作者称为证据)。然后,作者指示模型选择对答案很重要的句子,并提供这些句子为何重要的原因。此阶段的预期输出是一个列表,其中包含要引用的句子以及引用它们的重要性。
在最后一步,LLM 受益于前面的步骤,最终可以生成响应。该模型分析在此过程中进行的推理,然后生成响应和简明分析。最终的输出是分析和响应。
显然,此时我们需要数据,而作者已经生成了 10,000 个高质量示例。这对于推理训练尤其重要。然后,他们建立了一个语料库,并增加了自推理轨迹(即每个步骤产生的各种分析)。给定一个问题 q 和一个答案 y,使用 y、q 和轨迹对模型进行训练。
为了验证他们的方法是否有效,他们随后选择了两个简短问答 (QA) 数据集和一个长问答数据集。他们使用LLaMA2–7B、LLaMA2–13B 及其指令调整版本作为模型。之后,他们还使用其他快速工程方法作为基线,以查看他们的方法是否能产生更好的结果。
在表格中我们可以看到:
- 结果证实,使用 RAG 可显著提高仅由 LLM 组成的系统的性能。Prompt engineering 改进了这一基准,他们的方法取得了更好的结果。
- 对于长问答,该方法产生了非常好的结果,甚至在召回率上也优于 GPT-4(这不是一件小事,因为相比之下这些都是非常小的模型)。
在进行消融研究时,作者指出:
- 删除第一步会导致短格式问答的整体性能下降。这表明检查文档与查询的相关性有助于提高性能。特别是在事实验证数据集中,过滤掉不相关的文档非常重要。
- 删除第二步会导致性能显著下降,因为这表明识别关键判断对于准确性很重要。
- 第三步对于所有经过测试的数据集都至关重要,显示出对性能的显著影响。
由于不相关信息的存在会损害检索,作者测试了其噪声方法的稳健性。他们在两种情况下测试了他们的方法:
- 通过在检索后对文档进行随机混排。
- 通过将检索到的文档的一半替换为与数据集中其他问题相关的文档。
该模型比其他噪声方法更稳健。特别是第一种设置对其方法的影响微乎其微。第二种设置更具挑战性,性能有所下降,但影响仍然不大。
最后,作者彻底调查了该模型是否真的支持引用。他们选择了人工评估员来检查该模型是否引用了文件。他们询问人类评委提交的文件是否支持答案中的句子。结果表明,该系统在呈现引用方面是可行的,并且与自动评估具有很好的相关性
RAG 可以有效提高 LLM 处理知识密集型任务的性能。尽管 RAG 非常有效,但人们对其可靠性和可追溯性的担忧仍然存在。为了解决这些限制,我们提出了一种新颖的 SELFREASONING 框架,通过使用 LLM 自身生成的推理轨迹来提高 RALM 的性能。—来源
所提出的方法很有趣,因为它既提高了系统响应的能力,又提高了对 LLM 响应方式的追踪能力。其背后的想法是提高模型利用上下文和提取相关信息的能力。因此,作者使用特定的训练来使模型能够提高其能力。
这种方法很有趣,因为它基于推理的有效运用。它看起来很有前景,但尚未在需要多跳推理、代码生成或算术推理的更复杂问题上进行测试。
RA/SD 衍生者AI训练营。发布者:chris,转载请注明出处:https://www.shxcj.com/archives/4682