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

## LLM Training

但真正的关键在于这些参数,我们如何得到它们?所以,为了获得模型参数,所谓的模型训练过程比我之前展示的模型推断要复杂得多。模型推断只是在 MacBook 上运行模型。而模型训练则是一个计算上极为复杂的过程。简单来说,我们所做的可以被理解为对大量互联网内容的压缩。

因为 Llama 2 70B 是一个开源模型,我们对其训练方式有相当深入的了解,这得益于 Meta 在论文中公开的信息。以下是一些相关的数据。你需要从互联网上获取大约 10 TB 的文本,通常这些文本来自于对互联网的爬取。想象一下,从各种不同的网站上收集大量的文本,并将它们汇集起来。接下来,你需要获取一大块互联网数据,然后,你需要配置一个 GPU 集群,这些 GPU 是为了处理像神经网络训练这样复杂的计算任务而专门设计的高性能计算机。

你需要大约 6,000 个 GPU,并且需要运行大约 12 天才能得到一个 Llama 2 7B,整个过程大约需要花费 200 万美元。这个过程基本上就是将这大量的文本压缩成你可以想象的一种 zip 文件。我在早些时候的幻灯片中向你展示的这些参数,可以被理解为互联网的 zip 文件。例如,在这种情况下,最终生成的是 140GB 的参数。大致来说,这里的压缩比率达到了大约 100 倍。

但这种压缩与 zip 文件不同,因为 zip 文件是无损压缩,而这里是有损压缩。我们只是大致获取了我们训练文本的概念,而不是在这些参数中保留了文本的完整副本。所以,可以把它理解为一种有损压缩方式。另外需要指出的是,按照目前最先进技术的标准,这些数据其实只是入门级别的。如果考虑到像 ChatGPT、Claude 或 Bard 这样的顶尖神经网络,这些数字可能需要增加十倍甚至更多。

这意味着在实际操作中,我们需要将这些数字大幅上调。这也解释了为什么如今这些神经网络的训练成本高达数千万甚至数亿美元,它们需要庞大的计算集群和大量数据集,而且在获取参数的过程中需要付出巨大努力。一旦获得了这些参数,实际运行神经网络的计算成本就相对较低了。

那么,这个神经网络到底在做什么呢?正如我之前提到的那些参数,神经网络的主要任务其实是预测文本序列中的下一个词。你可以这样理解:当你输入一连串词语,比如 “cat sat on a”,这些词就会被送入神经网络。神经网络中分布着的这些参数,就是完成这一任务的关键。通过神经元的相互连接和激发,来预测下一个单词。

你可以这么理解这个过程:输入一段文本后,神经网络会预测下一个词是什么。举个例子,在 “cat sat on a” 这四个 词的上下文中,神经网络可能会预测下一个词是“mat”,并且给出了 97% 的高概率。这就是神经网络要解决的核心问题。从数学上可以证明,预测与数据压缩之间存在密切联系。这也是为什么我会说,这种神经网络训练在某种意义上是一种数据压缩:因为如果你能够非常准确地预测下一个词,你就可以利用这个能力来压缩数据集。

所以,这其实是一个专注于预测下一个词的神经网络。你输入一些词,它就会告诉你接下来的词是什么。这种训练的结果之所以显得有些神奇,是因为尽管下一个词预测看似是一个简单的任务,但实际上它是一个非常强大的目标。因为这个目标迫使神经网络在其参数中学习到大量关于世界的信息。

我举个例子,我在准备这个演讲时随机找了一个网页。这个页面是从维基百科的主页抓取的,讲的是 Ruth Handler 的故事。所以,想象一下你是神经网络,你需要根据给定的词来预测下一个词。在这个例子中,我用红色标出了一些信息量很大的词。例如,如果你的目标是预测下一个词,那么你的参数必须要学习很多这样的知识。你得知道 Ruth Handler 是谁,她何时出生,何时去世,她是谁,她的成就等等。在这个预测下一个词的任务中,你实际上学到了大量关于世界的知识,所有这些知识都被压缩到权重和参数中。

## LLM Dreams

那么,我们如何实际使用这些神经网络呢?当我们训练好它们后,我演示了模型推断是个非常简单的过程。我们基本上是生成下一个词,我们从模型中采样,选择一个词,然后我们继续将其反馈进去并得到下一个词,然后继续这样反馈。我们可以重复这个过程,让这个网络仿佛在“梦游”互联网文档。打个比方,如果我们只是运行神经网络,或者说进行推理,我们会得到类似于在网络上浏览的梦境体验。

可以这么理解:因为这个神经网络是基于网页内容进行训练的,然后它可以自由遨游于其中。例如,在左边,我们可以看到类似于 Java 代码的“梦境”。中间的部分,看起来像是对亚马逊产品描述的“梦境”。而右边,则似乎呈现出一篇维基百科文章的样子。以中间的这个例子为例,标题、作者、ISBN 编号等等,这些内容都是神经网络完全自行创造的。这个网络正在“梦想”出它所训练数据集中的文本类型,它在模仿这些文档,但其实,这些都像是它的幻觉一样。

比如说 ISBN 号码,这个号码几乎可以肯定是不存在的。网络只是知道在“ISBN:”后面通常会跟着这样长度的数字,然后就随机生成一个。实际上,它只是随意插入看起来合理的内容。因此,它在模仿训练数据集的分布模式。在右边,黑鼻鲑鱼,我查了一下,它实际上是一种鱼。这里的情况是,这段文字在训练集文档中并未原样出现,但如果你真的去查证,会发现对这种鱼的这些描述信息大致上是正确的。因此,这个网络对这种鱼有一定的了解,它知道很多关于这种鱼的信息。它不会完全复制训练集中看到的文档,但它会对互联网的信息进行某种程度的压缩和整合,它能够记住整体的轮廓。它大致掌握了相关知识,然后开始创造。它构建了一种合适的形式,并用自己的知识填充其中。

但我们永远不能百分之百确定它生成的内容是幻觉、错误的回答,还是正确的回答。所以,它的一部分内容可能是记忆中的,而另一部分则不是,我们无法精确区分。但大多数情况下,这就像是它在梦游或在做关于互联网文本的梦,源于它的数据分布。这种能力使得神经网络能够生成各种文本,从代码到商品描述再到百科全书条目,但它也意味着生成的内容需要谨慎验证和审查,以确保准确性和可信度。这就是模型训练和模型推断的关键过程,它们共同构建了人工智能模型的能力和潜力。

发表回复

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