论文翻译 | Is a Question Decomposition Unit All We Need? 我们是否只需要一个‘问题分解单元’?

摘要

        大型语言模型(LMs)已经在许多自然语言处理(NLP)基准测试中取得了最先进的性能。
        随着新基准数量的增加,我们构建了更大、更复杂的LM。然而,由于与之相关的成本、时间和环境影响,构建新的LM可能不是一个理想的选择。我们探索了另一种途径:我们是否可以通过根据模型的优势来表达数据来修改数据,从而使模型更容易回答问题?我们研究人类是否可以将一个难题分解成一组更简单的问题,这些问题对模型来说相对更容易解决。我们分析了一系列涉及各种形式推理的数据集,发现通过分解确实有可能显著提高模型性能(GPT3为24%,RoBERTa-SQuAD为29%,并附带符号计算器)。我们的方法提供了一个可行的选择,让人们以一种有意义的方式参与NLP研究。我们的研究结果表明,人在循环问题分解(HQD)可以潜在地为构建大型lm提供另一种途径。

1 引言

        随着大型语言模型(LMs)的出现,我们在许多自然语言处理(NLP)基准测试中已经实现了最先进的性能(Radford等,2019;Brown等,2020;Sanh等,2021a)。我们的基准测试在不断发展,并且随着时间的推移变得越来越难。为了解决新的基准测试,我们一直在设计更复杂、更大的语言模型,这需要消耗计算资源、时间,并对环境产生负面影响。随着时间的推移,为了解决新的基准测试而构建更新的语言模型可能并不是一个理想和可持续的选择。受到人类的启发,他们经常将新任务视为现有任务的组合,我们探索是否可以模仿人类,通过将新任务分解为模型擅长并已知的任务组合(Mishra等,2021a),来帮助模型解决新任务。
        随着NLP应用在日常活动中越来越受到人们的青睐,开发能够以有意义的方式让人类参与NLP驱动应用的方法变得至关重要。我们的方法试图通过提供一种以人为中心的数据修改方法来填补语言模型中的这一空白。解决复杂的问答(QA)任务,如多跳QA和数值推理,对模型来说一直是一个挑战。最近,问题分解(QD)已被探索用于增强模型解决这些任务的能力,并具有可解释性的额外优势。然而,以往关于QD的研究仅限于一些特定数据集(Khot等,2020b),如DROP(Dua等,2019)和HOTPOTQA(Yang等,2018)。我们分析了一系列涉及各种推理形式的数据集,以调查“我们是否只需要一个‘问题分解单元’?”

        图1展示了问题分解单元(QD单元)的示意图。原始问题对于模型来说难以回答。然而,当人类将问题分解为一组更简单的问题时,模型回答起来就变得容易了。
        我们手动分解了每个数据集中随机选取的50个样本。我们进行的分解纯粹是基于直觉,以减少问题的复杂性,这是受到任务级指令分解(Mishra等,2021a)在提高模型性能方面的成功启发。我们在GPT3(Brown等,2020)和RoBERTA(Liu等,2019)上进行了实验,这些模型在SQuAD 2.0(Rajpurkar等,2018)上进行了微调,并发现高级问题分解(HQD)显著提高了模型性能(GPT-3提高了24%,RoBERTa-SQuAD提高了29%,并配合使用符号计算器)。在这里,评估是在模型未进行微调的未见任务上进行的。我们的发现表明,人类参与的问答分解(HQD)可能为构建大型语言模型提供了一条替代路径。我们希望我们的工作能够鼓励社区开发以人为中心的解决方案,在利用NLP资源的同时积极让人类参与。

图1:模型错误地回答了最初的问题。然后,人类将问题分解成一组更简单的问题,然后模型就能正确地回答这些问题。

2 相关工作

        最近一种对阅读理解数据集中的多个句子进行推理的方法是将问题分解为单跳问题(Talmor和Berant, 2018;Min et al, 2019)。Min等人(2019)使用基于推理类型的跨度预测来分解来自HOTPOTQA的问题,并使用分解评分器选择最佳分解。Khot等人(2020b)通过提供上下文、答案和提示,在问题生成任务上训练BART模型,从而生成分解。Wolfson等人(2020)针对问题分解的众包注释。另一方面,Perez等人(2020)使用无监督机制,通过将难问题映射到问题语料库中的一组候选子问题来生成分解。Iyyer等人(2017)使用神经语义解析框架对来自WikiTableQuestions的问题进行众包分解,按顺序回答问题。还研究了使用文本到sql查询转换的分解(Guo et al ., 2019)。

        此外,知识图谱与神经网络相结合以生成分解(Gupta和Lewis, 2018)。最近,Xie等人(2022)提出了另一个用例,其中分解可用于探测模型,以创建其推理的解释。

