ChatGPT原理剖析
文章目录
- ChatGPT常见误解
- 1. 罐头回应
- 2. 网络搜寻重组
- ChatGPT真正做的事——文字接龙
- ChatGPT背后的关键技术——预训练(Pre-train)
- 一般机器是怎样学习的?
- ChatGPT带来的研究问题
- 1. 如何精准提出需求
- 2. 如何更改错误
- 3. 侦测AI生成的物件
- 4. 不小心泄露秘密?
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