一文读懂ChatGPT的工作原理:大语言模型是个啥?它到底咋工作的?
博客园| 2023-06-19 11:31:03

继AI绘画后,ChatGPT横空出世。聊天、翻译、文案、代码……ChatGPT的功能如此强大,以至于连马斯克都认为“我们离强大到危险的AI不远了。”


(资料图片)

在感慨ChatGPT如此强大的同时,人们也开始对ChatGPT的工作原理产生了好奇:ChatGPT是什么?它到底是如何运行的?怎样才能丝滑地与它对话呢?

想要了解ChatGPT是什么,需要关注它背后的GPT模型。GPT模型是一个由OpenAI 训练的大语言模型。

一、大语言模型是什么?

大语言模型(Large Language Model)是指在海量文本数据上训练,通过无监督、半监督或自监督的方式,学习并掌握通用的语言知识和能力的深度神经网络模型。

从下图中,我们不难看出,这些大语言模型的参数计数都是数千亿:

换个容易理解的说法,“读书破万卷,下笔如有神”在一定意义上反映了大语言模型的运作模式。在海量文本数据上训练是读了万亿书籍,吸收了大量的知识,在此基础上就可以按照用户的需求进行回答、创作、总结与分析。

大语言模型在经过特定训练后可以为企业带来意想不到的可能性:

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”指这个模型具备生成自然语言文本的功能。也就是说,这个模型能够生成一段内容,还能让你看懂。比如给它几个关键词,能够通过这些关键词自动生成一段话或者一篇文章。当然,可能有人会说“之前那个狗屁不通生成器也能读,那他们的区别在哪里?”实际上,“狗屁不通(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一类的人工智能应用到极致,充分去拥抱它,还要训练自己作为人类原生的、不依赖任何工具的基础能力、思维能力以及创新能力。

精彩推荐
热点推荐
新闻中心
镜观中国
06-19