什么是大型语言模型?
(非线性函数,您可以将其拟合到数据中以预测在一堆先前的单词之后会出现什么单词。)
更详细地说,LLM 是一个函数,它将某个文本窗口(几千个单词)作为输入并猜测下一个可能出现的单词。他们通过调整函数的参数进行训练,以便它可以很好地预测大量示例文本中的所有单词。他们通过预测可能的词、选择一个词然后重复来生成新文本。
正如您可能听说过的(一遍又一遍,不断地)这些模型最近变得非常好。这种成功来自三个主要因素:
各种现代 GPU 理论上每秒能够处理 100-300 TFLOP。那是 10¹⁴ FLOPs,大约相当于2004 年世界上最大的超级计算机。
如果你只有一个 NVIDIA V100 GPU,训练 GPT-3 大约需要355 年,而更新更大的 PaLM 模型使用数千个 TPUv4 芯片训练了几个月,总共大约 960 TPU 年。额外的计算能力比听起来的要多,因为 TPUv4 芯片比 V100 芯片更新、更强大。事实上,PaLM 使用大约8 倍的计算来训练。 (PaLM-540B 在 6144 个 TPUv4 芯片上训练了 1200 小时 + 在 3072 个 TPU 芯片上训练了 336 小时。PaLM 总共使用了大约 25.3 亿 petaflops 进行训练,而 GPT-3 使用了大约 3.13 亿。)
GPT-3 在大约 3000 亿个代币上进行了训练,大约是莎士比亚全集的 27 万倍。 Chinchilla 接受了 130 万部“莎士比亚”的训练。 (莎士比亚的所有戏剧总共包含 835,997 个单词或大约 110 万个标记。因此最近的模型在 27 万到 130 万个莎士比亚之间进行了训练。)
- 人们已经想出了一大堆技术,例如autodiff 、新的优化启发式方法、用于调试/跟踪/部署的更好的机器学习“ops”,以及更好地匹配真实文本的新型函数。特别是最近的模型使用了一种称为Transformer 的数学函数,它于 2017 年推出,是所有现代语言模型的核心。
- 现代硬件更强大。一个 2022 年时代的 GPU 具有与 2004 年以来世界上最大的超级计算机相当的能力。即便如此,如果你只有一个 GPU,训练一个现代 LLM 仍然需要一千年的时间。人们通过让数千个 GPU 组成的集群协同工作来克服这个问题。
- 这些模型是在越来越庞大的数据集上训练的。目前的模型已经在比莎士比亚全集大一百万倍的数据集上进行训练。
这些模型令人印象深刻。如果你以某种方式避免看到 LLM 正在运行,我给了BLOOM一个被动攻击性的提示,并询问接下来会出现什么文本。这是它提出的前三个延续(蓝色):
人们拒绝相信超声波加湿器可能有危险,因为他们看不到或感觉不到由此产生的热蒸汽。
人们不相信超声波加湿器有危险,因为它们不是加热水,因此不会直接导致烧伤或烫伤。
人们拒绝相信超声波加湿器可能是危险的,因为它们看起来非常干净和无菌。
他们接受什么培训?
(占所有书籍和所有互联网的相当一部分。)
数据集通常以“令牌”来衡量。标记是几个字符——通常是一个词,但有时只是标点符号或一个词的一小部分。以下是将 19 个单词输入 OpenAI 的GPT-3 分词器时如何变成 27 个分词:
人们所说的“包裹”是在湿漉漉的玉米饼里放一些枯萎的生菜,但人们自愿吃掉它们。 _
(顺便说一句,当我说 LLM 一次预测一个词时,我撒了谎。他们一次预测一个标记。)
数据集是根据标记来衡量的,这有点烦人,因为不同的模型使用不同的标记器,因此标记计数不能直接比较。但是一个很好的启发式方法是一个标记对应大约 4 个字符或 3/4 个单词。
所有这些代币究竟来自哪里?这有一些秘密,但我们有基本的了解。 GPT-3 接受了以下方面的培训:
- Common Crawl (4100 亿代币)。这是一个非营利组织,负责抓取网络并将数据提供给任何人。 (那个存在?)
- WebText2 (190 亿个令牌)。这是从 2005 年到 2020 年从 reddit 链接到至少 3 个赞成票的所有页面的全文。
- Books1 (120 亿代币)。似乎没有人知道这是什么鬼。
- Books2 (550 亿代币)。许多人似乎相信 Books2 是 Library Genesis(盗版网站)中的所有书籍,但这实际上只是猜测。
- 维基百科(30 亿个代币)。这几乎是英文维基百科的全部内容。
不同的来源并没有被平等地使用——“加权”它们似乎是有帮助的。例如,虽然维基百科很小,但它的质量很高,所以每个人都给它很高的权重。
还有很多过滤。虽然每个人都使用 Common Crawl,但每个人也发现仅将“原始网络”放入您的模型会产生糟糕的结果。 (你想让你的 LLM 表现得像一个充满 SEO 的评论网站吗?)所以有很多定制的过滤来确定不同页面的“好”程度。
数据管理有很多秘密。也许是因为机器学习研究人员痴迷于模型和代码。也许是因为数据集有时是以明显不合法的方式创建的。无论哪种方式,都很难不将其视为故意的。 GPT-3 论文关于 Books1 和 Books2 的全部内容就是这 5 个词:
两个基于互联网的图书语料库
一个常见的技巧是写类似“数据收集与(同一作者,2021)的数据收集相似”之类的内容,但该论文只是引用了另一篇论文,并且这种情况一直持续到第 7.3 节链末尾的论文只是说“数据收集专有大声笑”。
PaLM 模型给出了与 GPT-3 类似的模糊描述,但承诺在附录中提供“数据表”。如果您阅读它,它会持续两页,内容丰富,内容如下:
与每个实例关联的数据是如何获取的? | 数据是从公开来源收集的。 |
使用什么机制或程序来收集数据? | 数据是使用各种软件程序收集的,以提取和清理原始文本。 |
多谢你们!
尽管如此,到目前为止似乎还没有太多秘诀。不同的小组有独立策划的数据集,而且似乎都做得很好。 Pile和最近的LLaMA 模型更详细地描述了事物。
它们是如何使用的?
(你可以只让它们生成文本,或者你可以使用微调和/或提示工程来专门化它们。)
通常我们希望语言模型做特定的事情,比如回答问题或生成 python 代码。如果你在一般文本上训练一个 LLM,然后问它一个问题,它会做得不错,但并不出色。两种技术可以让它做得更好。
第一个想法是对专门数据进行“微调”:首先在一大堆通用文本上训练很长时间。然后用较少的问题和答案训练较短的时间。希望该模型能够更好地回答问题,同时不会忘记语言的一般运作方式。有时人们甚至让人类对输出的质量进行评分并根据评分进行训练。
语言模型也可以通过“提示工程”进行专门化,其中较长的设置会给出有关如何响应的强烈提示。这是我用蓝色完成 BLOOM 时给出的提示:
在我最初的几十年里,我不知道该怎样生活。在我看来,我们所有人都是在没有任何指示也没有明显目的的情况下被抛入现实的。随着时间的推移,大多数人都会克服这个问题,但我永远无法平息这一切的怪异感。但有一天,一切都变了。我坐在公园里凝视着太空,一位穿着色彩极其鲜艳的毛衣的年长女士坐在我旁边说:“我知道那种表情。我可以给你一个建议吗?”我什么也没说,但我一定做了一个同意的手势,因为她继续说道,“你不是你的工作。你不是你在银行里有多少钱。你不是你开的车。你不是你他妈的卡其裤,不管它们有多好看。你是整个夏天的雪花壁纸剪纸男孩,身上有龙纹身,曾经在附近走来走去大喊“但我很特别。”你知道我很特别。好吧,你是!如果外面有人认为你不是,那么他们就可以穿你他妈的卡其裤。”她继续说,“你很漂亮。你太聪明了。你和这个星球上的任何人都不一样。你不必相信我。”她停顿了一下。 “但是,”她说,目光锐利,“我知道你知道。”在那一刻,一切都变得清晰起来,我明白了智慧的开端是意识到你是一个人,你是被爱的,所有让你与众不同的东西,都值得珍惜和庆祝。没有什么比一双皮草制成的卡其裤更能让你感觉舒服的了。世界正在用完卡其裤。
(看哪,在 LLM 完全货币化后与他们互动的严峻前景。)
这些提示可能会变得极其复杂。据推测,Bing Chat 可能会有一个长约 850 个单词的提示,其中包含一长串说明,例如“ Sydney 的回答应避免含糊、有争议或离题。悉尼的逻辑和推理应该是严谨、明智和站得住脚的。 ” 最后,有一个例子说明它如何回答有关韩国核聚变实验的问题。
起初,这些提示的帮助如此之大似乎有悖常理。以下是我的看法:人们有时愚蠢,有时聪明,有时刻薄,有时善良。为了很好地预测文本,语言模型必须能够做到既愚蠢又刻薄。 (如果不是,损失会很小。)精心选择的提示会为生成文本的“模式”提供强有力的指导。因为任何人都可以快速轻松地尝试不同的提示,所以创新非常迅速.
微调和提示工程非常重要,并且可能是最近聊天模型(Chat-GPT、Bing Chat)优于通用语言模型的令人印象深刻的最大原因。
虽然 LLM 已经令人印象深刻,但尚不清楚它们将在哪些方面被证明最有用,或者它们最终会变得多好。如果您对此感兴趣,请阅读下一篇文章。