ChatGPT原理剖析
Posted 阿牛大牛中
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ChatGPT原理剖析相关的知识,希望对你有一定的参考价值。
文章目录
ChatGPT常见误解
1. 罐头回应
由开发者准备好的罐头回应:
下面是一个问答,让ChatGPT讲一个关于人工智慧的笑话,但可以看出来,这个笑话的笑点显然和我们平常人不太一样,显得笑点非常奇怪:
2. 网络搜寻重组
你搜寻之后,ChatGPT从网上搜寻答案,整理重组给你想要的答案:
但实际上,多数ChatGPT的答案在网络上都找不到一模一样的句子,甚至很多是幻想出来的。
比方说这个例子:
这些网站看上去有模有样,但其实都是虚构的,不是真实存在的。
官方也给出了回应,说ChatGPT是没有连网的:
ChatGPT真正做的事——文字接龙
ChatGPT真正在做的事情一言以蔽之就是文字接龙,可以把它理解成一个函数,输入一些东西就输出一些东西。可以输入一个句子,输出一个词汇的几率,然后做取样,举例:
它是从一个几率分布中做取样,所以它每次产生的答案是有随机性的。
那现在来看,它也只能回答一个字呀,它是怎么回答一个句子的呢?
它会将原来输出的字作为添加到输入当中去,然后继续产生新的输出,一直反复,知道最后选择出一个结束的符号为止。
那它怎么知道我们之前跟它说的话呢?其实原理是一样的,同一则对话的历史记录都会被作为输入,接入其中。
这个函数会非常复杂,可能有1700亿个以上的参数!
这么一个复杂且神奇的函数f是怎么形成的呢?
是通过大量网络上的资料以及人类的指导下,训练出来的,当神奇函数f找到后,ChatGPT就不需要联网了。我们平常使用的时候,就是测试,测试的时候就不需要上网搜集资料了。
ChatGPT背后的关键技术——预训练(Pre-train)
- 预训练(Pre-train)又叫自督导式学习(Self-supervised Learning)或基石模型(Foundation Model)
其中ChatGPT中的P就是这个意思:
一般机器是怎样学习的?
以一个英文翻译成中文为例,我们需要提供大量的成对的句子,提供给机器:
这种学习成为督导式学习。
有了成堆资料机器会自动找到函数f:
然而要将一般的机器学习步骤运用在ChatGPT上,我们需要给它提供大量的学习资料,但人类老师提供的资料也许是不足够的,当有人问到它之前没有遇到过得问题,那么它也无法回答:
所以ChatGPT还运用到了另外一个技术,可以无痛制造成对资料。
实际上,网络上的很多句子,都能形成成对的问答:
其实ChatGPT是在GPT基础上继续发展而来的,从2018年的GPT到后来的GPT2.0,GPT3.0都只是用到了网络上的大量数据,当然每一代都比上一代要多用很多的数据。但是效果并不那么好,之后加入了人类老师的指导变成了ChatGPT:
这其中,在没有人类老师指导的情况下,学习大量网络上的数据,此时称之为预训练(自督导式学习),而在人类老师的指导下呢,就称之为微调(finetune)。
当然,ChatGPT还有用到增强式学习:
当人类老师比较懒不想教AI的时候,或者人类老师也不知道标准答案的时候,就可以使用增强式学习(Reinforcement Learning,RL)这个时候我们只需要点个赞,或者点个踩就可以,比较省事。
ChatGPT带来的研究问题
1. 如何精准提出需求
- 当我们不能精准提出需求的时候:
- 当我们精准提出需求的时候:
2. 如何更改错误
如何让ChatGPT修改一个错误,并且不会导致其他错误,这是一个新的主题,叫做:Neural Editing
3. 侦测AI生成的物件
4. 不小心泄露秘密?
有时候这个大型语言模型也许会泄露秘密?
有时候我们不小心告诉它一些东西,有没有办法让它遗忘呢?这是一个新的研究主题,这个主题叫做:Machine Unlearning
ChatGPT原理分析
0. 简要概括
**ChatGPT必然将极大影响现有的生产生活,为了体验或者提前学习相关知识,有必要让自己能够便利地体验其功能。开源代码见:https://github.com/white0dew/wx-chatgpt
原理分析
ChatGPT是一种基于预训练语言模型的对话生成系统,它使用了类似于GPT的预训练方法来生成自然语言对话。就像GPT是一个自回归语言模型,ChatGPT也是一个完全自动化的文本生成模型。
ChatGPT是建立在Google的T5语言模型基础上的,它使用了一个前馈神经网络(feedforward neural network)来预测下一个单词或字符的出现。这个模型经过了大规模的有监督的训练,以学习自然语言的语法和语义信息。ChatGPT模型包含了多层的Transformer模块,这使得它能够很好地处理长序列,同时也能够捕获上下文信息。
为了训练ChatGPT模型,研究人员使用了大量的对话数据。这些数据包括在许多对话应用程序中收集的人类对话,例如Facebook Messenger和WhatsApp等。这些对话数据被用来训练模型,以便让它学习自然语言对话的模式和特点,从而使其能够回答不同类型的问题。
在ChatGPT模型的应用中,当用户输入一个问题时,模型会使用预训练模型中的上下文信息生成一个回答,模型生成的回答通常是合理的和满意的。ChatGPT还可以处理上下文意义的改变和意义推断问题,使其可以应对更复杂和更抽象的问题。
尽管ChatGPT在生成对话方面具有很高的准确性和流畅性,但它仍然存在一些缺点。首先,它仍然难以处理一些复杂的对话任务,例如一些需要深入推理和知识存储的任务。其次,ChatGPT模型还可能受到人类批判性思考能力的限制,因此生成的回答仍然可能存在一些不准确的地方。
总而言之,ChatGPT是一种基于大规模训练的预训练语言模型,用于生成自然语言对话。它的应用前景非常广阔,但仍需要进一步的研究和发展,以克服存在的缺陷和局限性。
以上是关于ChatGPT原理剖析的主要内容,如果未能解决你的问题,请参考以下文章