学术报告丨哈工大计算学部长聘教授车万翔:ChatGPT浅析

作者:duke 日期: 分类:网络转载 浏览:4343

以下文章来源于机器之心 ,作者机器之心

3 月 21 日,在机器之心举办的 ChatGPT 及大模型技术大会上,哈尔滨工业大学计算学部长聘教授、博士生导师车万翔发表主题演讲《ChatGPT 浅析》,在演讲中,他回答了 ChatGPT 究竟解决了什么科学问题,是如何解决该问题的,以及未来还有哪些亟待解决的问题。

以下为车万翔在机器之心 AI 科技年会上的演讲内容,机器之心进行了不改变原意的编辑、整理:

大家好,我是来自哈尔滨工业大学的车万翔,非常感谢机器之心的邀请,我本次报告的题目为《ChatGPT 浅析》。之所以说是浅析,是因为我们确实没有了解到关于 ChatGPT 的更多详细内容,只是根据发表的一些论文来猜测它背后的技术。

自然语言处理ChatGPT 属于自然语言处理研究方向的一个最新进展。首先什么是自然语言处理呢?自然语言指的是人类语言,特指文本符号,而非语音信号。而自然语言处理就是让用计算机来理解和生成自然语言的各种理论和方法。当然传统的、或者说很早以前的自然语言处理,等价于自然语言理解,因为当时自然语言生成太难了,只能用一些模板的方法来生成。但是现在我们看到,随着 AIGC 等这些技术的进步,生成技术成为自然语言处理的一个主流方向,像 ChatGPT 本身就是一种生成模型,这也是自然语言处理的最新进展。其实让机器理解自然语言还是件很难的事,因为从人类的智能角度来讲,自然语言处理属于认知智能,需要更强的抽象和推理能力。

自然语言处理面临很多难点,我们举例来说,如下图所示,在这次对话中,内容包含很多「意思」,不同的「意思」代表不同的含义,这种情况属于典型的歧义性问题。除了歧义性之外,自然语言处理面临的难点还包括抽象性、组合性、进化性等。在抽象性这个问题中,我们以汽车这个词举例,它背后有非常丰富的含义,我们一说到汽车这两个字就会有很多联想;组合性也是一样,无论哪种语言,它都是由一些基本符号构成的,这些基本符号可以组合成无穷无尽的语义。

正是因为这些难点,使得自然语言处理成为制约人工智能取得更大突破和更广泛应用的瓶颈,包括多位图灵奖得主在内的众多学者,很早之前他们就提出自然语言处理将是人工智能未来发展的重要方向,因而自然语言处理也被誉为「人工智能皇冠上的明珠」。我们发现近期人工智能很多进展都离不开自然语言处理,比如著名的 Transformer,它最早是用于解决机器翻译问题,到后来的 BERT 以及 ChatGPT,其实这一波又一波的浪潮都是和自然语言处理相关。所以把自然语言处理称为人工智能皇冠上的明珠也不过誉。

传统的自然语言处理可分为四个方向:底层的资源建设;中间层的基础研究,包括分词、词性标注等;接着是应用技术研究,包括信息抽取、机器翻译、问答系统等;再往上是应用系统,包括教育、医疗等。但为什么说是传统自然语言处理呢?这两个字是在三个月前加上的,首先是很多基础研究任务,如分词、词性标注等已经蕴涵在大模型中了,所以这些基础任务就没有存在的必要。其次,ChatGPT 不是针对一个模型或者一个单独任务去做,它把所有应用任务统一起来进行,所以传统的按照任务划分的方式会受到挑战。因此,对于整个自然语言处理来讲可能需要重新洗牌。

自然语言处理发展历史和人工智能发展历史几乎是同步的,从上世纪五十年代开始利用小规模专家知识;1990 年出现了浅层机器学习算法;2010 年深度学习算法;然后 2018 年以预训练模型为代表的范式出现;到 2023 年 ChatGPT 等模型的出现,一共经历五次范式变迁。

预训练语言模型无论是 ChatGPT、还是 BERT,其背后都是预训练模型。什么是预训练模型呢?传统的机器学习方法,从一些未标注的数据里面采样出一些数据,然后经过人工标注训练出一个模型。但是随着未标注数据的增加,人类已经没办法逐个标注,怎么办呢?然后预训练模型出来了,有人称其为无指导方法,其实更准确的名字是自指导或者自监督方法,毕竟这一方法利用了语言自身的顺序性。有了预训练模型之后,我们在目标任务上进行精调,这样就可以获得目标任务更好的模型。传统的方法根据不同的任务训练不同的模型,假如说有很多任务,就需要精调很多模型,这样给模型训练和应用带来很大的麻烦。