3 方法

3.1 数据集

        我们选择了八个数据集,涵盖了多样化的推理技能和领域:(1) HOTPOTQA (Yang等,2018),(2) DROP (Dua等,2019),(3) MULTIRC (Khashabi等,2018),(4) STRATEGYQA (Geva等,2021),(5) QASC (Khot等,2020a),(6) MATHQA (Amini等,2019),(7) SVAMP (Patel等,2021),以及(8) BREAK (Wolfson等,2020)。表1显示了每个数据集的不同任务类型。

表1:每个数据集对应的QA任务类型。RC:阅读理解

3.2 分解过程

        对于每个数据集,我们随机选择50个实例进行手动分解。每个数据集中的问题被分解为两个或多个问题。表2、3、4和5显示了各种数据集的分解示例。对于每个数据集,我们为分解的问题创建了一个集合D。每个元素D_{i} \epsilon D可以表示为:

        其中C_{i}为上下文段落,Q_{i}为原题,Q_{d}为分解问题集,A_{i}为原题答案,A_{d}为相应分解问题的答案集。

        对于需要算术或逻辑运算的问题,我们使用Khot等人(2020b)建议的计算单元,它以以下格式将分解的问题作为输入:

        其中O ={和、差、除、乘、大、小、幂、连接、返回、余数},#mi是前面分解问题的答案和!分隔操作数。

4 实验设置

        模型 我们使用GPT-3 (Brown et al, 2020)来生成原始问题和分解问题的答案。为了证明QD即使在更简单的模型上也能显著提高性能,我们使用了在SQUAD 2.0数据集(即RoBERTa-SQuAD)上进行微调的RoBERTa-base。此外,我们在BoolQ数据集(Clark et al, 2019)(即RoBERTa-BoolQ)上对STRATEGYQA中的原始问题和分解问题进行了微调,因为它们是True/False类型的问题。

        实验 为了创建基线,我们在原始问题上评估所有模型以及上下文。我们在提出的方法中对人工分解问题的所有模型进行评估。

        我们在GPT-3中通过为每个数据集设计提示进行所有实验。对于基于roberta的模型,我们使用RoBERTa-SQuAD来处理MULTIRC、BREAK、HOTPOTQA和DROP数据集,因为SQUAD 2.0是为阅读理解任务设计的。对于STRATEGYQA,我们使用两个基于roberta的模型:(1)RoBERTa-BoolQ,用于回答问题的最终布尔类型;(2)RoBERTa-SQuAD,用于回答剩余的分解问题。
        对于SVAMP,我们使用RoBERTa-SQuAD模型使用分解问题提取必要的操作数,然后使用计算模块执行各种操作。在所有的实验中,我们都使用分解来依次得到最终的答案。

        指标 对于我们所有的实验,我们使用Rouge-L (Lin, 2004), F1-score和Exact Match (EM)作为评估指标。

5 结果与分析

        在这里,我们将我们的数据集分为四类:(1)RC:阅读理解(RC)中的HOTPOTQA, DROP, MULTIRC和BREAK,(2)数学:数学推理中的MATHQA和SVAMP, (3) MC:多选题QA (MC)中的QASC, (4) SR:策略推理(SR)中的STRATEGYQA。本节中给出的所有结果都是针对每个类别的任务求平均值。

5.1 实验结果

        GPT-3 图3显示了GPT-3在每个类别的平均f1分数方面的表现。从图3中,我们可以观察到,我们提出的方法优于基线约24%。附录D给出了所有数据集和类别的f1评分、EM和Rouge-L的所有结果。

图3:GPT-3在不同类别的f1得分结果。中文:阅读理解,数学:数学推理,中文:多选题问答,中文:策略推理。

        RoBERTa 图2展示了我们使用基于RoBERTa的模型在每个类别上获得的F1分数结果。平均而言,与基线相比,我们实现了约29%的显著改进。附录D展示了所有数据集和类别的F1分数、EM和Rouge-L的结果。

图2:基于roberta的模型跨不同类别的f1得分结果。RC:阅读理解,数学:数学推理,SR:策略推理。

