继AI绘画后,ChatGPT横空出世。聊天、翻译、文案、代码……ChatGPT的功能如此强大,以至于连马斯克都认为“我们离强大到危险的AI不远了。” 在感慨ChatGPT如此强大的同时,人们也开始对ChatGPT的工作原理产生了好奇:ChatGPT是什么?它到底是如何运行的?怎样才能丝滑地与它对话呢? 想要了解ChatGPT是什么,需要关注它背后的GPT模型。GPT模型是一个由OpenAI 训练的大语言模型。 一、大语言模型是什么?大语言模型(Large Language Model)是指在海量文本数据上训练,通过无监督、半监督或自监督的方式,学习并掌握通用的语言知识和能力的深度神经网络模型。 从下图中,我们不难看出,这些大语言模型的参数计数都是数千亿: 换个容易理解的说法,“读书破万卷,下笔如有神”在一定意义上反映了大语言模型的运作模式。在海量文本数据上训练是读了万亿书籍,吸收了大量的知识,在此基础上就可以按照用户的需求进行回答、创作、总结与分析。 大语言模型在经过特定训练后可以为企业带来意想不到的可能性:
但我们不得不承认大语言模型同样存在着一些弊端:
在了解了大语言模型后,我们距GPT的工作原理又进了一步。 二、GPT背后的应用逻辑GPT的全称是“Generative pre-trained transformer”,翻译一下就是“基于Transformer的生成式预训练模型” 。让我们把这些词拆分来看: 1)“Generative”“Generative”指这个模型具备生成自然语言文本的功能。也就是说,这个模型能够生成一段内容,还能让你看懂。比如给它几个关键词,能够通过这些关键词自动生成一段话或者一篇文章。 当然,可能有人会说“之前那个狗屁不通生成器也能读,那他们的区别在哪里?”实际上,“狗屁不通(GPBT)”只是一个文本生成器,对文本的连贯性和含义要求并不高;而GPT生成的内容则有着高连贯性和可读性的要求。 所以大家会发现,先不说GPT生成的内容能不能解决实际问题,至少读起来是合情合理的。 2)“pre-trained”“pre-trained”意为“预先训练好的”。一般来讲,在应用这种技术时,会需要先将大量的文本数据输入到模型中训练,让模型在一定程度上掌握了语言的语法规则和表达方式,这个提前输入进行训练的过程就被称为预训练。 我们也可以将上述过程简单粗暴地理解为“题海战术”。想想我们在各类学习中,经常通过题海战术对题目类型、考察的基础知识以及逻辑进行深入了解,才能在面对新的题型时,通过调用自己所学的知识交出相对合理的答卷。同样,GPT也是在这种“题海战术”中杀出重围的。 3)“transformer”最后说到“transformer”,这是Google 的研究者在《Attention Is All You Need》中提出的概念,我们可以先将它简单理解为“转换器”。Transformer的基本原理是Encoder(编码)和Decoder(解码),也就是先将输入的内容转换为计算机能理解的内容,再将计算机理解的内容转换为我们人类能理解的内容。 但在语言转化的过程中,还会出现一个问题:歧义。我们生活中也会有很多出现歧义的情况,比如“我买了一斤苹果”和“我买了个苹果新产品”。那么问题来了:大家怎么判断这两句中的苹果指的是某种水果还是某个电子设备? 答案估计也没啥争议:结合苹果旁边的“一斤”和“新产品”就能确定在不同上下文中的“苹果”代表了什么含义。而GPT能够理解我们输入的内容,关键也在于此。Transformer在编码和解码的基础上,引入了“Multi-headed Attention(多头注意力)”的概念。多头注意力就是为了让模型在处理输入输出的内容时,更关注内容中的某个或某几个词语,并对它们进行加权处理,从而推断其准确含义,实现上下文学习。 用一句话总结上面讲的内容,就是“GPT能读懂你说的话了”。 既然懂了提问的内容,那接下来GPT又是怎样回答出你想要的答案的呢? 前面我们讲了GPT是“预先训练好的”,所以当它理解了你想要什么之后,便会自动选择当下最适合的一个内容,然后不停地再输入、输出,最终生成一段完整、具有高匹配度的内容。 例子:请给我描述一个西瓜
第一次输入:请给我描述一个西瓜
输出:西瓜
第二次输入:请给我描述一个西瓜:西瓜
输出:西瓜是
第三次输入:请给我描述一个西瓜:西瓜是
输出:西瓜是一种
……
第N次输入:……
输出:……
最终呈现以下内容: GPT就是通过这种不断地“输入-匹配-选择-输出-再输入”的过程,和我们进行问答的交互。而被我们熟知的 ChatGPT则是基于GPT模型调整而成的对话生成模型,在本质上,其工作原理和GPT是相同的。 三、如何让ChatGPT不说废话?那么,理解了ChatGPT及GPT模型的运行方式,它就能真正为我们所用吗?答案显示是否定的。很多人会抱怨,它的回答很空泛,有时甚至会出错。 当然,人工智能可以理解人类的语言,但可能还不能精准理解人类的目的,所以成功的人机交互才会得到我们想要的答案,也就是说GPT这类模型就像我们的宠物一样,能够听懂我们说的话,但前提是我们需要跟它“好好说话”。 来看一个例子:请介绍一下华山。(PS:本文所有问答,均来自禅道的OpenAI插件:神奇小海螺) 从上面两个图片中可以发现,我们的提示词不同,小海螺给出的回答也不同。那我们应该如何提问?这里引用常青老师总结而成的一个提示词模板(亲测非常有效): (指路公众号:常青说) 通过这个技巧,我们现在可以改一下上面的提示词: “假如你是一名导游,现在你要带一个10人的旅游团前往华山,请给一份华山的讲解词。请注意,因为旅游团中有小朋友,所以讲解词请用生动有趣的内容组织,最好还能加一些故事和例子。” 很明显,这样一问,小海螺就能给出比较符合我们要求的回答。如果还想让它的回答更精准,那就需要继续再补充其他的细节啦。 总之,我们期待着人类对自然语言的处理技术达到一定程度时,这些人工智能的回复质量能带给我们更大的惊喜;在另一方面,对于它们的回答,我们也要有基础的辨别能力。 罗翔老师曾说:“人跟人工智能最大的不同,在于人除了有理性还有感情。我们永远不用担心它会取代我们,因为我们是人,是万物之灵。”所以,我们不仅要把ChatGPT一类的人工智能应用到极致,充分去拥抱它,还要训练自己作为人类原生的、不依赖任何工具的基础能力、思维能力以及创新能力。 |
|