在预训练模型阶段比较有代表性的研究是 GPT-3,它是 OpenAI 和微软在 2020 年发布的大模型,参数量达 1750 亿,以当时的视角来看,研究者认为这个模型太大没办法精调,所以「提示语」方法出现了。所谓提示语,即直接给出任务描述,可以让模型自动补全这个任务,这个补全过程就是在完成任务,如果再给出一些示例,模型性能可能会更好,这种也叫做情境学习。采用这种方式的一个好处是模型无需针对某一个任务再次训练,就可以完成不同文本生成任务。当然,这个文本生成任务是加引号的,因为它不仅能回答问题、文章续写,还可以完成生成网页,甚至生成代码等范文本任务。

GPT-3 的出现并没有引起大家的特别关注,为什么呢?因为当时大家发现 GPT-3 虽然能够实现这些任务,但效果并不是很好。举几个典型的例子,比如问 GPT-3「烤箱和铅笔哪个重」,它会说「铅笔比较重」;再问「我的脚上有几只眼睛」,它会说「两只眼睛」。GPT-3 给出的答案很多是错误的,有些人就认为花这么多钱构造这么大的模型也没有解决根本任务。当然 GPT-3 原文也指出,在故事结尾选择任务上比我们组丁效老师等所提出的具有知识推理能力的模型低 4.1%。因此大家认为这种大模型鲁棒性差、可解释性弱、推理能力也不强,因此需要有更多的知识。

由于这些问题的存在,学术界走了两条路:第一条路:既然模型缺知识、缺推理能力、缺可解释性,就需要针对这些任务进行专门优化。我们能不能加知识,比如往里面加知识图谱,专门做可解释性?这是一条路。第二条路:以 OpenAI 为代表,不是针对特定任务解决,而是不停的往里面加数据,有多少人工就有多少数据,就像现在 ChatGPT 的路线,不停的往里面加数据,甚至是加人工标注的数据。现在看来,这种加知识图谱的方法好像确实没有特别明显的进步,反倒是大力出奇迹的方法取得更好的进展。比如还是问刚才那两个问题,ChatGPT 就会说「烤箱更重」,而且会给出一个解释;问「脚上几只眼」,它也会否定说「脚上没有眼」,同时给出解释。可以说很好的解决了这个问题。

当然还有其他示例,比如让 ChatGPT 用藏语写学术会议致辞,它首先会否定,说自己不会。这是很厉害的,原来我们做问答和聊天模型很难否定一个问题。另外,它说会用英语写,如果我说可以,它就真的会用英语写。可见 ChatGPT 对会的语言掌握的很好。还是前面那个例子,「领导和阿呆的对话」直接问 ChatGPT 这到底是什么意思,它会回答说有两个意思,具体每一句话的意思是什么,模型都解释的很清楚。这是非常惊艳的,仔细看未必准确,但模型至少理解了这个问题,这是很难做到的。

所以 ChatGPT 到底是什么?其实这个名字有一点误导,说到 Chat 很多人就会想到聊天系统,其实它本质上不是一个聊天系统,它只是伪装成聊天,本质上是「对话式通用人工智能工具」。当然有了这样强大的工具之后,不同的学者有不同的观点,像比尔・盖茨、黄仁勋他们认为这个发明很伟大,类比成 PC 互联网和 iPhone 这种技术,可以造福人类;当然还有另外一派以马斯克为代表的,他们认为像 ChatGPT 这种通用人工智能的出现会威胁人类;还有一些理性派,像图灵奖得主 Yann LeCun 曾表示,就底层技术而言,ChatGPT 并不是多么了不得的创新,他表示虽然在公众眼中,它是革命性的,但是我们知道,它就是一个组合得很好的产品,仅此而已。

