现在我要换个方向,让我们看看如何最好地将 GPT 助手模型应用于您的问题。
现在我想在一个具体示例的场景里展示。让我们在这里使用一个具体示例。
加州的人口是阿拉斯加的 53 倍。因此出于某种原因,您想比较这两个州的人口。
想想我们自己丰富的内心独白和工具的使用,以及在你的大脑中实际进行了多少计算工作来生成这最后一句话。
这可能是你大脑中的样子:
好的。对于下一步,让我写博客——在我的博客中,让我比较这两个人群。
好的。首先,我显然需要得到这两个人群。
现在我知道我可能根本不了解这些人群。
我有点,比如,意识到我知道或不知道我的自我知识;正确的?
我去了——我做了一些工具的使用,然后我去了维基百科,我查找了加利福尼亚的人口和阿拉斯加的人口。
现在我知道我应该把两者分开。
同样,我知道用 39.2 除以 0.74 不太可能成功。
那不是我脑子里能做的事情。
因此,我将依靠计算器。
我打算用一个计算器,把它打进去,看看输出大约是 53。
然后也许我会在我的大脑中做一些反思和理智检查。
那么53有意义吗?
好吧,这是相当大的一部分,但是加利福尼亚是人口最多的州,也许这看起来还可以。
这样我就有了我可能需要的所有信息,现在我开始写作的创造性部分了。
我可能会开始写类似,加利福尼亚有 53 倍之类的东西,然后我对自己说,这实际上是非常尴尬的措辞,让我删除它,然后再试一次。
在我写作的时候,我有一个独立的过程,几乎是在检查我正在写的东西,并判断它是否好看。
然后也许我删除了,也许我重新构造了它,然后也许我对结果感到满意。
基本上,长话短说,当你创造这样的句子时,你的内心独白会发生很多事情。
这里Andrej从一个具体的例子开始讲起,首先假设我们需要写一篇博客,在博客的最后希望写一句话“加州的人口是阿拉斯加的53倍”,为了能够给出这个结论,我们的大脑中需要进行很多前置工作,如下图所示,先想一下我得知道他们各自的人口是多少,但是这不在我的脑海中,因此我需要去检索。然后通过wiki我知道了加州有39.2M的人,阿拉斯加有0.74M的人,然后我需要计算一下两者的除法,但我没法心算,所以我用计算器算了一下,得到39.2/0.74=53. 快速的在脑海中确认一下,这个数值是否合理,加州人确实比阿拉斯加多很多,感觉应该合理,于是我确信加州的人是阿拉斯加的53倍,并写到我的博客中,在写的过程中可能还会觉得辞藻不够美妙,反复修改一下。 所以为了达成这个目标,我的脑海中需要经过很多很多的事项才可以。
但是,当我们在其上训练 GPT 时,这样的句子是什么样的?
从 GPT 的角度来看,这只是一个标记序列。因此,当 GPT 读取或生成这些标记时,它只会进行分块、分块、分块,每个块对每个标记的计算工作量大致相同。
这些 Transformer 都不是很浅的网络,它们有大约 80 层的推理,但 80 仍然不算太多。
这个Transformer将尽最大努力模仿...但是,当然,这里的过程看起来与你采用的过程非常非常不同。
特别是,在我们最终的人工制品中,在创建并最终提供给 LLM 的数据集中,所有内部对话都被完全剥离(只给出最后结果作为训练数据)。
并且与您不同的是,GPT 将查看每个标记并花费相同的算力去计算它们中的每一个,实际上,你不能指望它对每个标记做太多的工作。
基本上,这些Transformer就像标记模拟器。它们不知道自己不知道什么,它们只是模仿(预测)下一个标记;它们不知道自己擅长什么,不擅长什么,只是尽力模仿(预测)下一个标记。
它们不反映在循环中,它们不检查任何东西,它们在默认情况下不纠正它们的错误,它们只是对标记序列进行采样。
它们的头脑中没有单独的内心独白流,它们正在评估正在发生的事情。
现在它们确实有某种认知优势,我想说,那就是它们实际上拥有大量基于事实的知识,涵盖大量领域,因为它们有几百亿个参数,这是大量存储和大量事实。
而且我认为,它们也有相对大而完美的工作记忆。
因此,任何适合上下文窗口的内容都可以通过其内部自注意机制立即供Transformer使用,它有点像完美的记忆。它的大小是有限的,但Transformer可以非常直接地访问它,它可以无损地记住其上下文窗口内的任何内容。
这就是我比较这两者的方式。
我之提出所有这些,是因为我认为在很大程度上,提示只是弥补了这两种架构之间的这种认知差异。就像我们人类大脑和 LLM 大脑(的比较),你可以这么看。
这样的一个过程其实就是一连串的token序列。在GPT处理时,他只会一块一块又一块的逐个去处理这些token,花差不多的时间去计算下一个词是什么,他并不像我们人类一下具有丰富的心理活动。他不知道他知道什么,他只是去模拟下一个词。他不知道什么好什么坏,他只是去模拟下一个词。他不会反思,不会检查,不会修正自己的问题。他的优势在于具备大量的基础知识,涵盖了大量的领域,保存在他的几百亿的参数中,并且对于他们的context windows可以完美处理。
人们发现有一件事,在实践中效果很好。
特别是如果您的任务需要推理,您不能指望Transformer对每个标记进行太多推理,因此