ChatGPT 自问世以来,便展现出了令世人惊艳的对话能力。仅用两个月时间,ChatGPT 月活跃用户就达一亿,是史上用户增速最快的消费应用。对于学术界、工业界、或是其他相关应用来说都是一个非常大的机会和挑战。
事实上,ChatGPT 的成功并不是偶然结果,其背后多有哪些创新之处,本文整理于由中国人工智能学会主办的「ChatGPT 及大模型专题研讨会」上复旦大学邱锡鹏教授带来的《对话式大型语言模型》的分享,他从大规模预训练语言模型带来的变化、ChatGPT 的关键技术及其局限性等角度深入地介绍了大规模语言模型的相关知识。
邱锡鹏,复旦大学计算机学院教授,MOSS 系统负责人
为什么是大语言模型?
随着算力的不断提升,语言模型已经从最初基于概率预测的模型发展到基于 Transformer 架构的预训练语言模型,并逐步走向大模型的时代。为什么要突出大语言模型或是在前面加个“Large”?更重要的是它的涌现能力。当模型规模较小时,模型的性能和参数大致符合比例定律,即模型的性能提升和参数增长基本呈线性关系。然而,当 GPT-3/ChatGPT 这种千亿级别的大规模模型被提出后,人们发现其可以打破比例定律,实现模型能力质的飞跃。这些能力也被称为大模型的“涌现能力”(如理解人类指令等)。
上图是多个 NLP 任务随着模型规模扩大的性能变化曲线,可以看到,前期性能和模型规模大致呈线性关系,当模型规模大到一定程度时,任务性能有了明显的突变。因此,通常以百亿/千亿级参数量作为 LLM 研究的分水岭。除此之外,大规模语言模型基座的可扩展性很强,其能够很容易和外部世界打通,源源不断地接受外部世界的知识更新,进而实现反复自我迭代。因此,大规模语言模型也被看作是实现通用人工智能的希望。
ChatGPT的三个关键技术
目前,很多公司和组织都在跟风 ChatGPT,推出类似的聊天机器人产品。这主要是因为 ChatGPT 的成功,给人们带来了信心,证明了聊天机器人技术的可行性和潜力,让人们看到了聊天机器人在未来的巨大市场和应用前景。ChatGPT 的三个关键技术为:情景学习、思维链、自然指令学习,接下来将详细介绍一下这三个技术。
情景学习(In-Context Learning)
改变了之前需要把大模型用到下游任务的范式。对于一些 LLM 没有见过的新任务,只需要设计一些任务的语言描述,并给出几个任务实例,作为模型的输入,即可让模型从给定的情景中学习新任务并给出满意的回答结果。这种训练方式能够有效提升模型小样本学习的能力。
情景学习的示例图
可以看到,只需要以自然语言的形式描述两个情感分类任务输入输出的例子,LLM 就能够对新输入数据的情感极性进行判断。例如,做一个电影的评论,给出相应的任务模型,即可输出正面的回答。
思维链(Chain-of-Thought,CoT)
对于一些逻辑较为复杂的问题,直接向大规模语言模型提问可能会得到不准确的回答,但是如果以提示的方式在输入中给出有逻辑的解题步骤的示例后再提出问题,大模型就能给出正确题解。也就是说将复杂问题拆解为多个子问题解决再从中抽取答案,就可以得到正确的答案。
思维链示意图
如思维链示意图所示,左边是直接让模型进行数学题的计算会得到错误的结果,而右侧在解题过程加入了一个示例,引入解题过程则可以激发模型的推理能力,从而得到的正确的结果。
这就是一个简单的可以通过计算能力从思维链中分离,有助于大模型完成任务,从而减轻神经网络的负担。由于 CoT 技术能够激发大规模语言模型对复杂问题的求解能力,该技术也被认为是打破比例定律的关键。
自然指令学习(Learning from Natural Instructions)
早期研究人员希望把所有的自然语言处理任务都能够指令化,对每个任务标注数据。这种训练方式就是会在前面添加一个“指令”,该指令能够以自然语言的形式描述任务内容,从而使得大模型根据输入来输出任务期望的答案。该方式将下游任务进一步和自然语言形式对齐,能显著提升模型对未知任务的泛化能力。
自然指令学习示意图
如自然指令学习示意图所示,左边是自然指令的测试场景,人们把 NLP 任务做到 1000 多种,目前最新模型可以做到 2000 多种 NLP 任务,接下来再对 NLP 任务进行分类,比如能力 A、能力 B,大模型指令能力、泛化能力非常强,学到四五十个任务时就可以泛化到上百种任务。但距离真正的 ChatGPT 还有一步,那就是和真实的人类意图对齐,这就是 OpenAI 做的 GPT。核心逻辑非常简单,一开始时让人写答案,但是成本太高,改成让人来选答案,这样对标注员的能力要求稍微低一点,可以迅速提升迭代和规模。基于打分再训练一个打分器,通过打分器自动评价模型的好坏,然后用强化学习开始迭代,这种方法可以大规模地把数据模型迭代给转起来,这是 OpenAI 做的 Instruct GPT 逻辑,强化学习的人类反馈。