赞
踩
对于RAG来说,什么时候利用外部检索,什么时候使用大模型产生已知的知识,以回答当前的问题?这是一个非常有趣的话题。
《Self-DC: When to retrieve and When to generate? Self Divide-and-Conquer for Compositional Unknown Questions》这篇论文正好探讨了这个问题。
文章的解决思路的核心就在于,首先得到大模型对问题的置信度分数,然后可以相应地选择处理问题的方式。将置信度评分分为[0,α-β],(α-β,α+β),[α+β,1]三个范围,其中α和β是超参数。因此,当置信度分数落在左侧([0,α−β])或右侧([α+β,1])时,可以分别调用检索-读取或生成-读取来回答。遇到不确定或令人困惑的问题时,就是(α-β,α+β)这个置信度区间的问题,将问题分解成几个子问题,旨在减少不确定性。然后,将所有子问题的答案结合起来,以提示大模型获得最终答案。
文章提出了一种新的方法来处理开放域问答中的组合性未知问题(Compositional Unknown Questions)。这些问题由一些已知或未知的子问题组成,传统的二元分类(已知或未知)方法在处理这类问题时变得次优和低效。为了解决这个问题,作者首次提出了一个组合性未知问题问答数据集(CuQA),并引入了一个自适应的框架,称为自划分-征服(Self-DC),使大型语言模型(LLMs)能够根据需求灵活地调用不同的方法,从而提高性能和效率。实验结果表明,Self-DC在两个数据集(CuQA和FreshQA)上的性能可与几个强基线模型相媲美,甚至更好,同时检索时间大大减少。
文章旨在解决以下问题:
为了解决上述问题,文章提出了以下方法:
文章中提出的Self-DC(Self Divide-and-Conquer)框架的核心在于根据大型语言模型(LLMs)对问题的置信度分数来决定是调用外部检索还是生成已知知识来回答当前问题。具体来说,置信度分数的获取和不确定问题的分解方法如下:
置信度分数通过以下两种方法获得:
ˆpi
。将序列中概率的平均值作为置信度分数。当LLMs对问题的置信度分数处于不确定区间(α-β, α+β)时,采取以下步骤分解问题:
为了确保迭代不会无限制地进行下去,Self-DC设置了终止条件,包括:
t
。实验结果表明,Self-DC在CuQA和FreshQA数据集上的有效性和效率上都优于几个强基线模型,展示了其在解决组合性推理问题方面的潜力。
文章提出的Self-DC方法通过动态地调用内部已知知识或外部未知知识,不仅在性能上可与现有的复杂迭代检索方法相媲美或更好,而且在检索次数上更少,展示了其在不同应用中通过精心选择超参数的潜力。
文章中定义了几个子函数(Sub-Functions)作为关键组件,以处理不同类型的问题并实现Self-DC(Self Divide-and-Conquer)框架的目标。这些子函数包括:
这些子函数共同工作,使Self-DC框架能够灵活地处理开放域问答中的组合性未知问题。框架根据LLMs的置信度分数来决定是直接生成答案、检索相关信息还是分解问题并递归求解。通过这种方式,Self-DC能够在必要时有效地调用组合推理,而不是对所有问题进行统一处理,从而提高了处理复杂问题的效率和性能。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。