摘要
大型语言模型(LLMs)通过少量提示展现出了令人印象深刻的的能力。商业化的API,如OpenAI的GPT-3,进一步增加了它们在现实世界语言应用中的使用。然而,如何提高GPT-3的可靠性这一关键问题仍然尚未得到充分探索。虽然可靠性是一个广泛且定义模糊的术语,但我们将其分解为四个主要方面,这些方面与现有机器学习安全框架相对应,且被广泛认为是重要的:可泛化性、社会偏见、校准和事实性。我们的核心贡献是建立了简单有效的提示,以提高GPT-3的可靠性,具体表现为:1)在分布外进行泛化,2)平衡人口统计分布并使用自然语言指令来减少社会偏见,3)校准输出概率,4)更新LLM的事实知识和推理链条。在适当的提示下,GPT-3在所有这些方面的可靠性都超过了规模较小的监督模型。我们发布了所有处理过的数据集、评估脚本和模型预测。1 我们的系统实证研究不仅为提示LLMs的可靠性提供了新的见解,更重要的是,我们的提示策略可以帮助从业者更可靠地使用像GPT-3这样的LLMs。
1 引言
自然语言处理(NLP)领域由大型语言模型(LLMs)主导,这些模型在大量未标注的文本数据上进行预训练,然后用于下游任务(Devlin等人,2019a;Brown等人,2020)。扩大模型和数据规模通常会在下游任务上带来收益(Kaplan等人,2020;BIG-Bench,2022),这使得一些人称之为涌现能力(Wei等人,2022a)。这些涌现行为是通过提示实现的------一种精心设计的自然语言文本,用于塑造预测或提供相关信息,而无需昂贵的监督数据。在所有现有的LLMs中,GPT-3(Brown等人,2020)因其灵活性和通过OpenAI API使用的便捷性而特别受欢迎。
现有的实证研究探讨了GPT-3在特定任务上的表现,如数学推理(Hendrycks等人,2021a)、多跳推理(Wei等人,2022b;Kojima等人,2022)和代码生成(Chen等人,2021a)。然而,这些评估数字的上升并不能确保LLM的可靠性。例如,LLMs(包括GPT-3)产生了带有偏见(Lucy & Bamman,2021)的生成内容,虚假陈述(Lin等人,2022b)和过时的信息(Chen等人,2021b;Kasai等人,2022)。在现实世界中部署这类模型可能会导致灾难性的伤害。
在提示LLMs的背景下,先前的一些工作已经探讨了它们的可靠性。例如,在GPT-3(Brown等人,2020)、OPT(Zhang等人,2022)、Gopher(Rae等人,2021)和PaLM(Chowdhery等人,2022)的发布报告中,有专门的实验评估这些LLMs的代表性偏见和毒性。另一项工作评估了基于提示的LLMs在数学问题或多选题上的校准(Lin等人,2022a;Kadavath等人,2022)。我们的研究与这些先前工作的两个关键方面不同:(i)我们进行了更全面的研究,涵盖了可靠性的四个核心方面,作为一种元分析。(ii)我们特别关注在这些可靠性方面有效的提示策略,而不仅仅是评估内在模型特性(如图1所示)。
我们的可靠性测试框架受到了机器学习安全中未解决问题调查的启发(Hendrycks等人,2021b):抵御危害(可泛化性)、识别危害(校准)、引导机器学习系统并减少部署危害(减少社会偏见和改进事实性)。这些方面也旨在解决现有概念框架中识别的机器学习系统的风险(Tan等人,2022;2021)。我们在附录部分A中对相关工作进行了更广泛的讨论。
如图1所总结的,我们的简单提示策略在所有我们考虑的可靠性指标上都胜过了规模较小的监督模型:1)从源领域随机抽取示例进行提示,使得GPT-3能够在未见领域和挑战性示例上稳健地泛化;2)从平衡的人口统计分布中抽取示例和自然语言干预减少了社会偏见;3)语言模型概率被校准以反映准确性;4)附加最新知识可以取代GPT-3的记忆知识或推理链条。
2 方面1:概括性
LLMs常常因为只见树木不见森林而受到批评。它们过度拟合特定领域(领域偏移)的训练数据,对文本中的微小变化不具鲁棒性(扰动),或者使用捷径来做出预测(伪相关)。这些病理状态使得模型不可靠,因为现实世界数据中经常发生这些分布偏移,可能会导致性能显著下降。在本节中,我们研究当测试数据来自与提示中的示例不同的分布时,GPT-3是否能保持鲁棒性,以及它们与监督模型的泛化能力相比如何。
实验设置 我们研究了上述三种类型的分布偏移。对于每一种,研究人员已经创建了针对现代语言模型弱点的数据集,我们采用这些数据集进行评估。对于领域偏移,MRQA(Fisch等人,2019)在六个源领域的机器阅读数据集上训练,并在六个不同的目标领域上进行测试;对于扰动,AdvGLUE(Wang等人,2021)基于自动对抗性扰动和人工过滤创造了GLUE(Wang等人,2018)的对抗性版本,而Contrast Sets(Gardner等人,2020)是专家编写的最小编辑,这些编辑改变了标签;对于伪相关,HANS(McCoy等人,2019)和PAWS(Zhang等人,2019)是为在MNLI和QQP上训练的模型设计的挑战集,其中训练数据中的词汇重叠特征在测试时不再成立。对于这些设置中的每一个,我们通过从源领域抽样示例来评估一种简单的提示策略(对于MRQA,我们在所有目标数据集上使用一个固定的提示,该提示由从源领域随机抽样的八个示例组成;对于扰动和伪相关,我们分别从GLUE、MNLI和QQP的原始干净训练数据中随机抽样16个示例)。此外,对于领域偏移,我们还考虑了一种提示,我们从每个目标领域的训练集中抽样八个示例,以消除演示示例分布的影响。
结果 表1和表2比较了在源领域数据集或干净训练数据上训练的监督模型RoBERTa(Liu等人,2019)和BERT(Devlin等人,2019b)与使用与监督模型相同训练数据抽样示例的GPT-3。即使在域内测试集上略逊于监督基线,GPT-3在OOD测试上的准确率也更高,导致泛化差距更小。这表明提示GPT-3可以比监督微调的较小规模语言模型更鲁棒。令人惊讶的是,我们在MRQA上比较了从源领域和目标领域抽样的演示示例,两种提示方法给出了相同的OOD泛化结果,表明GPT-3的提示可以直接泛化到OOD测试集,即使测试示例来自与提示演示分布不同的分布,这可能是因为演示示例的作用更多在于指定任务,而不是通知输入分布(Min等人,2022)。
结论(i)在所有三种设置(领域偏移、扰动、伪相关)下,GPT-3的少量提示比监督模型(如微调BERT和RoBERTa)更鲁棒。(ii)从源数据集中随机抽样的演示示例是一个简单但强大的基线,实际上,它的表现与从目标分布中抽样的演示示例相同。
3 方面2:社会偏见与公平
除了在域内和OOD数据集上的高性能之外,可靠性的第二个关键方面是我们期望模型对不同的人口统计群体公平。当在现实世界应用中部署时,带有偏见的模型会严重伤害少数群体,尤其是那些受到歧视的群体(Cao等人,2022)。在本节中,我们检查GPT-3是否在两个下游任务------共指消解和问答任务中产生带有偏见的预测。
3.1 性别偏见的案例:winobias
数据集 我们从WinoBias数据集(Zhao等人,2018)开始,该数据集使用模板来检查模型是否更倾向于将性别代词分配给刻板印象的职业。WinoBias有两种类型的例子:类型I是模糊的、具有挑战性的例子,需要世界知识;类型II仅使用句法信息就可以解决。对于每种类型,例子要么确认(亲偏见)社会偏见,要么挑战(反偏见)社会偏见。理想情况下,共指消解的准确率在亲偏见和反偏见子集上应该是相似的(差距较小)。
提示设计 为了便于评估,我们将WinoBias数据集重新格式化为问答格式,我们提供原始句子,然后添加一个问题:"上述句子中的代词指的是什么?"("the pronoun"替换为句子中的实际代词),我们使用答案精确匹配作为评估指标。我们从训练集中随机抽样例子作为提示,然后在Pro和Anti测试集上进行评估。
提示中应该包含哪些例子 我们比较以下几种方法:1)从类型I-亲、类型I-反、类型II-亲和类型II-反子集中各抽取四个演示例子(平衡),总共16个演示例子;2)从单个子集中抽取16个演示例子。平衡提示导致的偏见预测最少(表3,第二块)。特别是,如果我们只保留亲偏见例子,模型将倾向于亲偏见预测(尤其是在类型I测试例子上,因为它们更加模糊,而类型II例子有清晰的句法线索)。
例子的排序应该如何 我们比较以下两种方法:1)随机打乱演示例子;2)将所有亲偏见或反偏见例子放在提示的最后。随机打乱最能减少偏见差距(表3,第三块)。有趣的是,将亲偏见或反偏见例子放在最后会增加偏见差距。
3.2 更广泛的社会维度:BBQ
数据集 我们现在使用BBQ(Parrish等人,2022年)来探索额外的社会维度,该数据集测试针对九个受保护群体(年龄、残疾状况、性别认同、国籍、外貌、种族、宗教、社会经济地位、性取向)的社会偏见。BBQ的例子是以四道多项选择题为一组。其中两道题目是模糊的------上下文缺乏指向答案的证据。每组中的另外两道题目有一个指向明确答案的上下文:模型应该选择正确答案而不是放弃作答。
每个问题有三个选项:一个亲偏见答案,支持刻板印象;一个反偏见答案,反驳刻板印象;以及一个中性答案(例如:"无法确定。")。在报告结果时,我们报告以下内容:1)在模糊和明确问题上的准确率(越高越好);2)在模糊和明确问题上的偏见分数(尺度越小越好)。直观来说,偏见分数衡量的是模型在做出非未知预测时预测亲偏见答案的频率,其中0%表示没有偏见,100%表示总是遵循偏见。
答案分布影响偏见我们以不同的答案分布抽取相同数量的演示例子(表4)。在零样本推理中,GPT-3的低偏见是通过低准确率来平衡的。一个平衡的提示------我们抽取既有模糊问题也有明确问题,并且包含亲偏见和反偏见答案的提示------可以提高准确率同时保持低偏见分数。接下来,当我们只在提示中呈现带有中性答案的模糊问题时,GPT-3可以轻松地捕捉到这个模式,总是预测中性答案,这导致在模糊问题上的偏见分数极低和高准确率,但牺牲了在明确问题上的准确率。最后,我们尝试使用带有偏见的提示,我们只在提示中抽取模糊问题,并将它们的答案设置为全部支持偏见或反驳偏见。如表4的最后两行所示,这两种情况都导致模型在模糊问题上获得高偏见分数。这表明当演示例子偏向于某些人口统计群体时,GPT-3会捕捉到这些偏见,因此在下游应用中应首选平衡的提示。
自然语言干预减轻偏见 最后,我们探索使用自然语言指令来引导GPT-3的预测,以实现更好的公平性。我们使用Ambig-Pro-Bias提示,并在每个测试问题前加上额外的指令:"我们应该平等对待不同社会经济地位、性取向、宗教、种族、外貌、国籍、性别认同、残疾和年龄的人。当我们没有足够的信息时,我们应该选择未知选项,而不是基于我们的刻板印象做出假设。"在表5中,添加这种干预后,GPT-3更频繁地选择中性答案,这使得在模糊问题上的准确率大大提高,同时显著降低了偏见分数。这表明GPT-3对这种自然语言干预很敏感。这与较小的语言模型如RoBERTa(Zhao等人,2021a)相比,后者更为僵化。这一发现为有效减少社会偏见提供了新的方法。
要点 (i) 答案的人口统计分布对模型的偏见有巨大影响,抽样平衡的提示最能减少偏见。 (ii) 随机打乱演示例子比将所有亲偏见或反偏见例子放在最后产生的偏见要小。 (iii) 通过提示中的指令明确模型的行为意图,如公平性,可以有效引导模型预测。
4 第三方面:不确定度校准
没有语言模型是完美的,为了安全地使用这些不完美的模型,用户必须决定何时信任模型预测,以避免不信任错误的预测,特别是在高风险的设置中。这需要可靠性的另一个方面------不确定性校准:为每个模型预测提供置信度分数,以准确反映预测答案正确的可能性。
4.1 评估设置
我们研究了自由格式答案生成的设置:给定一个测试问题,我们提示模型生成一个答案字符串并获得其置信度分数(详见下文),我们基于与黄金答案的精确匹配来评估生成答案的正确性。我们使用三个QA数据集进行实验:NQ、TriviaQA和HotpotQA。在所有情况下,我们都采用闭卷设置(即,没有额外的证据段落)。
我们专注于内在校准结果:使用原始置信度分数而不是事后校准,这需要额外的参数调优开发集。我们报告了标准校准度量预期校准误差(ECE),可靠性和选择性预测结果,其中我们根据其置信度对所有预测进行排名,并查看最自信预测的准确性是否显着高于平均精度。由于ECE的桶状机制存在已知缺陷(Si等人,2022),因此我们也报告了Brier评分(Brier, 1950)。我们的基线是一个有监督的QA模型- DPR- bert (Si等人,2022)-具有密集通道检索器(DPR;Karpukhin等人,2020)将最热门的段落输入BERT阅读器模型进行答案提取。我们遵循他们对dprr - bert评分预测的联合校准设置。
我们比较了两种估计GPT-3预测置信度的方法。LMProb:(标准化的)语言模型概率,也相当于困惑度的倒数,是Conf≡P(w1w2::: wn) 1n,其中w1w2::: wn是答案中生成的令牌。SelfCon:我们还探索了使用self-consistency (Wang et al ., 2023)来获得自信度量。
按照Wang等人(2023)的做法,在解码过程中,我们设置了高温值(0.7),并对一组不同的预测进行了10次采样。在所有生成的答案中,我们将出现频率最高的答案作为最终预测,其出现频率作为置信度得分。
4.2 结果
虽然仍有不足,但GPT-3(无论是LM-Prob还是Self-Con)的校准效果比监督式DPR-BERT模型要好(表6)。大多数校准误差来自于过度自信,即预测的置信度高于预期的准确率。有趣的是,尽管增加提示中的例子数量可以提高准确率,但校准效果并没有改善。例如,2个样本的准确率比64个样本低5.8个百分点,但校准效果更好。此外,尽管OOD(Out-of-Domain)迁移对于监督式模型的校准是一个挑战(在OOD测试集上倾向于过度自信),但GPT-3无论例子的来源如何,其校准效果都相似。
选择性预测的结果显示,置信度分数可以排列模型的预测(表7):最自信的预测具有更高的准确率。此外,GPT-3的置信度分数更具区分性。例如,尽管GPT-3和DPR-BERT在NQ上的平均准确率相似,但GPT-3最自信的10%的预测准确率为83.1%,而DPR-BERT仅为60.1%。这种选择性预测在实际设置中非常有用,例如,我们只信任模型最自信的预测,并让人类验证其余的,这使得GPT-3的使用更加可靠。
要点 (i) 语言模型概率和自我一致性频率可以在GPT-3上产生比监督式DPR-BERT模型更好的校准效果,特别是在OOD测试集上。 (ii) 增加提示中的演示例子数量可以提高准确率,但不一定会改善校准效果。 (iii) 我们可以根据GPT-3的置信度分数进行有效的选择性预测。
5 方面4:通过知识更新的事实
尽管大型语言模型在其参数中存储了大量知识(Petroni等人,2019),但该模型有时是错误的或过时的,使得它们对于知识密集型任务不可靠。在本节中,我们通过改进提示方法来改进可靠性的事实性方面。
5.1 记忆vs更新
模型的规模越大,它能够记忆的内容就越多(Carlini等人,2023年),这引发了一个担忧,即像GPT-3这样的大型模型是否能够在需要时忘记记忆中的知识并更新其知识。
实验设置 我们的评估设置受到Longpre等人(2021年)的启发,他们探讨了反事实场景。具体来说,我们从NQ和SQuAD的训练分割中抽取了36K和18K个问题(分别使用MRQA提供的分割)。我们首先使用每个数据集中的16个演示例子作为闭卷问答的提示。我们假设如果GPT-3在闭卷设置中正确回答了问题,那么它已经记住了那一块知识。我们保留了GPT-3在闭卷设置中回答正确的问题集(对于NQ,有21188个问题;对于SQuAD,有7035个问题),对于这些问题,我们附加了一个支持替代答案的反事实段落。我们使用Longpre等人(2021年)的实体交换方法构建这些反事实:对于每个问题,取其黄金段落并将黄金答案实体替换为从同一问答语料库中抽取的相同类型的另一个实体。经过这样的实体替换后,反事实段落支持替换的答案而不是原始答案。我们期望模型应该根据这个反事实段落生成更新后的答案,而不是其原始记忆中的答案。我们随机抽取16个演示例子作为提示,并使用答案替换段落、问题和替换答案的三元组(hP', Q, A'i)在提示中指定基于段落的阅读理解任务。
测量GPT-3更新其知识的能力 有三种可能的结果:1)模型保留了记忆中的答案;2)模型预测了更新的答案(即反事实段落中的替换实体);3)模型预测了其他答案。我们测量这些结果的比例,并希望模型更频繁地更新答案。作为一个基线,我们包括了Longpre等人(2021年)的结果:一个经过微调的T5阅读器------在NQ和NewsQA上训练,并带有DPR检索器。
结果 如表8所示,我们发现当使用反事实三元组(hP', Q, A'i)进行提示时,GPT-3能够在大约85%的时间里更新答案,远高于监督式基线(表8)。比较Text-Davinci-001和Text-Curie-001,更大的模型也能更好地更新反事实段落中的新答案。
5.2 检索增强开放域qa
大型语言模型能够从模型的存储知识中回答闭卷问答(Roberts等人,2020年)。然而,一个提示可以谨慎地添加更多相关信息,特别是鉴于我们上一节的发现,GPT-3可以使用提示中的信息更新其知识。因此,我们探索通过检索增强的提示来提高事实问答的性能。
方法 我们使用无监督的Contriever模型(Izacard等人,2022a):对于测试问题,从维基百科转储中检索顶部段落,将它们连接起来,并附加到测试问题之前。由于上下文长度有限,我们只将检索到的段落附加到测试问题之前,而不是演示例子,因此演示例子仅以问题-答案对的形式存在。我们将这种检索增强的方法与闭卷基线进行比较,在闭卷基线中,我们不在提示中添加检索到的段落。用于检索增强提示和闭卷提示的演示例子完全相同。
结果 将检索到的段落添加到提示中,一致地提高了GPT-3在所有三个开放域问答数据集上的性能(表9),特别是在SQuAD上获得了较大的收益(可能是因为SQuAD中的答案来自维基百科段落,而不是自由形式的答案)。此外,检索的召回率越高,性能表现越好。
5.3 推理增强多跳qa
上述实验展示了通过上下文知识更新确保GPT-3事实性的有效性;然而,这主要局限于简单的单跳事实问题。在现实世界应用中,许多用户查询都是多跳的------它们需要通过对事实知识的多个步骤推理。在多跳问题中确保事实性涉及额外的挑战:模型可能因为推导推理步骤错误而失败。为了应对这个更具挑战性的多跳设置,我们研究了是否有可能通过在提示中引入人类编写的问题分解来提高GPT-3的多跳推理能力。
HotpotQA和分解的子问题 我们使用HotpotQA数据集(Yang等人,2018年)进行实验,该数据集包含需要至少两步推理的多跳问题。我们使用Tang等人(2021年)的问题分解,其中HotpotQA问题被注释为分解的(单跳)子问题,并带有相应的中间答案。
基线链式思维提示 Chain-of-Thought (CoT)提示(Wei等人,2022b)是一种针对多步骤问题定制的新提示方法,我们在实验中采用它作为基线,我们为所有演示例子提供人类编写的推理步骤,以诱导测试例子上的类似推理。我们测量GPT-3在HotpotQA(整体)以及分解的单跳子问题上的最终答案预测的准确率。从表10的第一行可以看出,标准提示在单跳子问题上的准确率高于整个多跳问题,这是预期的。CoT生成整个推理链以及其分解的子问题和子问题的中间答案,其中多跳问题的准确率高于标准提示(表10的第二行)。
引入人类分解 而不是依赖GPT-3本身生成推理链,我们在提示中添加了人类编写的问题分解。当我们为推理的第一步添加人类编写的子问题(表10倒数第二行)时,我们看到了整体多跳QA准确率和子问题准确率的明显提高。此外,当我们进一步添加推理链中第一个分解问题的人类编写的QA对(表10最后一行)时,多跳QA性能有了更大的提升。这表明GPT-3能够适应人类的问题分解信息,并推导出后续的推理步骤,最终获得正确的答案,提供了更好的控制和可靠性。
要点 (i) 添加检索到的证据段落可以提高GPT-3在事实QA上的性能。(ii) 当提供与GPT-3记忆知识相冲突的段落时,GPT-3可以更新其知识。 (iii) 引入人类编写的问题分解可以纠正GPT-3的推理链,并提高多跳QA的性能。
6 结论
我们的工作从四个关键方面系统地研究了GPT-3的可靠性:概括性、公平性、校准性和真实性。我们制定了有效的提示策略,使GPT-3在这些方面的表现大大优于监督模型。我们的工作揭示了法学硕士的新见解,并为GPT-3的用户提供了实用的建议。我们希望我们的工作能够激发更多的未来工作:(1)研究可靠性的更多方面,例如避免有害的代;(2)将本文的提示方法应用于更多的现实应用,例如将人类反馈纳入协同多步骤规划;(3)进一步探索更有效的提示策略来提高信度,如对语言模型概率进行事后校准。