训练 ChatGPT 的大部分工作是向它 “展示” 大量来自网络、书籍等的现有文本。但事实证明,还有一个明显相当重要的部分。
一旦它完成了对所展示的原始语料库的 “原始训练”,ChatGPT 内的神经网络就可以开始生成自己的文本,继续提示等。但是,虽然这样做的结果往往看起来很合理,但它们往往 —— 特别是对于较长的文本 —— 以往往相当非人类的方式 “游离”。这不是人们可以轻易发现的,比如说,通过对文本做传统的统计。但这是实际阅读文本的人很容易注意到的东西。
构建 ChatGPT 的一个关键想法是,在 “被动地阅读” 网络等事物之后,还有一个步骤:让实际的人类主动与 ChatGPT 互动,看看它产生了什么,并在实际上给它反馈 “如何成为一个好的聊天机器人”。
但神经网络如何使用这种反馈呢?第一步只是让人类对神经网络的结果进行评价。但随后又建立了另一个神经网络模型,试图预测这些评分。但现在这个预测模型可以在原始网络上运行 —— 基本上就像一个损失函数,实际上是让该网络通过人类的反馈来 “调高”。而实践中的结果似乎对系统成功产生 “类似人类” 的输出有很大影响。
总的来说,有趣的是,“最初训练的” 网络似乎只需要很少的 “戳” 就能让它向特定的方向有用地发展。人们可能会认为,要让网络表现得像 “学到了新东西”,就必须运行训练算法,调整权重,等等。
但事实并非如此。相反,基本上只需要告诉 ChatGPT 一些东西,作为你所给的提示的一部分,然后它就可以在生成文本时成功地利用你告诉它的东西。我认为,这一点再次成为理解 ChatGPT “真正在做什么” 以及它与人类语言和思维结构的关系的一个重要线索。
这当然有一些类似于人类的东西:至少在它接受了所有的预训练之后,你可以告诉它一些东西,而它可以 “记住它” —— 至少 “足够长的时间” 来使用它生成一段文本。那么,在这样的情况下发生了什么?
可能是 “你可能告诉它的一切都已经在那里了” —— 你只是把它引向正确的地方。但这似乎并不靠谱。相反,似乎更有可能的是,是的,这些元素已经在那里了,但具体细节是由 “这些元素之间的轨迹” 这样的东西来定义的,这就是你告诉它的东西。
事实上,就像人类一样,如果你告诉它一些奇怪的、出乎意料的、完全不适合它所知道的框架的东西,它似乎并不能成功地 “整合” 这个。只有当它基本上以一种相当简单的方式骑在它已经拥有的框架之上时,它才能 “整合” 它。