让小白也能看懂的ChatGPT的基本原理

66 阅读3分钟

当你随便打开一个App,找到里面的"智能客服"跟他说句话,你会发现它反复就那么几句。

而当你人第一次使用ChatGPT时,会发现无论你说什么,它都会非常有逻辑的回答你,太神奇。

它是怎么做到的?

ChatGPT 它就会根据你发送的内容和上下文,然后输出:预测性文本

注:上下文,Context,一般是本次会话之前沟通过的内容或者一些背景说明信息。

关于预测性文本,我们举几个例子:

床前明月光,疑是地上霜。 举头望明月,______。

宫廷玉液酒,_____。

如果你看到这些话下意识的脑补出来了后面的内容,这个过程叫做补全(Completion),也是它的核心功能。

而你对ChatGPT输入的内容,比如提的问题,叫做提示词(Prompt)。

ChatGPT的功能基本上就是根据上下文,不停的猜下一个词是什么,当他猜出来下一个词后。他会把猜出来的词放回句子里,再继续猜下一个。如图所示:

image.png

之所以它能够不停的推测下一个词是什么,是因为在我们用到ChatGPT之前,它已经被大量的文本语料训练过了。

因此,当它看到和训练语料中类似的话时,它会更高概率的输出曾经训练过的内容,而如果是不常见到的,就更有可能产生更多样,更具创造性的回答。

比如,ChatGPT的训练语料里有大量的唐诗,那它一定会知道"举头望明月"的下一句是"低头思故乡",而不是"我是郭德纲"。

image.png

如果让ChatGPT帮我们补齐一段诗歌,"举头望明月"和我们随手写的"抬头看月亮"相比:

  • "举头望明月"是个强提示,下一句确定性比较高,更大概率是"低头思故乡"。
  • "抬头看月亮"是一个弱提示,下一句确定性就较低,很可能你每次得到的答案都不一样。

所以如果你想更有效地和ChatGPT打交道,那就得用一些已经被验证为是"强提示"的方法。

需要注意的是,chatGPT的回答是随机的。

想象一个场景,你和你的小伙伴用掷骰子的方式决定每天中午吃什么。

但是,你掷的色子不再是一个普通的六面色子,而是一个有上百面的超级色子,这个色子上的每一个面都有不同的食物选项。当你投掷这个色子,你不知道会掷出什么,但是每一面都有一定的几率被选中。

ChatGPT就像这个多面色子。

当你输入一个问题时,ChatGPT会不停的掷骰子来决定应该给你什么样的回应,这个"骰子"非常非常复杂,因为它是由数百万个参数构成的数学模型

当你问ChatGPT:你今天好吗?

它可能回答:我很好,谢谢!你呢?

如果你再问一次相同的问题,它可能说:我没日夜之分,所以一直都很好!有什么我可以帮你的吗?

就像吉他手在不同的演出中弹同一首歌,他可能会根据观众的反应、自己的心情或者其他任何因素,稍微改变弹奏的方式。虽然大体上是同一首歌,但每次的演出都是独一无二的。

你可能会想,既然每次都不一样,那要咋玩?

首先,网页版ChatGPT因为是一个"智能助手"产品,为了让它更有真实的感觉,有意将它的多样性做得更好,让它每次对话尽量输出不一样的内容。而如果你通过调用ChatGPTD的API接口,在调节合适的参数后,它的输出就会变得稳定很多。