5.2 分析

        针对每个模型的定制问题分解 根据上下文可以有多种方法来分解问题。决定如何分解问题的因素有很多。一个因素是模型的强度。例如,如果我们使用在SQuAD上进行微调的模型,那么确保分解更细粒度,并根据上下文范围生成答案可能是有益的。另一方面,如果我们有一个更复杂的模型,如GPT3,我们可能不一定需要这样做。图2所示的结果是在RoBERTa上通过使用最初为GPT3设计的分解在SQuAD上进行微调得到的;注意,在这种情况下,分解的答案可能并不总是上下文中特定句子的跨度。然而,我们取得了不错的性能改进。我们相信,如果分解被设计成与模型的优势相匹配,性能增益将会更大。这种分解的例子包括在附录A中。

        定性分析 我们进行定性分析,以捕获在自动评估量度中遗漏的评估方面。在这里,如果生成的答案在语义上与黄金注释相似,我们将手动检查并认为它是正确的。图4和图5显示了QD在校正模型预测中的贡献。我们观察到,在原始问题上,分解纠正了60%以上的错误。

图4:使用GPT3分解的%误差校正

图5:使用RoBERTa分解的%纠错率 

        误差分析 我们进行误差分析,观察到误差的主要来源是由一个分解问题传播的误差。

        一般来说,错误有两种类型:(i)不正确的跨度选择和(ii)在分解的初始步骤中未能收集所有可能的答案;这通常会忽略实际的正确答案,从而没有为后面的分解单元生成正确答案留下空间。QASC中出现错误是因为我们的上下文无关分解方法(通过直觉)有时会导致模型发现难以回答的开放式问题。附录B中包含了错误示例。

        分解对数学数据集的影响 我们观察到数学数据集从分解中获益最多。这可能有两个原因:1)大多数数学问题可以分解为抽取QA(其中答案是一个跨度)和符号计算的组合。这两个都是语言模型的优势(注意,我们使用的计算器始终提供准确的答案)。然而,在其他QA任务中就不一定是这样了。在分解链中,如果某一步的答案出错,它会一直传播到最后,最后的预测就会出错。2)默认情况下,语言模型很难完成数学任务(Patel et al, 2021;Mishra et al ., 2022),因此,性能改进似乎更加突出。

        分解次数对结果的影响 我们通常根据与问题相关的运算次数(例如数学计算或单跳运算)来分解问题。增加分解次数的好处是它简化了原来的问题,但它也有缺点,如果链中一个问题的答案是不正确的,那么最终的答案就会变得不正确。这从我们对HOTPOTQA和SVAMP数据集的实证分析中也很明显,我们观察到标签QA的数量与最终性能之间没有直接关联。图6显示了对于分解为2、3、4和5的问题所观察到的模型性能改进的变化。

图6:对于分解为2、3、4和5的问题,F1分数的性能改进。

        自动化分解的努力 对于HOTPOTQA、DROP和SVAMP,我们尝试使用GPT3自动化分解过程。为HOTPOTQA生成分解的一个限制是上下文的长度使得很难及时提供足够的示例。使用DROP和SVAMP,我们观察到GPT-3经常为最后一个子问题生成错误的算术运算。它也常常不能对问题进行连贯的分解。我们还对手写分解的BART-base (Lewis et al, 2020)模型进行了微调。然而,模型过拟合,未能产生有意义的分解,可能是由于训练样本数量有限(参见附录C的例子,细节和结果)。

6 结论

        最近构建大型LM的趋势可能无法持续解决不断变化的基准。我们认为修改数据样本可以显著帮助模型提高性能。我们研究了问题分解(QD)对一组不同任务的影响。我们手动分解问题,显著提高了模型性能(GPT3为24%,RoBERTa-SQuAD为29%,还有一个符号计算器)。我们的研究结果表明,人在循环问题分解(HQD)可以潜在地为构建大型LM提供另一种途径。我们的方法为人们参与NLP研究提供了一个可行的选择。

        我们希望我们的工作将鼓励社区开发以人为中心的解决方案,积极参与人类,同时利用NLP资源。

局限性

        我们的human-in-the-loop方法通过分解问题显示出有希望的结果,然而,某些问题仍然难以对人类进行分解。例如,“纽约在哪个国家?”这个问题很难进一步分解。确定分解哪些问题也是一个重要的挑战,在这项工作中没有得到充分的探索。此外,链中有多个正确答案的分解问题可能导致最终答案不正确。在解决这些问题的同时自动化分解过程是未来工作的一个有希望的领域。

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值