大家看到的更多的是表面现象,说它效果多么惊艳,但是一个惊艳的东西未必会引起这么大的轰动,到底背后产生了哪种变革或者真的解决了什么实质性的科学问题?我认为主要解决的是知识的表示以及知识调用这种根本性的革命,可以说每次知识表示和调用方式的转变都会引起产业界巨大的变革。知识最早是以数据库的方式存储在计算机内部,想调用它就需要 SQL 语句等,需要人去适应机器,即使是这样的技术也产生了很多伟大的公司,如 Oracle 等。但后来大量的知识是存储在互联网里,这种知识是非结构化存储的,包括文本、图像,甚至视频等。要想调用这里面的知识,我们就不需要学 SQL 语句,只要用关键词,通过搜索引擎的方式就可以把存储在互联网中的知识调用出来。现在 ChatGPT 仍然会存互联网的知识,但是它不是以显示的方式存储,而是以参数的方式存储在大模型中。但是 GPT-3 两年前就能完成这样的任务,为什么没有引起这么大的轰动呢?因为它没有解决好另外一部分问题,即怎样把这些知识调用出来。ChatGPT 很好的解决了这个问题,通过自然语言的方式就可以很好的把这些知识调用出来。ChatGPT 等于把这两块打通了,一旦打通之后就引起了剧烈革命,相信也会像前两次一样产生伟大的公司,现在 OpenAI 先行一步,或者说拔得头筹,但能不能笑到最后也不一定,因为现在很多公司都在积极跟进。当然还有一个比较有意思的发现,就是后面代表性的公司每个都离不开微软,每个都有微软的身影,但微软每次都不是老大,都跟在后面,这也是挺有趣的现象。

ChatGPT 的发展历程也非常励志,第一代 GPT 就是 OpenAI 提出来的,甚至比 BERT 提出的还要早,GPT 开启了自然语言处理预训练时代。但是大家记住更多的是 BERT,因为当时 OpenAI 还是个小公司,大家还没太关注它的工作,同时 BERT 是 Google 提出来的,从自然语言理解的角度来讲,BERT 参数量大,具有双向理解方式,所以它的效果比 GPT 好。但是 OpenAI 并没有模仿这种方式做双向,它继续沿着 GPT 单向结构进行,后来就产生了 GPT-2,学术界用的也比较多,GPT-3 的出现,风靡了一阵,不过之后大家觉得这模型浪费钱,效果还不怎么好,去年 3 月 InstructGPT 出现了,吸引了很多国际学术界的关注,但国内关注的相对较少。直到去年 11 月底 ChatGPT 的发布,一炮打响,引起更多关注,以及今年 3 月份发布的 GPT-4,它不光处理文本,甚至融合了多模态。OpenAI 整个历程比较励志,它一直沿着 GPT 这条路线在走,最后还走通了,有人说 OpenAI 比较犟,比较执拗,但确实它有自己的信心和理想,走成了。

从 GPT-3 到 ChatGPT,也不是一蹴而就的,中间做了很多工作。其中比较有意思的是 CodeX 的提出,这一模型单纯的做代码预训练,进行代码补全,有了它,在代码编辑器里可以帮助我们写代码,这个工具非常好用。此时,GPT 等于分化了,一部分走语言,一部分走代码,中间 code-davinci-002 又把这两者合并了,在语言模型的基础上继续使用代码数据进行预训练,竟然产生了很好的推理效果,这是为什么呢?可能代码里面有很好的逻辑性,解决问题有顺序逻辑,甚至有远程的依赖,当然这里面有很多解释,这只是其中一种猜测,现在大家也不了解为什么 ChatGPT 出现了这么好的效果。

总结来看,ChatGPT 大概有三项核心技术:1、一定要有大规模预训练模型。到底模型多大算大?现在也没有明确的定义和概念,就像大数据的概念一样,有人认为百亿以上参数就差不多了,但想要模型涌现推理能力可能需要 600 亿以上的参数。2、Instruction Tuning。不是针对一个任务一个任务的精调,而是把所有的任务都统一成 Instruction 指令,以及相应的答案。其实又回到了有指导学习这种思路,只是它融入的任务更多。这样做的好处是这些任务可以互相帮助,此外还能达到任务泛化的效果,对于一些没有见过的新任务,可以通过对原来见过的任务的学习来处理新任务,起到任务组合的效果。比如我想做一种跨语言文摘,这个任务没见过,但是模型见过机器翻译任务,又见过文摘的任务,让它做这个新的跨语言文摘任务,它也可能做的很好,Zero-shot 能力非常强。其实这也是强人工智能必须的,否则一个任务、一个任务的去训练,又回到原来弱的人工智能方式。3、现在大家关注比较多的是基于人类反馈的强化学习,从提升模型上限的角度可能不是主要目的,它要提升模型生成结果的多样性和安全性。当然这种方法还带来一个好处,随着模型上线可以收集越来越多的人类反馈,用人类反馈可以更好的帮助训练模型。

ChatGPT 给自然语言处理领域带来了很大冲击,现在越来越多的资源,包括计算资源、数据资源、用户资源,都为工业界所掌握,因此更容易做系统级的创新。

