ChatGPT真的是「通才」吗?杨笛一等人给它来了个摸底考试
机器之心报道
编辑:张倩、陈萍
论文链接:https://arxiv.org/pdf/2302.06476.pdf
大型语言模型(LLM)已经被证明能够解决各种自然语言处理(NLP)任务,而且对于给定的下游任务,它们不依赖任何训练数据,借助适当的 prompt 就能实现模型调整。这种根据指令执行新任务的能力可以被视为迈向通用人工智能的重要一步。
尽管目前的 LLM 在某些情况下取得了不错的性能,但在 zero-shot 学习中仍然容易出现各种错误。此外,prompt 的格式可以产生实质性的影响。例如,在 prompt 中添加「Let’s think step by step」,模型性能就能得到显著提升。这些限制说明当前的 LLM 并不是真正的通用语言系统。
近日,OpenAI 发布的 ChatGPT LLM 在 NLP 社区引发极大关注。ChatGPT 是通过「人类反馈强化学习(RLHF)」训练 GPT-3.5 系列模型而创建的。RLHF 主要包括三个步骤:使用监督学习训练语言模型;根据人类偏好收集比较数据并训练奖励模型;使用强化学习针对奖励模型优化语言模型。通过 RLHF 训练,人们观察到 ChatGPT 在各个方面都具有令人印象深刻的能力,包括对人类输入生成高质量的响应、拒绝不适当的问题以及根据后续对话自我纠正先前的错误。
虽然 ChatGPT 显示出强大的对话能力,但与现有的 LLM 相比,NLP 社区仍然不清楚 ChatGPT 是否获得了更好的 zero-shot 泛化能力。为了填补这一研究空白,研究者们通过在涵盖 7 个代表性任务类别的大量 NLP 数据集上对 ChatGPT 进行评估,系统地研究了它的 zero-shot 学习能力。这些任务包括推理(reasoning)、自然语言推断(natural language inference)、问答(阅读理解)、对话、摘要、命名实体识别和情感分析。借助广泛的实验,研究者旨在回答以下问题:
ChatGPT 是一个通用的 NLP 任务求解器吗?ChatGPT 在哪些类型的任务上表现良好?
如果 ChatGPT 在某些任务上落后于其他模型,那原因是什么?
为了回答这些问题,作者根据实验结果比较了 ChatGPT 和最先进的 GPT-3.5 模型 (text-davinci-003) 的性能。此外,他们还报告了 FLAN、T0 和 PaLM 等近期工作的 zero-shot、微调或 few-shot 微调结果。
主要结论
作者表示,据他们所知,这是第一次有人对 ChatGPT 在各种 NLP 任务上的 zero-shot 能力进行研究,旨在提供 ChatGPT 的初步概况。他们的主要发现如下:
虽然 ChatGPT 作为一个通才模型显示了一些可以执行多个任务的能力,但它通常比针对给定任务进行微调的模型表现要差(见图 1 和第 4.3 节)。
ChatGPT 的卓越推理(reasoning)能力在算术推理任务中得到了实验证实(第 4.2.1 节)。然而,ChatGPT 在常识、符号和逻辑推理任务中的表现通常不如 GPT-3.5,例如通过生成不确定的响应可以看出来(第 4.2.2 节)。
ChatGPT 在偏向于推理能力的自然语言推断任务(第 4.2.3 节)和问答(阅读理解)任务(第 4.2.4 节)方面优于 GPT-3.5,例如确定文本对中的逻辑关系。具体来说,ChatGPT 更擅长处理与事实一致的文本(即,更擅长对蕴含而不是非蕴含进行分类)。
ChatGPT 在对话任务方面优于 GPT-3.5(第 4.2.5 节)。
在摘要任务方面,ChatGPT 会生成更长的摘要,比 GPT-3.5 表现要差。然而,在 zero-shot 指令中明确限制摘要长度会损害摘要质量,从而导致性能降低(第 4.2.6 节)。
尽管显示出作为通才模型的前景,但 ChatGPT 和 GPT-3.5 在某些任务上都面临挑战,例如序列标注(第 4.2.7 节)。
ChatGPT 的情感分析能力接近 GPT-3.5(第 4.2.8 节)。
方法
如前文所述,该研究主要比较了 ChatGPT 和 GPT-3.5 (textdavinci-003) 在不同任务下的 zero-shot 学习性能。具体而言,他们将任务指令 P 和测试问题 X 作为输入,模型用 f 表示,然后生成目标文本 Y=f (P, X) 来解决测试问题。不同任务的指令和输入格式如图 2 和图 3 所示。
举例来说,当模型执行情感分析任务时,任务指令 P 将文本所包含的情感标记为积极或消极,则输出的答案为积极或消极。当模型在阅读了指令 P 和输入内容 X(内容为一部具有相当力量和真实性的令人惊叹的抒情作品)后,该模型经过判断,有望输出 Y 积极。
与上述单阶段 prompting 方法不同的是,该研究使用两阶段 prompting(Kojima 等人提出),来完成 zero-shot-CoT。
第一阶段采取「让模型一步一步思考(Let’s think step by step)」,指令 P_1 诱导模型生成基本原理 R。
第二阶段采用第一步生成的基本原理 R 以及原始输入 X 和指令 P_1 作为新的输入,引导模型生成最终答案。
之后一个新的指令 P_2 作为提取答案的触发语句。所有任务指令均取自 Brown、Ouyang、Zhang 等人研究,或受其启发。最后需要注意的是,每次对 ChatGPT 进行新的查询时,都要提前清除对话,以避免前面示例的影响。
实验
实验用 20 个不同的数据集来评估 ChatGPT 和 GPT-3.5,涵盖 7 类任务。
算术推理
ChatGPT 和 GPT-3.5 在没有或有 CoT 的情况下,在六个算术推理数据集上的准确率如表 2 所示。在没有 CoT 的实验中,ChatGPT 在其中 5 个数据集上的性能优于 GPT-3.5,显示了其强大的算术推理能力。
图 4 显示了 GPT-3.5 给出错误答案的情况。在图的左侧,问「温迪在玩电子游戏,有 43 条命。在游戏的艰难部分,她失去了 8 条生命。如果她在下一关多得到 39 条命,她会有多少条命?」ChatGPT 给出了正确答案。然而,GPT-3.5 生成了一个错误的答案。可以看出,在使用 CoT 时,ChatGPT 的性能都比 GPT-3.5 好得多。
常识、符号和逻辑推理
表 3 报告了 ChatGPT 与流行 LLM 在常识、符号和逻辑推理数据集上的准确率。可以得到如下观察结果:首先,使用 CoT 可能并不总是在常识推理任务中提供更好的性能,常识推理任务可能需要更细粒度的背景知识。其次,与算术推理不同,ChatGPT 在很多情况下的表现都比 GPT-3.5 差,说明 GPT-3.5 的相应能力更强。
为了分析原因,该研究在图 5 中展示了 ChatGPT 的几个失败案例。我们可以观察到 ChatGPT 很容易产生不确定的响应,从而导致性能不佳。
自然语言推理
表 4 展示了不同模型在两个自然语言推理任务上的结果:RTE 和 CB。我们可以看到,在 zero-shot 设置下,ChatGPT 可以取得比 GPT-3.5、FLAN、T0 和 PaLM 更好的性能。这证明 ChatGPT 在 NLP 推理任务中,具有较好的 zero-shot 性能。
问答
表 6 报告了不同模型在 BoolQ 数据集的准确率,ChatGPT 优于 GPT-3.5 。这表明 ChatGPT 可以更好地处理推理任务。
对话
表 8 中显示了 ChatGPT 和 GPT-3.5 在 MuTual 数据集(多轮对话推理)上的准确率。正如预期的那样,ChatGPT 大大优于 GPT-3.5。?
图 6 为一个具体的示例,我们可以看到 ChatGPT 能够更有效地对给定的上下文进行推理。这再次印证了 ChatGPT 超强的推理能力。
生成摘要
表 9 报告 ChatGPT 和 GPT-3.5 在 SAMSum 数据集上的 ROUGE 得分,令人惊讶的是,ChatGPT 在所有指标上都不如 GPT-3.5。
命名实体识别
表 10 报告了 ChatGPT 和 GPT-3.5 在 CoNLL03 上的 zero-shot 性能。我们可以看到 ChatGPT 和 GPT-3.5 的整体性能非常相似。
情感分析
表 11 比较了不同模型在情感分析数据集 SST2 上的准确率。令人惊讶的是,ChatGPT 的表现比 GPT-3.5 差了大约 1%。
如需了解更多内容,请参考原论文。