Adapt-LLM可以训练LLM确定是否需要在问答任务中检索额外的场景信息,将提高LLM应用程序的效率。
检索增强生成(RAG)管道使大型语言模型(LLM)能够在其响应中使用外部信息源。但是RAG应用程序为发送到LLM的每个请求检索额外的场景信息。这使得该过程效率低下,因为LLM已经包含了大量无需检索即可使用的知识。
如果可以将LLM配置为仅在其内部知识不足时使用RAG,那会怎么样?Adapt-LLM是由意大利博岑-博尔扎诺自由大学(Bozen-Bolzano)和意大利Bruno Kessler基金会的研究人员开发的一项技术,可以训练LLM动态地确定是否需要在问答任务中检索额外的场景信息。Adapt-LLM可以帮助避免不必要的检索,并提高LLM应用程序的效率。
记忆vs检索
LLM回答问题主要有两种方法:第一种方法是依靠训练过程中获得的参数记忆。参数记忆的局限性在于它完全基于训练语料库。可以通过微调或小样本提示技术来提高参数化的性能,这些技术将模型的注意力集中在相关参数上。但是,这些技术在模型必须动态使用新信息(例如最近的新闻或未包含在训练语料库中的私人信息)的场景中是无用的。
第二种方法使用信息检索器向模型提供场景信息。检索增强生成(RAG)就属于这一类。
但信息检索面临的问题是,有时模型不需要额外的场景信息,并且有足够的内部知识来回答问题。因此可以将这两种方法比喻成为闭卷答题和开卷答题。
而人类使用混合方法。例如,当人们记住一个问题的答案时,可以立即回答。但当对自己掌握的知识没有信心时,就会使用外部资源。一些LLM技术通过受欢迎程度评分使用这种混合方法。假设当问题非常受欢迎时,LLM模型具有内部知识来回答。对于不太受欢迎的问题,该模型将需要RAG系统的帮助来获取必要的信息。
然而,这种方法要求问题附带受欢迎程度评分,这并不总是可用的。
Adapt-LLM
Adapt-LLM为“自适应检索”训练语言模型,使它们能够自主地决定何时为附加的场景使用信息检索系统。
研究人员写道:“在这种方法中,如果任务的解决方案被编码在模型的参数中,则该模型将直接用于生成解决方案。与其相反,如果答案没有被编码在该模型的知识中,则答案的生成将被外部知识所增强。”
Adapt-LLM分为四个步骤:
(1)将包含问题的第一个提示发送给Adapt-LLM模型。
(2)该模型评估提示,以确定是否需要额外的场景来有效地回答问题。
(3)如果模型确定它不需要额外的场景,则直接从参数记忆中进行响应。
(4)如果Adapt-LLM模型需要额外的场景,它会返回一个特殊的令牌,例如。然后,应用程序可以使用信息检索器根据问题获取场景,并将其与原始提示结合起来。
这种灵活的行为允许模型在使用外部场景和给出直接答案之间取得平衡。
训练Adapt-LLM
要训练Adapt-LLM的模型,需要从包含问题、场景和答案的元组数据集开始。然后,对于每个元组,给模型一个没有场景的问题。如果它对自己的知识有信心,就直接回答问题;如果它需要额外的场景,就返回。
如果模型返回正确的答案,那么它就具有参数知识,并且创建一个新的训练实例,其中包含问题和答案(但不包含场景)。如果模型返回错误的答案,则创建两个训练实例:一个是包含问题和答案的“参数提示”,另一个是包括问题、场景、说明和答案的“场景提示”。
然后在包含这两种类型示例的数据集上训练基本模型,从而产生Adapt-LLM行为。
Adapt-LLM的应用
研究人员在PopQA上用Adapt-LLM进行了几次实验,PopQA是一个从各种在线平台策划的问题数据集。他们使用Llama-2 7B作为基础的LLM,并在NQ和SQuAD问答数据集创建的Adapt-LLM数据集上对其进行训练。他们将Adapt-LLM模型与纯粹的永不检索模型和始终检索模型进行了比较。
可以预见的是,他们的研究结果表明,Adapt-LLM比只依赖参数记忆的永不检索模型表现得更好。
与始终检索模型相比,它还减少了检索的使用,同时在参数记忆优于RAG系统返回的信息时也提高了性能。
研究人员写道:“当Adapt-LLM决定检索额外信息时,有场景的结果明显优于没有场景的结果。同样,当Adapt-LLM直接依靠其参数记忆来回答问题时,它达到了很高的准确性。这些观察结果表明,该模型有效地识别了何时检索信息,以及何时可以在没有进一步场景的情况下回答问题。”
Adapt-LLM的利弊
不幸的是,研究人员没有发布Adapt-LLM的代码和模型,这使得验证他们的实验结果变得困难。由于这是一种非常实用的技术,如果他们发布了关于令牌使用和推理时间的研究结果就好了。
幸运的是,该算法易于实现,任何人都可以创建自己版本的Adapt-LLM。看看它如何处理来自其他领域的数据集,以及可以在其基础上构建哪些实际应用,这将是一件很有趣的事情。