邱锡朋:于复旦大学获得理学学士和博士学位。主持开发了开源自然语言处理工具FudanNLP 、FastNLP,获得了学术界和产业界的广泛使用。指导学生多次获得中国人工智能学会优博、中国中文信息学会优博、微软学者、百度奖学金、上海市计算机学会优博等。
国内第一个对话式大型语言模型MOSS已由邱锡鹏教授团队发布至公开平台(https://moss.fastnlp.top/),邀公众参与内测。复旦:国内首个类ChatGPT来了,名字叫“MOSS”邀公众参与内测
MOSS可执行对话生成、编程、事实问答等一系列任务,打通了让生成式语言模型理解人类意图并具有对话能力的全部技术路径。这条路径的走通,为国内学术界和产业界提供了重要经验,将助力大语言模型的进一步探索和应用。
邱锡鹏表示:“尽管MOSS还有很大改善空间,但它的问世证明了在开发类ChatGPT产品的路上,国内科研团队有能力克服技术上的重要挑战。”MOSS研发项目得到了上海人工智能实验室的有力支持。后期,这项工作将通过开源方式和业界社区分享。
以下为2023年2月17日,复旦大学邱锡鹏教授在高瓴人工智能学院做主题为“大型语言模型的能力分析与应用”的报告。点此阅读原文
前言丨ChatGPT的前世今生
ChapGPT自2022年底问世以来,便展现出了令世人惊艳的对话能力。仅用两个月时间,ChatGPT月活跃用户已达一亿,是史上用户增速最快的消费应用。对于学术界、工业界、抑或是其他相关应用来说都是一个非常大的机会和挑战。
事实上,ChatGPT的成功并不是偶然结果,在目前的版本开放出来以前,OpenAI已经在训练大规模语言模型的道路上深耕多年。ChatGPT的发展路径可以由下图概括:
从2017年Transformer框架被提出后,OpenAI在第二年就提出基于Transformer架构的预训练语言模型,GPT,开始了(大规模)预训练语言模型道路的探索。2020年提出的GPT-3则是首个参数量达到千亿级别的模型,称得上是真正的“大规模”语言模型(Large Language Model,LLM)。2021年,OpenAI提出的CodeX模型在GPT-3的训练数据里引入代码数据,使得模型能够从代码数据中学习严谨的逻辑结构和问题拆解能力,为GPT引入了思维链(Chain-of-Thought,CoT)的能力。同年,GPT的另一条发展方向是和搜索引擎相结合,诞生了具备搜索能力的WebGPT,其能够根据搜索的交互数据来进一步提升语言生成的可靠性和准确性。2022年OpenAI再次提出InstructGPT,使得GPT能够理解更贴合人类自然语言的指示,并根据该指示作出正确的文本生成。同年,ChatGPT横空出世,其强大的对话能力和高质量的回答内容刷新了人们对AI的认知,被认为是人工智能里程碑式的应用。
总的来说,ChatGPT这种LLM的优点主要来自于以下几个关键点:
1. 模型结构。GPT一族的模型都是基于Transformer结构的。Transformer的高并行性使其很容易扩展到大规模模型上(百/千亿级别参数量),这使其能够从更大规模的数据中学习更多的知识,显著提升知识储备能力。
2. 训练数据。由于代码是一种逻辑非常严谨的文本,且函数之间的调用关系本质上是将复杂问题拆解为多个小问题来组合解决,因此引入代码数据来训练模型能够有效提升模型的思维链能力。
3. 训练数据的形式。Instruct learning构造了更符合自然语言形式的训练数据,在提升GPT语义建模能力的同时也提升了模型在多种未知下游任务的泛化能力。
更进一步,大规模语言模型基座的可扩展性很强,其能够很容易和外部世界打通(如WebGPT和搜索引擎相结合),源源不断地接受外部世界的知识更新,进而实现反复自我迭代。因此,大规模语言模型也被看做是实现通用人工智能(AGI,Artifical General Intelligence)的希望。
接下来,邱锡鹏老师从大规模预训练语言模型带来的变化、ChatGPT的关键技术、训练方式、能力分析及其局限性等角度深入地介绍了大规模语言模型的相关知识。
一、大型语言模型带来的变化
01
模型性能
随着算力的不断提升,语言模型已经从最初基于概率预测的模型发展到基于Transformer架构的预训练语言模型,并逐步走向大模型的时代。当模型规模较小时,模型的性能和参数大致符合比例定律(scaling law),即模型的性能提升和参数增长基本呈线性关系。然而,当GPT-3 / ChatGPT这种千亿级别的大规模模型被提出后,人们发现其可以打破比例定律,实现模型能力质的飞跃。这些能力也被称为大模型的“涌现能力”(如理解人类指令等等)。
下图是多个NLP任务随着模型规模扩大的性能变化曲线,可以看到,前期性能和模型规模大致呈线性关系,当模型规模大到一定程度时,任务性能有了明显的“飞升”。因此,当前研究通常以百亿/千亿级别参数量作为LLM的分水岭。
02
模型使用方式的转变
对于“传统”的预训练语言模型,科研工作者们的使用方式主要是对模型参数在下游任务上做微调来使预训练模型适应相应领域的任务。而大规模语言模型模型参数量大,微调困难,且预训练的模型已经具备强大的基础能力,因此提示学习(prompt learning)是激发大规模模型在多种不同下游任务上性能的更好方式。能够根据提示进行学习是LLM所涌现出的能力之一。
03
自然语言处理的范式迁移
上面的LLM模型使得生成范式,即(M)LM((Masked) Language Model),逐渐替代分类范式成为主流。从下图中可以看到,近几年(M)LM模型有逐渐统一语言模型范式的趋势。
注:这里的(M)LM主要指的是自回归式的给定前缀生成下一个单词的大规模模型,通常由解码器(decoder)实现,将MLM(Masked Language Model,掩码语言模型)包含进该概念是因为MLM本质也是预测(生成)单词的模型,只是包含了编码器(encoder)结构。
同时,正如前文所述,NLP的任务训练方式也逐渐修改,由预训练+微调(pretraining+fine-tuning)来调整语言模型参数的方式,逐渐变为根据下游任务修改自身描述(如加入指令),使得任务本身更靠近自然语言的形式,从而激发预训练模型的丰富潜能。
二、ChatGPT的三个关键技术
01
情景学习(In-context learning)
对于一些LLM没有见过的新任务,只需要设计一些任务的语言描述,并给出几个任务实例,作为模型的输入,即可让模型从给定的情景中学习新任务并给出满意的回答结果。这种训练方式能够有效提升模型小样本学习(few-shot learning)的能力。下图是一个情景学习的示例。
可以看到,只需要以自然语言的形式描述两个情感分类任务输入输出的例子,LLM就能够对新输入数据的情感极性进行判断。
02
思维链(Chain-of-Thought,CoT)
对于一些逻辑较为复杂的问题,直接向大规模语言模型提问可能会得到不准确的回答,但是如果以提示(prompt)的方式在输入中给出有逻辑的解题步骤(即将复杂问题拆解为多个子问题解决再从中抽取答案)的示例后再提出问题,大模型就能给出正确题解。
如图所示,直接让模型进行数学题的计算会得到错误的结果,而引入解题过程则可以激发模型的推理能力,从而得到的正确的结果。
有时,甚至不用给示例,在输入后面接一句“Let’s think step by step”,模型的输出就是一步一步“思考”后的各个子问题的结果,再将该输出拼到输入后构造第二次输入数据,大模型就能进一步将上一步的输出整合,得出正确的复杂问题的解。(so amazing!)
目前有研究发现,由于数据集中存在的大量代码数据,得益于代码的强逻辑性,通过将问题中的文本内容替换为编程语言能够进一步提升模型的CoT能力(Program-aided Reasoning)。
由于CoT技术能够激发大规模语言模型对复杂问题的求解能力,该技术也被认为是打破比例定律的关键。
03
自然指令学习
(Learning from Natural Instructions)
这种训练方式会在输前面添加一个“指令(instruction)”,该指令能够以自然语言的形式描述任务内容,从而使得大模型根据输入来输出任务期望的答案。该方式将下游任务进一步和自然语言形式对齐,能显著提升模型对未知任务的泛化能力。
在训练方式上,ChatGPT沿用了InstructGPT的训练方式,即基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF),区别仅在于ChatGPT将训练数据改为对话的形式(由于ChatGPT并没有公开论文,该观点来自作者的博客,链接如下,https://openai.com/blog/chatgpt/)。因此我们在这里介绍一下InstructGPT是如何应用RLHF来训练模型的。由于文本生成的优劣很多情况下是很主观的,取决于人类的偏好和价值观。因此现有的文本生成评价指标很难衡量人们对于文本生成优劣的感知。RLHF的目的就是通过人类对生成文本的反馈(即人工标注数据)来训练模型,使得模型生成的文本更符合人类的期待。RLHF的训练方式如下所示:
第一步:首先从大量的包含人类真实意图的指令集合中采样指令作为输入数据,并聘请专职标注员标注这些指令的输出,这部分相对而言是一个高质量的小数据集。数据收集完成后,使用GPT-3.5在该数据集上进行有监督的微调(supervised fine-tuning)。
第二步:得到上一步微调好的GPT-3.5之后,再次从指令集合中采样指令作为输入数据,从GPT-3.5得到多个不同的结果,并聘请专职标注员标注这些输出的好坏顺序,例如输出D>输出C>输出A>输出B。由于只需要标注模型不同输出的好坏,这部分标注的成本会降低很多,因此数据规模也会较大。得到这些人工标注的输出顺序之后,可以训练得到一个打分(reward)模型。
第三步,获得打分模型之后,接着从指令集合中采样一些新的指令作为输入数据,并结合打分模型,使用PPO(一种强化学习算法)方式来训练得到最终的ChatGPT。
四、ChatGPT的能力发展
目前,主要可以从下面四个维度来衡量LLM模型的能力
1、Know Knowns:LLM知道它知道的东西。
2、Know Unknowns:LLM知道它不知道哪些东西。
3、Unknow Knowns:LLM不知道它知道的东西。
4、Unknow Unknowns:LLM不知道它不知道的东西。
从上图中GPT-3到ChatGPT的能力发展过程可以看到:ChatGPT通过更大规模的预训练,得到了更多的知识,即knowns范围扩大。事实上,模型在应用时并不能完全解锁自己的所有知识储备,正如我们在CoT章节中介绍的,当我们直接给模型一个复杂数学题时,他并不能给出正确答案,而当我们在prompt中加入“Let’s think step by step”,模型则可以给出求解思路,并抽取出正确答案。这种情况我们认为是模型本身潜在地包含了这些知识,只是由于提示不足而没有解锁这部分能力,称为unknow knowns,即knowns包含know knowns 和 unknow knowns。而ChatGPT则通过较强的思维链能力,解锁了一部分Unknow Knowns,进一步扩大know knowns的占比。
因此,邱锡鹏老师也在报告中提到,解锁unknow knowns的关键是CoT技术。有研究发现,ChatGPT的思维链能力可能一定程度上来源于在代码数据上的预训练(如上文中提到的Program-aided Reasoning),但这部分的研究还需要进一步开展。同时,配合指令学习和人工反馈,ChatGPT可以使得自己的回答更符合人类预期,即增强Know knowns/Unknowns的能力,例如,当人们提问“2026年世界杯冠军是哪个国家”时,ChatGPT会老实的回答自己没有预测能力,而不会胡说八道(这会降低人们的使用好感度)。通过上述三部分的增强,最终的Unknow Unknowns部分也相对变得很小。
另外,ChatGPT还关注了伦理问题,通过类似解决Know Unknowns的方式,利用人工标注和反馈,拒绝回答一些包含伦理问题的请求。
五、ChatGPT的能力分析
首先来分析ChatGPT的know knowns能力,之前的工作主要关注于模型的准确性,针对现有模型能力评价工作局限于模型准确性的问题,HELM(Holistic Evaluation of Language Models)这篇工作提出应当从多个维度关注模型能力,包含准确性,鲁棒性,公平性,有偏性,效率等等。
现有的针对LLM的基准测试都有着一系列局限性,包含范围受限,不够通用等等,导致基准测试的难度提升逐渐滞后于模型的迭代。为了解决这一问题,邱老师团队提出使用高考题(GAOKAO-Bench)作为评测LLM的一种方式,高考题作为评测方式有着如下有点:1)具有挑战性且灵活;2)简单直观;3)数量多,多领域,质量高;4)稳定,有相应解释,便于测试人员分析。
邱老师团队在GAOKAO-Bench上对ChatGPT进行了评测,取得了相当惊人的结果。(发现ChatGPT的客观题能力与500分左右高考生相当,其在政史地等学科的主观题上成绩也不错。)
当然,ChatGPT对求解GAOKAO问题还存在一些不足,如缺乏语音信息(听力题)和图片信息(图片题)的理解能力。之后科研工作者们可以考虑在ChatGPT的上游使用一些多模态模型将语音信息和图片信息转换为ChatGPT可以理解的文本信息来增强这一部分的能力。
六、ChatGPT的能力局限
相较于ChatGPT本身的能力而言,它的局限性相对较少且都比较容易解决。图灵奖得主,人工智能三巨头之一Yann LeCun认为ChatGPT有如下缺点:
1)Limited in their current form,即目前形式有限。当前的ChatGPT仅局限于文本方向,但如前面所说,可以在上游使用一些多模态模型初步解决这个问题。
2)Not easily controllable,即不易控制。目前已有不少报道通过各种方式解锁了模型的Ethic和部分know unknowns限制,但这部分可以通过更多的人工标注和对齐解决。
3)Very Limited reasoning capabilities,即推理能力较差。前面也提到过,通过思维链的方式,一定程度上可以增强模型推理能力。
4)Disconnected to the underlying reality of the real world,即无法与现实世界相接触。这也是目前ChatGPT最大的问题之一,作为LLM模型,它无法实时与外部世界互动,也无法利用如计算器,数据库,搜索引擎等外部工具,导致它的知识也相对落后。不过OpenAI的另一条道路,WebGPT则一定程度上实现了和外部世界的接通。
总结一下,后续我们如果将LLM作为智能体本身,能够与外部交互之后,这些模型的能力一定会有更大的提升。但我们要始终保证这些AI模型的模型可信:有助、无害、诚实。
Q & A
Q: 通过与ChatGPT这样拥有大量世界知识的LLM交互,是否存在能够把一些隐私黑出来的可能,是否存在一些隐私问题以及如何解决。
A: 隐私问题一定存在,包括之前的GPT等语言模型,都从数据侧和模型侧进行了限制。数据侧的主要方法是请标注人员标注一些隐私数据不能够训练,模型侧的主要方法是限制模型回答一些包含隐私话题的问题(类似ethic方向上的限制)。但这两个方法均不能完全解决这个问题,未来在隐私问题上的研究也会是一个open problem。
Q:ChatGPT在训练过程中使用了强化学习的技术,那能否参考从AlphaGo到AlphaZero的技术演变思路,从向人类学习演变到机器自我对抗增强能力?比如说让一个ChatGPT提问,另一个ChatGPT回答。如果通过这种方式训练ChatGPT超越了人类的表现,该如何处理?
A:这是一个很好的思路,从原理上来讲是可行的。ChatGPT的出现让我们对AI的发展有了更好更新的思路,提供了更多的研究机会。对于第二个问题,我们在ChatGPT能力限制中也提到过,他的表现如果真的超越了人类,也一定要保证它的模型可信性。
评论
沙发等你来抢