diff --git a/Book/1.理解大语言模型.md b/Book/1.理解大语言模型.md index 6dc5a1c..be3d41e 100644 --- a/Book/1.理解大语言模型.md +++ b/Book/1.理解大语言模型.md @@ -34,7 +34,7 @@ LLMs 采用了一种称为 transformer 的架构(在第 1.4 节中将详细讨 由于 LLMs 能够生成文本,因此它们通常被称为一种生成式人工智能 (AI),常缩写为生成 AI 或 GenAI。如图 1.1 所示,人工智能涵盖了创造能执行类似人类智能任务的更广泛领域,包括理解语言、识别模式和做出决策,并包括机器学习和深度学习等子领域。 - + 用于实现人工智能的算法是机器学习领域的核心。机器学习具体涉及开发可以从数据中学习并基于数据做出预测或决策的算法,而不需要明确的编程。举例来说,垃圾邮件过滤器就是机器学习的一个实际应用。与其手动编写规则来识别垃圾邮件,不如将标记为垃圾邮件和合法邮件的电子邮件示例输入给机器学习算法。通过最小化训练数据集上的预测误差,模型能够学习识别垃圾邮件的模式和特征,从而将新邮件分类为垃圾邮件或合法邮件。 @@ -104,13 +104,13 @@ LLM 的第一阶段训练被称为预训练,旨在创建一个初始的预训 transformers 和 LLMs 的一个关键组成部分是自注意力机制(未显示),它使模型能够相对地权衡序列中不同单词或标记的重要性。这个机制帮助模型捕捉输入数据中的远程依赖关系和上下文关系,从而提高生成连贯且与上下文相关的输出的能力。不过,由于自注意力机制的复杂性,我们将在第三章中逐步讨论和实现它。此外,第二章《处理文本数据》中,我们也将讨论并实现创建模型输入所需的数据预处理步骤。 -> **思考:**早期用于翻译任务的模型一般使用RNN,RNN的核心是循环结构,也就是会把当前的输出和之前的状态结合起来,再输入到下一步。这样,网络就可以记住前面输入的信息,并把这些信息应用到后续的预测中。例如,当你输入一段文字时,RNN会记住前面的单词,以帮助理解后面的单词。但这种机制也有一个非常明显的不足:长距离依赖问题。虽然RNN能“记住”前面的信息,但它对非常长的序列记忆能力有限。随着序列变长,早期信息会逐渐被“遗忘”,导致长距离依赖的问题。这就像你在听一长段话,可能会逐渐忘记开头说的内容。而Transformer架构通过自注意力机制(后面详细介绍实现机制)实现能够关注序列中的任意位置,而不需要经过层层传递。因此,无论信息在序列中距离多远,Transformer都能有效地捕捉和利用长距离的依赖关系。 +> **思考:** 早期用于翻译任务的模型一般使用RNN,RNN的核心是循环结构,也就是会把当前的输出和之前的状态结合起来,再输入到下一步。这样,网络就可以记住前面输入的信息,并把这些信息应用到后续的预测中。例如,当你输入一段文字时,RNN会记住前面的单词,以帮助理解后面的单词。但这种机制也有一个非常明显的不足:长距离依赖问题。虽然RNN能“记住”前面的信息,但它对非常长的序列记忆能力有限。随着序列变长,早期信息会逐渐被“遗忘”,导致长距离依赖的问题。这就像你在听一长段话,可能会逐渐忘记开头说的内容。而Transformer架构通过自注意力机制(后面详细介绍实现机制)实现能够关注序列中的任意位置,而不需要经过层层传递。因此,无论信息在序列中距离多远,Transformer都能有效地捕捉和利用长距离的依赖关系。 transformer 架构的后续变体,包括 BERT(双向编码器表示来自 transformers 的缩写)和各种 GPT 模型(生成预训练变换器的缩写),都是基于这一概念进行构建的,以适应不同的任务。(参考文献见附录 B。) BERT 是基于原始 transformer 架构的编码器子模块,与 GPT 的训练方法有所不同。GPT 主要用于生成任务,而 BERT 及其变体则专注于掩码词预测,即模型在给定句子中预测被掩码或隐藏的词,如图 1.5 所示。这种独特的训练策略使得 BERT 在文本分类任务中具备优势,包括情感预测和文档分类。作为应用实例,截至目前,Twitter 正在使用 BERT 来检测有害内容。 -> **思考:**为什么BERT适合用于文档分类或情感预测,这主要是基于BERT的训练模式,BERT也是基于Transformer架构,但它采用的是 **masked language model (MLM)** 训练方式,即在训练过程中,它会随机遮掩输入句子中的一些词(称为“masked”),并让模型预测这些被遮掩的词。这种训练策略被称为**掩蔽词预测**。这一独特的训练方法使得 BERT 能够更好地理解句子的上下文,因为它需要根据整句话的前后部分来预测被遮掩的词。这种双向(bidirectional)的训练使得 BERT 更适合处理需要全局上下文理解的任务,而文档分类或情感预测正是两种对于上下文语义理解要求非常高的场景。 +> **思考:** 为什么BERT适合用于文档分类或情感预测,这主要是基于BERT的训练模式,BERT也是基于Transformer架构,但它采用的是 **masked language model (MLM)** 训练方式,即在训练过程中,它会随机遮掩输入句子中的一些词(称为“masked”),并让模型预测这些被遮掩的词。这种训练策略被称为**掩蔽词预测**。这一独特的训练方法使得 BERT 能够更好地理解句子的上下文,因为它需要根据整句话的前后部分来预测被遮掩的词。这种双向(bidirectional)的训练使得 BERT 更适合处理需要全局上下文理解的任务,而文档分类或情感预测正是两种对于上下文语义理解要求非常高的场景。 @@ -174,6 +174,30 @@ GPT-3 于 2020 年推出,按照深度学习和大语言模型(LLM)开发 模型能够执行未明确训练的任务被称为“涌现行为”。这种能力不是通过明确的训练传授的,而是模型接触大量多语言数据和多样化上下文后自然而然涌现的结果。GPT 模型能够“学习”不同语言之间的翻译模式,并执行翻译任务,尽管它们并没有专门针对这些任务进行训练,这展示了这些大规模生成语言模型的优势和能力。我们可以在不需要为每个任务使用不同模型的情况下,完成多种任务。 + + +## 1.7 构建大语言模型 + +在本章中,我们为理解LLM打下了基础。在本书的其余部分,我们将从零开始编码一个 LLM,使用 GPT 的基本理念作为框架,并分为三个阶段进行,如图 1.9 所示。 + + + +首先,我们将学习基本的数据预处理步骤,并编写 LLM 核心的注意力机制代码。 + +接下来,在第二阶段,我们将学习如何编写代码并预训练一个类似 GPT 的 LLM,能够生成新的文本。同时,我们还会介绍评估 LLM 的基本原理,这对开发强大的 NLP(自然语言处理)系统至关重要。 + +请注意,从头开始预训练一个 LLM 是一项庞大的工程,对于类似 GPT 的模型,计算成本可能高达数千到数百万美元。因此,第二阶段的重点是进行教学目的的训练,使用小型数据集。此外,本书还将提供关于如何加载公开可用的模型权重的代码示例。 + +最后,在第 3 阶段,我们将使用一个预训练好的 LLM,对其进行微调,使其能够执行指令,例如回答查询或进行文本分类——这些是在许多现实世界应用和研究中最常见的任务。 + +希望你能期待踏上这段激动人心的旅程! + + + +## 1.8 本章总结 + + + diff --git a/Image/figure11.png b/Image/figure1.1.png similarity index 100% rename from Image/figure11.png rename to Image/figure1.1.png diff --git a/Image/figure1.9.png b/Image/figure1.9.png new file mode 100644 index 0000000..0977dd1 Binary files /dev/null and b/Image/figure1.9.png differ