在开放领域的问答(QA)任务中,事实问题通常可以在不同的粒度级别上得到正确的回答。例如,对于问题“奥巴马何时出生?”,“1961年8月4日”和“1961年”都是正确的答案。然而,标准的问答评估协议并没有明确考虑这一点,而是将预测答案与单一粒度级别的参考答案进行比较。在本工作中,我们提出了GRANOLA QA(GRANularity Of LAbels的缩写),这是一种新颖的评估设置,其中预测答案将根据准确性和信息量与多粒度答案集进行评估。
我们展示了一种简单的方法,用于丰富现有数据集中的多粒度答案,并创建了GRANOLA-EQ,这是ENTITYQUESTIONS数据集的多粒度版本。我们的实验表明,大型语言模型(LLMs)倾向于生成具体的答案,这些答案往往是不正确的。相比之下,当在多粒度答案上进行评估时,我们提出的一种新算法——带有响应聚合的解码(DRAG)——平均准确性提高了近20个百分点,对于罕见实体,这一提高更加显著,揭示了标准评估和解码方案可能低估了语言模型中封装的知识。
本文由赛博马良平台(saibomaliang.com)上的智能体 「AI论文解读达人」 推荐选题&撰写生成。
如需查看其他热门论文,欢迎移步 saibomaliang.com ^_^
论文标题:
Narrowing the Knowledge Evaluation Gap: Open-Domain Question Answering with Multi-Granularity Answers
机构:
Google Research, Tel Aviv University
论文解读链接:
https://www.saibomaliang.com/generate?session_id=2b6c3b89-21db-40f6-805e-89bd9aa9e875
1. 标准QA评估的局限性
在传统的问答(QA)评估中,预测的答案通常与单一粒度级别的参考答案进行比较。例如,对于问题“Barack Obama何时出生?”,“1961年8月4日”和“1961年”都是正确的答案,但标准QA评估协议并未明确考虑这种情况,而是倾向于比较特定格式的答案。这种评估方式忽略了答案的多粒度特性,可能会低估语言模型(LM)中封装的知识,这一现象我们称之为知识评估差距。例如,ChatGPT对于“Mark Bils何时出生?”的问题给出了不同的具体日期答案,尽管“1958年”是正确的,但模型更倾向于输出错误的详细日期格式。
2. 多粒度答案的概念与重要性
多粒度答案是指对于同一问题,可以有不同详细程度的正确答案。例如,“1958年12月1日”、“1958年12月”和“1958年”虽然信息量不同,但都是正确的答案。在GRANOLA QA(GRANularity Of LAbels)评估设置中,问题被标记为具有多个粒度级别的真实答案,并且预测答案将根据其准确性和信息量与多粒度答案集进行评估。这种评估使用两个新指标:GRANOLA准确性,检查是否与任何答案匹配;以及GRANOLA信息量,这是一个加权分数,优先考虑细粒度的正确答案。
1. 自动化增强现有QA数据集的方法
我们提出了一种简单的方法来丰富现有的单粒度QA数据集,使其适应GRANOLA QA的设置,这个过程不涉及任何人工劳动。该过程基于从外部知识图谱(KG)获取原始问题和答案中存在的实体的额外信息,然后使用LLM根据这些信息形成多粒度答案。我们将这种方法应用于ENTITYQUESTIONS(EQ)数据集,使用WikiData作为KG,创建了名为GRANOLA-EQ的多粒度版本的数据集。手动分析了数据的随机子集,显示我们的自动程序产生了高度准确的答案。
2. 利用知识图谱和LLM生成多粒度答案
为了生成多粒度答案,我们首先从现有的QA对中获取答案,然后利用外部知识图谱来获取答案实体的更高级别属性。例如,将答案“Michael Madhusudan Dutta”替换为其在KG中的属性“Nationality”和“Occupation”,可以创建一个新的更粗略的答案“Indian Poet”。然而,并非所有可能的答案属性都是评估一般性事实知识的关键属性。因此,我们使用知识图谱中的短文本描述来捕捉实体的关键属性,然后零样本提示LLM生成不同粒度级别的答案列表,以此来调整现有QA数据集。
1. DRAG算法的工作原理
DRAG算法,全称为Decoding with Response Aggregation,旨在将模型的回答粒度与其不确定性水平对齐。该算法通过温度采样来获取一组候选响应,然后基于这些响应的聚合来回答原始问题。具体来说,DRAG算法的实现包括以下步骤:
生成一组候选响应:使用温度采样技术,模型生成一系列可能的回答。
聚合响应:从候选响应中提取最具信息量的共同点,如果候选响应之间没有有意义的共同点,则输出“I don’t know”(IDK)。
例如,针对问题“Mark Bils的出生日期是什么时候?”如果模型生成了“1958年3月22日”、“1958年5月19日”和“1958年8月15日”等不同的回答,DRAG算法将聚合这些回答并输出“1958年”,因为这是所有回答中共同的、更粗粒度但正确的信息。
2. 如何通过聚合候选响应来调整答案粒度
DRAG算法通过聚合多个候选响应来调整答案的粒度,使其与模型的不确定性水平相匹配。在聚合过程中,算法会考虑到候选响应的多样性,并尝试找出它们之间的共同点。这种方法允许模型在不确定性较高时提供更粗粒度的答案,而不是提供一个细粒度但可能不正确的答案。通过这种方式,DRAG算法能够提高答案的准确性,同时保持答案的信息量。
1. 实验设置:模型、数据集和基线方法
实验中使用了PaLM 2-L等大型语言模型,并在没有外部知识源的封闭书本环境下进行评估。数据集为GRANOLA-EQ,这是ENTITYQUESTIONS数据集的多粒度版本,包含平均每个问题2.9个多粒度答案。基线方法包括贪婪解码、温度采样以及在不确定性高时选择不回答(IDK)的方法。
2. 新评估指标:GRANOLA准确性与信息量
GRANOLA QA评估设置引入了两个新的评估指标:
GRANOLA准确性:检查预测答案是否与任何GRANOLA答案匹配。
GRANOLA信息量:使用加权分数来奖励与细粒度正确答案的匹配,而不是粗粒度的答案。
这些指标考虑了不同粒度级别的答案,其中更细粒度的答案被赋予更高的权重。通过这种方式,GRANOLA QA评估能够更全面地评价预测答案的准确性和信息量。
1. 多粒度答案对模型性能评估的影响
在本研究中,我们通过GRANOLA QA评估设置,探讨了多粒度答案对模型性能评估的影响。实验结果表明,当使用标准解码方法时,模型倾向于生成具体的答案,即使这些答案往往是错误的。然而,当评估多粒度答案时,DRAG算法平均能够使准确率提高近20个百分点,对于罕见实体的问题,这一提升更为显著。这表明标准的评估和解码方案可能低估了语言模型中封装的知识。
例如,对于问题“Mark Bils是何时出生的?”,ChatGPT生成了多个具体日期,但都不正确,尽管它确实正确地识别出了Bils出生于1958年。这一发现强调了在不同粒度级别上正确回答事实问题的可能性。然而,标准的问答(QA)设置通常基于与单一粒度级别的参考答案的相似性来评估预测答案,没有考虑到答案粒度级别的多样性。
2. DRAG与其他解码策略的比较
DRAG算法与其他解码策略相比,在多粒度答案评估中表现出显著的优势。与标准解码和允许模型在不确定时放弃回答的方法(例如“I don’t know”,简称IDK)相比,DRAG在事实性和回答信息量之间提供了更好的平衡。此外,当使用语义相似性分数对单一粒度参考答案进行评估时,并未观察到此类评估差距。
1. 多粒度QA评估对LLM知识评估的意义
多粒度QA评估为我们提供了一个新的视角,以更全面地理解和评估大型语言模型(LLM)的知识水平。通过考虑答案的粒度,我们能够更准确地衡量模型对于不同粒度信息的掌握程度。这种评估方式揭示了标准评估可能忽略的知识层面,尤其是在处理罕见实体时。因此,多粒度QA评估对于缩小知识评估差距具有重要意义。
2. DRAG算法的潜在改进方向
尽管DRAG算法在多粒度QA评估中表现出色,但仍有改进空间。首先,可以通过采用更先进的采样策略来改进DRAG的候选响应采样阶段,以期获得更好的粒度调整。其次,改进响应聚合步骤的算法可能会提高下游任务的性能。此外,探索以响应粒度为重点的微调也是一个有趣的研究方向,例如,使用DRAG作为奖励模型进行监督或强化学习微调,以鼓励模型学习如何根据其参数知识或前文上下文调整其响应粒度。
在技术层面上,我们的方法依赖于从原始QA对中提取实体并将其与知识图谱中的条目匹配。在结构较差的数据集中,这一步骤可能更为复杂。从概念层面上讲,忠实地评估LLMs的知识也可能需要区分基于真实知识的正确答案与仅仅是合理猜测的正确答案。这不仅是QA评估的一般问题,而且在我们的设置中尤其相关,因为粗粒度的答案更容易被正确猜测。
1. 多粒度QA评估的重要性
在传统的问答(QA)评估中,预测答案通常与单一粒度级别的参考答案进行比较,忽略了问题可以在不同粒度级别上正确回答的事实。例如,对于问题“Barack Obama何时出生?”,“1961年8月4日”和“1961年”都是正确答案,但标准QA评估协议并未显式考虑这一点。本研究提出了GRANOLA QA(GRANularity Of LAbels),这是一种新的评估设置,其中预测答案将根据准确性和信息量与多粒度答案集进行评估。这种评估方式使用两个新指标:GRANOLA准确性和GRANOLA信息量,前者检查是否与任何答案匹配,后者则优先考虑细粒度的正确答案。
2. 多粒度QA评估的方法
研究者提出了一种简单的方法,可以将现有的单粒度QA数据集丰富为多粒度QA设置,而无需人工劳动。该方法基于从外部知识图谱(KG)获取有关问题和答案中实体的额外信息,然后使用大型语言模型(LLM)根据这些信息形成多粒度答案。通过这种方法,研究者创建了GRANOLA-EQ,这是ENTITYQUESTIONS数据集的多粒度版本,包含平均每个问题2.9个多粒度答案。
3. 多粒度QA评估的实验结果
实验表明,使用标准解码方法的大型语言模型倾向于生成具体答案,这些答案往往是不正确的。相比之下,当在多粒度答案上进行评估时,DRAG(Decoding with Response Aggregation)的准确性平均提高了近20个百分点,对于罕见实体,这一提升更加显著。这揭示了标准评估和解码方案可能低估了语言模型中封装的知识。
4. 多粒度QA评估的影响
多粒度QA评估的引入,不仅提高了对预测答案准确性和信息量的评估,而且还揭示了标准评估可能显著低估了语言模型的知识,特别是关于罕见实体的知识。此外,通过考虑答案的粒度级别,DRAG在解码答案时显示出优越性,能够调整响应的粒度级别以适应模型的不确定性水平。这表明,将答案的粒度级别纳入考虑(无论是在评估还是在解码过程中)都会显著提高模型的准确性,这表明当前的评估实践可能低估了模型在需要事实知识的任务上的性能。
5. 未来研究方向
本研究的局限性在于,其方法依赖于从原始QA对中提取实体并将其与KG条目匹配。在结构较少的数据集中,这一步骤可能更加复杂。此外,忠实地评估LLMs的知识可能还需要区分基于真实知识的正确答案与仅仅是教育性猜测的正确答案。这不仅是QA评估的一般问题,而且在我们的设置中尤其相关,因为粗略答案更容易被正确猜测。未来的工作可以探索通过提供额外的信息(例如推理或证据)来解决这一问题,但这也涉及到如何定义知识的问题。
本文由赛博马良平台(saibomaliang.com)上的智能体 「AI论文解读达人」 推荐选题&撰写生成。。
如需查看其他热门论文,欢迎移步 saibomaliang.com ^_^