一文读懂ChatGPT的工作原理:大语言模型是个啥?它到底咋工作的?
继AI绘画后,ChatGPT横空出世。聊天、翻译、文案、代码……ChatGPT的功能如此强大,以至于连马斯克都认为“我们离强大到危险的AI不远了。”
在感慨ChatGPT如此强大的同时,人们也开始对ChatGPT的工作原理产生了好奇:ChatGPT是什么?它到底是如何运行的?怎样才能丝滑地与它对话呢?想要了解ChatGPT是什么,需要关注它背后的GPT模型。GPT模型是一个由OpenAI 训练的大语言模型。
一、大语言模型是什么?
大语言模型(Large Language Model)是指在海量文本数据上训练,通过无监督、半监督或自监督的方式,学习并掌握通用的语言知识和能力的深度神经网络模型。
从下图中,我们不难看出,这些大语言模型的参数计数都是数千亿:
![](https://cdn.easycorp.cn/web/data/upload/zentao/202305/f_5213656ef50289e9e662e1e15e4f1937.png)
换个容易理解的说法,“读书破万卷,下笔如有神”在一定意义上反映了大语言模型的运作模式。在海量文本数据上训练是读了万亿书籍,吸收了大量的知识,在此基础上就可以按照用户的需求进行回答、创作、总结与分析。
大语言模型在经过特定训练后可以为企业带来意想不到的可能性:
1、减少人工劳动和成本 | 大语言模型能够让企业在发展过程中实现自动化,如顾客服务、内容创作、欺诈检测等,这不仅能够降低人力与时间成本,还能将员工从高重复度的工作中解放出来,从事更需要人类专业知识的重要工作。 |
2、提高客户满意度 | 基于大语言模型的聊天机器人不仅能够为客户提供全天候的服务,还能通过处理大量的数据来了解客户的行为和偏好,从而提供个性化服务。 |
3、提供决策的准确性 | 大语言模型对大量数据的处理,能够让企业迅速从复杂的数据集中提取需求,从而提高运营效率,更快地解决问题,并做出更准确的商业决策。 |
4、提高任务的准确性 | 大型语言模型能够处理大量的数据,这导致预测和分类任务的准确性提高。这些模型利用这些信息来学习模式和关系,这有助于它们做出更好的预测和分组。 |
但我们不得不承认大语言模型同样存在着一些弊端:
1、认知范围有限 | 大语言模型的能力受限于它们的文本训练数据,这意味着它们无法理解训练数据以外的文本,如调休。它极有可能接触到虚假信息、种族、性别和性的偏见等文本训练,这会导致大语言模型产出种族主义或性别歧视的评论。 |
2、输入token有限 | 每个大语言模型的内存是有限的,所以它只能接受一定数量的token作为输入。例如,ChatGPT的限制是4096个(大约3000个词),如果超过这个限定,GPT就无法对输入作出反应。 |
3、系统成本高 | 大型语言模型的开发和训练都需要大量投资,包括计算机系统、人力资本和电力。据估计,ChatGPT10轮的训练,仅电费成本就高达1200万人民币,这并不是随便一个企业能够承担得起的。 |
4、泛化能力弱 | 泛化能力指机器学习算法对新鲜样本的适应能力。学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出。大语言模型虽然可以在多个任务上表现出色,但是它们也容易受到输入的影响而输出不合理或者错误的内容。 |
在了解了大语言模型后,我们距GPT的工作原理又进了一步。
二、GPT背后的应用逻辑
GPT的全称是“Generative pre-trained transformer”,翻译一下就是“基于Transformer的生成式预训练模型” 。让我们把这些词拆分来看:1)“Generative”
“Generative”指这个模型具备生成自然语言文本的功能。也就是说,这个模型能够生成一段内容,还能让你看懂。比如给它几个关键词,能够通过这些关键词自动生成一段话或者一篇文章。![](https://cdn.easycorp.cn/web/data/upload/zentao/202305/f_b9e4459b4588375f003179cbacd812df.png)
2)“pre-trained”
“pre-trained”意为“预先训练好的”。一般来讲,在应用这种技术时,会需要先将大量的文本数据输入到模型中训练,让模型在一定程度上掌握了语言的语法规则和表达方式,这个提前输入进行训练的过程就被称为预训练。![](https://cdn.easycorp.cn/web/data/upload/zentao/202305/f_5ae78244faf2c3abb19ca4e633eb6939.png)
3)“transformer”
最后说到“transformer”,这是Google 的研究者在《Attention Is All You Need》中提出的概念,我们可以先将它简单理解为“转换器”。Transformer的基本原理是Encoder(编码)和Decoder(解码),也就是先将输入的内容转换为计算机能理解的内容,再将计算机理解的内容转换为我们人类能理解的内容。![](https://cdn.easycorp.cn/web/data/upload/zentao/202305/f_81de9413c20e2ba4f0a0fb6f02aa175b.png)
答案估计也没啥争议:结合苹果旁边的“一斤”和“新产品”就能确定在不同上下文中的“苹果”代表了什么含义。而GPT能够理解我们输入的内容,关键也在于此。Transformer在编码和解码的基础上,引入了“Multi-headed Attention(多头注意力)”的概念。多头注意力就是为了让模型在处理输入输出的内容时,更关注内容中的某个或某几个词语,并对它们进行加权处理,从而推断其准确含义,实现上下文学习。
用一句话总结上面讲的内容,就是“GPT能读懂你说的话了”。
既然懂了提问的内容,那接下来GPT又是怎样回答出你想要的答案的呢?
前面我们讲了GPT是“预先训练好的”,所以当它理解了你想要什么之后,便会自动选择当下最适合的一个内容,然后不停地再输入、输出,最终生成一段完整、具有高匹配度的内容。
例子:请给我描述一个西瓜 第一次输入:请给我描述一个西瓜 输出:西瓜 第二次输入:请给我描述一个西瓜:西瓜 输出:西瓜是 第三次输入:请给我描述一个西瓜:西瓜是 输出:西瓜是一种 …… 第N次输入:…… 输出:……
最终呈现以下内容:
![](https://cdn.easycorp.cn/web/data/upload/zentao/202305/f_4882069c97d04ab070d0ce9f6ea24c4c.png)
三、如何让ChatGPT不说废话?
那么,理解了ChatGPT及GPT模型的运行方式,它就能真正为我们所用吗?答案显示是否定的。很多人会抱怨,它的回答很空泛,有时甚至会出错。
当然,人工智能可以理解人类的语言,但可能还不能精准理解人类的目的,所以成功的人机交互才会得到我们想要的答案,也就是说GPT这类模型就像我们的宠物一样,能够听懂我们说的话,但前提是我们需要跟它“好好说话”。
来看一个例子:请介绍一下华山。(PS:本文所有问答,均来自禅道的OpenAI插件:神奇小海螺)
从上面两个图片中可以发现,我们的提示词不同,小海螺给出的回答也不同。那我们应该如何提问?这里引用常青老师总结而成的一个提示词模板(亲测非常有效):
![ChatGPT ChatGPT](https://cdn.easycorp.cn/web/data/upload/zentao/202305/f_b0b5c0931975b48eb8f10b4294ae4d08.jpg)
通过这个技巧,我们现在可以改一下上面的提示词:
“假如你是一名导游,现在你要带一个10人的旅游团前往华山,请给一份华山的讲解词。请注意,因为旅游团中有小朋友,所以讲解词请用生动有趣的内容组织,最好还能加一些故事和例子。”
![ChatGPT-导游词 ChatGPT-导游词](https://cdn.easycorp.cn/web/data/upload/zentao/202305/f_cbcf16c9b244cdaee0ebbf2712730469.jpg)
很明显,这样一问,小海螺就能给出比较符合我们要求的回答。如果还想让它的回答更精准,那就需要继续再补充其他的细节啦。
总之,我们期待着人类对自然语言的处理技术达到一定程度时,这些人工智能的回复质量能带给我们更大的惊喜;在另一方面,对于它们的回答,我们也要有基础的辨别能力。
罗翔老师曾说:“人跟人工智能最大的不同,在于人除了有理性还有感情。我们永远不用担心它会取代我们,因为我们是人,是万物之灵。”所以,我们不仅要把ChatGPT一类的人工智能应用到极致,充分去拥抱它,还要训练自己作为人类原生的、不依赖任何工具的基础能力、思维能力以及创新能力。