机器之心专栏
作者:追一科技
本文全方位地介绍了ChatGPT的能力特征、发展历程以及OpenAI一路走来所坚守的技术路线,并对ChatGPT出现之后NLP领域的范式转换进行了展望,即ChatGPT开启「文本生成+指令」的范式。
1、ChatGPT,不再「愚蠢」的人工智能
ChatGPT的相关话题应该算是继AlphaGo以来,最出圈的人工智能热点了。简单来说,它是一个可以用自然语言对话的机器人,你可以问它任何问题(当然它有可能会答错,但你可以引导并纠正它),它都会以非常流畅、标准的自然语言回答你。不仅如此,它还能回答代码问题、数学问题等等,你可以和它在关于任何问题上聊得不亦乐乎。
我们可以用一个经典的鸡兔同笼问题来感性地认识一下ChatGPT的能力:
从这个回答可以观察到几个特点。首先是对自然语言的理解和转换为数学问题的能力,其次它通过将一个较为复杂的推理问题分步拆解,一步步获得最后的答案。这个能力被业内称作「思维链」(Chainofthought)。接下来换一下问法,看看它会怎么回答。
从这个图中可以发现,ChatGPT对自己所说的内容是有感知的,并且可以给出这么说的原因。另外也可以发现,它确实也会出错(第一次计算耳朵数量错了。此处有个冷知识,鸡是有类似于「耳朵」一样的功能器官),但可以通过引导的方式让它给出正确的答案,并且会告诉你自己为什么错了。
如果不事先告诉你这是一个人工智能模型,ChatGPT给人的感觉确实像一个真正有逻辑思维和语言交流能力的真人。它的出现第一次让大家觉得,人工智能似乎终于能够和人正常交流了,虽然有时候会出错,但在交流的过程中至少没有语言和逻辑上的障碍,它能「懂」你在说什么,并且按照人类的思维模式和语言规范给你反馈。这种非常智能的体验感,是它突破业界小圈子,给大众带来冲击感的原因。
这里还希望再次强调这种体验感的问题,因为也许过去业界由于技术的限制,为了完成场景中的特定任务而忽略了这一点。如今ChatGPT的出现代表了人工智能不再是过去那种「有用,但是也挺蠢」的形态了。
为了更好地理解ChatGPT这种非常智能的感觉是怎么产生的,难免要从过去那种「很蠢」的人工智能说起。准确地说,ChatGPT背后使用的依然是自然语言处理(NLP)技术,但却打破了原有的范式。
要理解这一点,可以先看看目前的主流做法是怎样的。人类交流依托的是语言,甚至也有很多人认为人类的思维也是建立在语言上的。因此,理解运用自然语言一直是人工智能的重要课题。但语言实在太复杂,因此为了让计算机理解运用语言,通常会将这个过程拆分为很多的细分项,这就是在技术领域中常说的「任务」。举几个例子:
情感分析任务,针对的是理解语言所蕴含的情感倾向;
句法分析任务,针对的是分析文本的语言学结构;
实体识别任务,针对的是从文本中定位出实体片段,例如地址、名字等等;
实体连接任务,针对的是从文本中抽取出实体间的关系;
这样的任务还有很多,都是从某个细分的侧面去对自然语言进行分析、处理。这样做有很多好处,比如有了这些拆分,就可以从不同的维度来考察一个自然语言处理系统的细分能力;也可以针对某一个细分的项专门做系统或者模型的设计等。从技术的角度来说,将一个复杂的任务(理解并运用自然语言)拆分为很多的简单任务(各种各样的NLP任务)确实是一种比较典型的解决复杂问题的路径,这也是目前的主流做法。然而在ChatGPT出现之后,以马后炮视角去看,也许在让计算机理解并运用自然语言这条路上,这种拆分并不是最有效的途径。
因为在单个任务上的优秀表现,并不能代表系统就掌握了自然语言。人对于人工智能体的「智能感」,是基于对它应用自然语言的整体能力而产生的,这一点在ChatGPT上有明显的体现。虽然OpenAI没有开放ChatGPT的API服务,外界还无法测评它在各个细分NLP任务上的具体效果,但以过往外界对它的前身GPT-3、InstructGPT等模型的测试情况表明,对于某些特定的任务,一个用专门数据精调过的小模型,确实可以获得更好的效果(详细分析请参考《深入理解语言模型的突现能力》)。但这些在单个任务上有更好表现的小模型,并没有引起很大的出圈效应。归根结底,是因为它们只有单一的能力。单个的能力出众并不能代表它们具有了理解和运用自然语言的能力,从而也无法独自在实际应用场景中发挥作用。正因如此,通常在一个真实的应用场景中,都是多个具有单点能力的模块经过人为的设计拼凑而成,这种人为的拼凑方式是过去的人工智能系统让人感觉并不智能的原因之一。
从人类理解和运用自然语言的视角去看,这个现象其实很好理解。普通人在理解、运用自然语言的时候,并不会在脑内将它拆分为很多步不同的任务,逐个任务进行分析,然后再汇总,这不是人类使用自然语言的方式。就好比一个人,在听到一句话的时候,并不会对它的句法结构、实体内容与关系、情感倾向等这些内容逐一分析,然后拼凑出这句话的含义,人对语言的理解过程是一个整体过程。再进一步,人对这句话的整体理解,会以自然语言的形式,通过回复的方式整体地表现出来。这个过程并不是像人工智能系统那样,拆分单个任务,然后逐一输出情感分析的标签、实体信息的片段、或是别的某个单个任务的结果,然后用这些东西拼凑出回复。
而以ChatGPT为代表,GPT系列模型所做的事情才真正接近了人类理解和运用语言的能力——直接接收自然语言,然后直接回复自然语言,并保证了语言的流畅性与逻辑性。这是人与人的交流方式,所以大家对它抱以「很智能」的体验感。也许很多人会认为,如果能做到ChatGPT这样当然很好,过去那种对任务的拆分是因为技术的限制不得已而为之。从技术应用的视角来看,这样迂回的方式当然是需要的,这种方法也在很长的一段时间内被采用,并且确实也能够解决很多实际场景中的问题。但如果回顾GPT系列模型的发展过程,就会发现OpenAI「赌」了另一条路,并且他们「赌」赢了。
2、OpenAI的「赌局」
GPT初代,一切开始的地方
早在年,OpenAI就发布了最初版本的GPT模型,从OpenAI公开的论文(ImprovingLanguageUnderstandingbyGenerativePre-Training)可以了解到,这个模型采用了12层的TransformerDecoder结构,用了大约5GB的无监督文本数据进行语言模型任务的训练。虽然初代GPT模型采用的就已经是生成式的预训练(这也是GPT名字的由来,GenerativePre-Training,即生成式预训练),但使用的是无监督预训练+下游任务微调的范式。这一范式其实并不是什么新的发明,它在CV(计算机视觉)领域已经有比较广泛的应用,只是由于当年ELMo模型的出色表现,把它重新「介绍」到了NLP领域。
GPT模型的出现在那一年确实引来了一些业内的
转载请注明:http://www.0431gb208.com/sjszlff/7966.html