大语言模型的30分钟入门3(翻译)

## How do they work?

好了,让我们换个话题,来看看这个神经网络是怎么运作的?它是如何完成下一个词预测任务的?它内部的运作机制是什么?这里的情况稍微复杂一些。如果我们放大神经网络的简化图,这有点像是神经网络的示意图。这就是我们称之为 Transformer 的神经网络架构,这是它的一个示意图。现在,这个神经网络的一个显著特点是,我们对其架构有着完整的理解。我们清楚地知道在它的各个阶段会发生哪些数学运算。

但问题在于,这 1000 亿个参数分散在整个神经网络中。因此,基本上,这上千亿个参数散布在整个网络中,我们所了解的只是如何逐步调整这些参数,以使整个网络在下一个词预测的任务上表现得更好。我们知道如何优化这些参数,也知道如何随时间调整它们以获得更佳的下一词预测效果,但我们并不真正清楚这些参数具体是如何工作的。我们可以观察到它在下一个词预测方面的进步,但并不清楚这些参数是如何协同工作以实现这一点的。我们手头有些模型,可以让我们从宏观层面思考网络可能在做的事情。

我们大致理解,它们构建并维护了某种知识库,但这个数据库却非常奇特、不完美且怪异。最近有一个广为流传的例子,我们称之为“反转诅咒”。比如,如果你和目前最先进的语言模型 GPT-4(ChatGPT 的一部分)对话,你问,谁是汤姆·克鲁斯的母亲?它会告诉你是玛丽·李·菲弗,这是正确的。但如果你问,谁是玛丽·菲弗的儿子,它会告诉你它不知道。这种知识很古怪,它似乎是单向的。这些信息并不是简单存储后就能从各种角度获取,你必须从某个特定的角度去提问。

这真是既奇怪又令人困惑。归根结底,我们实际上并不真正了解其工作原理,只能大致判断它是否有效,以及有效的可能性有多大。简而言之,可以将大语言模型 (LLM) 视为难以完全解读的产物。它们与你可能在工程学科中建造的任何其他东西都不相似。它们不像汽车,我们了解汽车的每一个部件。

它们是这些来自长期优化过程的神经网络。我们目前并不完全理解它们是如何工作的,尽管有一个叫做可解释性或机械可解释性的领域,正在尝试研究并理解这些神经网络的每一个部分。目前,我们可以在一定程度上做到这一点,但还未能全面实现。现在,我们主要将它们视为基于经验的产品。我们可以给它们输入一些数据,然后测量输出结果。我们基本上可以测量它们的行为表现。我们可以观察它们在许多不同情况下生成的文本。因此,我认为这需要 相应的复杂评估来处理这些模型,因为它们主要是基于经验的。

## Finetuning into an Assistant

现在,让我们来看看我们如何实际获得一个助手模型。到目前为止,我们只谈论了这些互联网文档生成器,对吧?这是训练的第一阶段,我们称之为预训练。我们现在正在进入训练的第二阶段,我们称之为微调。这一阶段我们会获得所谓的助手模型。

因为我们实际上不仅仅需要文档生成器,文档生成器对许多任务帮助不大。我们希望能向某个系统提问,并让它根据这些问题生成答案。所以我们真正需要的是一个助手模型。 获得这些助手模型的过程主要如下:我们保持优化过程相同,训练方式也相同。这本质上是一个下一步工作预测的任务。但我们将更换训练用的数据集。原本我们是在互联网文档上进行训练,现在我们转而使用手动收集的数据集。我们收集这些数据的方式是通过雇佣大量的人。通常,公司会雇佣人员,给他们标注指南,并要求他们提出问题,再为这些问题写出答案。这里有一个具体示例:它很可能就是你训练集中的一部分。比如,有一个用户提问,内容可能是:“你能简要介绍一下‘垄断买方’这个术语在经济学中的相关性吗?”

接着,有一个助手角色,同样由人来填写理想的回复应当是什么。理想的回复,以及如何定义它,以及它应该是什么样子,都是根据我们为这些参与者提供的标注文档来确定的。像 OpenAI 或 Anthropic 这样的公司的工程师会制定这些标注文档。现在,预训练阶段主要处理大量的文本,但这些文本可能质量不高,因为它们都是从互联网上获取的,有数十甚至数百 TB 的文本,而且并非所有的都是高质量的。但在第二阶段,我们更看重质量而非数量。所以我们可能只有很少的文档,比如 10 万份,但这些文档都是对话形式,并且都是非常高质量的,由专业人士基于标注指南创建的。

所以我们现在更换数据集,转而在这些问答形式的文档上进行训练。这个过程被称为微调。完成这些步骤后,我们就能得到所谓的助手型模型。这个助手模型现在遵循它新训练文档的形式。举个例子,如果你问它一个问题,比如:“你能帮我查一下这段代码吗?似乎有个 bug。请打印 hello world。”即使这个问题并不是训练集的一部分,模型在微调后理解它应该以一个有用的助手的风格回答这类问题。它会这样做。它会再次逐字采样,从左到右,从上到下,所有这些词都是对这个问题的回复。

这是相当了不起的,也有点令人费解,还不完全被理解,这种模型能够改变它们的格式,现在变成了有用的助手,因为它们在微调阶段看到了很多这样的文档,但它们仍然能够访问并以某种方式利用所有在第一阶段(预训练阶段)积累的知识。大致来说,预训练阶段是在海量互联网数据上进行训练,重点是知识积累;而微调阶段则更关注对齐,它是关于给予,即将格式从互联网文档转变为问答形式,就像一个有用的助手一样。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注