学术界面临的困难会越来越大,因为我们没有那么多数据,没有那么多计算资源。当然也不是说学术界就无事可做了,以后怎么办呢?可能还是要往下走,但是再往下走又面临选择,你是不是沿着大模型的路往下走,学术界有人认为这不是很好的路线。不仅是自然语言处理,从人工智能发展的过程来讲,其实能看到两个明显的趋势:一是模型同质化现象越来越严重。原来要根据不同任务、不同领域,用不同模型,现在统一使用 Transformer,我觉得这个趋势没法逆转,即使出来 Transformer 替代品,但它一定是一个同质化的模型。

第二,模型规模越来越大。很多证据表明,随着模型规模越来越大,会出现智能的涌现。我们很难做到把模型变小,让它具有很好的通用性。当然具体行业应用还是需要小的模型,但要实现通用人工智能,可能还是需要模型足够大。

正是由于这两种趋势,即使在学术界也不得不拥抱大模型,这不是以个人意志为转移的。既然拥抱,怎么拥抱?有很多条路可以走,主要从以下三个方面入手:1、弥补大模型的不足,查缺补漏,发现模型哪里做的不好就去弥补它;2、探究大模型的机理,现在很多任务都停留在实验阶段,至于模型背后为什么产生这样的效果我们也不了解,我们要知道背后的机理;3、推广大模型的应用。

大模型有哪些不足之处?虽然 ChatGPT 效果惊艳,但它还不完美、存在很多不足,包括事实一致性不足、逻辑一致性不足。

但是怎么弥补呢?可以用增强的方法,图灵奖得主 Yann LeCun 发表过一篇文章就总结过这种方法,包括加上搜索引擎、知识库、外挂工具等,这些都可以叫增强。除此之外,目前也有很多工作使用搜索引擎来弥补现在 ChatGPT 的不足。

接下来是探究大模型背后的机理,现在的争议围绕到底是 Encoder-Decoder 结构好,还是 Decoder only 结构好。这些方法各有各的优缺点。Decoder only 如 GPT,其参数和数据利用率更高,但从对输入理解的角度,Encoder-Decoder 结构可能更好。这两者之间怎么平衡,或者说到底哪个好,现在也没有统一的结论,还处于探索阶段。

还有就是怎么对大模型进行评价。现在有很多评价模型的数据集发布,但这个数据集一旦发布就有可能泄漏,有些人会把数据集用到训练数据里,怎么解决这种问题,也是需要考虑的。三是解释包括涌现现象、CoT 等出现的机理。

最后要推广大模型的应用。ChatGPT 是一种通用模型,怎么把它落地到各行各业,包括怎么做定制化、小型化、个性化,甚至角色化、安全性、隐私性等等,这些都是需要考虑和解决的问题。

ChatGPT 到底还会走多远,我还以之前的趋势图进行介绍。从图中可以看到,一个技术范式的历程大概是上一个历程的一半。比如前面基于专家知识做了四十年,浅层机器学习算法做了二十年,深度学习做了十年,预训练模型做了五年,那么 ChatGPT 还能做多少年?根据现有的趋势推测可能 2.5 年,也就是到 2025 年可能又要更新换代了。但是这么发展下去会什么样?有人会说这个预测不对,如果按这个预测来讲,可能到某一天技术就停止进步了。我认为也可能会出现这种情况,因为随着人工智能的发展,可能会威胁到人类,一旦人工智能威胁到人类生存之后,有可能会被立法禁止人工智能技术的进步。

再往后人工智能怎么走,现在 ChatGPT 比较好的解决了推理问题,以后可能要解决语用的问题,同样一段话所处的语境不一样,对象不一样,用的语气语调不一样,可能表达的含义就不一样。

当然,只从文本入手没法解决这个问题,还是要往多模态等发展。结合更多的模态,通往真正的 AGI。之前有学者把机器能够利用的数据范围划为五个,从最简单的小规模文本一直到和人类社会互动这五个范围。之前很长一段时间大家都只用文本端,现阶段等于是跨过中间的两个(多模态和具身),直接到了和人类社会的互动,因为现在 ChatGPT 就是和人类社会交互。在交互过程中,人也在教机器怎么说语言,怎么理解语言。但跨过中间两段不代表就真的包含这两段,还是要把这两段补齐。现在 GPT-4 补齐了多模态,Google、微软等也在做具身方面的研究。

总结和展望最后是总结和展望,自然语言处理是人工智能皇冠上的明珠,ChatGPT 是继数据库和搜索引擎之后的全新一代知识表示和调用方式,模型同质化和规模化的趋势不可逆转。要想真正实现 AGI,需要结合多模态和具身智能。

以上就是我报告的全部内容,谢谢大家!

关键词: