add first chapter
This commit is contained in:
parent
8077019e3b
commit
3caedb52f7
|
|
@ -74,7 +74,7 @@ LLMs 还可以支持复杂的聊天机器人和虚拟助手,例如 OpenAI 的
|
||||||
|
|
||||||
创建 LLM 的一般过程包括预训练和微调。术语 "pre" 在 "pretraining" 中指的是初始阶段,此时模型(如 LLM)在一个大型且多样化的数据集上进行训练,以便获得对语言的广泛理解。预训练模型随后作为基础资源,可以通过微调进一步优化。微调是指模型在一个更狭窄的数据集上进行专门训练,这个数据集更针对特定任务或领域。包含预训练和微调的这种两阶段训练方法在图 1.3 中进行了说明。
|
创建 LLM 的一般过程包括预训练和微调。术语 "pre" 在 "pretraining" 中指的是初始阶段,此时模型(如 LLM)在一个大型且多样化的数据集上进行训练,以便获得对语言的广泛理解。预训练模型随后作为基础资源,可以通过微调进一步优化。微调是指模型在一个更狭窄的数据集上进行专门训练,这个数据集更针对特定任务或领域。包含预训练和微调的这种两阶段训练方法在图 1.3 中进行了说明。
|
||||||
|
|
||||||
> **思考:**预训练的数据集已经学习好了语言模型的基础能力,包括语法、词汇、语言结构,可以相对准确的预测下一个token。而微调则是利用特定领域的数据来让模型适应某些特定的任务。
|
> **思考:** 预训练的数据集已经学习好了语言模型的基础能力,包括语法、词汇、语言结构,可以相对准确的预测下一个token。而微调则是利用特定领域的数据来让模型适应某些特定的任务。
|
||||||
>
|
>
|
||||||
> + 微调默认情况下会调整所有权重,但由于权重已经经过预训练,大多数情况下,微调只会对预训练权重进行微小调整,而不是大幅度改变。这种方式能够让模型保持原有的语言生成能力,同时使其在特定任务上表现得更好。
|
> + 微调默认情况下会调整所有权重,但由于权重已经经过预训练,大多数情况下,微调只会对预训练权重进行微小调整,而不是大幅度改变。这种方式能够让模型保持原有的语言生成能力,同时使其在特定任务上表现得更好。
|
||||||
> + 冻结部分权重的微调,一般冻结低层(往往是学习到的基础语言特征),对高层的权重进行调整。一般用于加速训练,或者数据量较小,全权重微调可能导致过拟合的情况下使用。
|
> + 冻结部分权重的微调,一般冻结低层(往往是学习到的基础语言特征),对高层的权重进行调整。一般用于加速训练,或者数据量较小,全权重微调可能导致过拟合的情况下使用。
|
||||||
|
|
@ -82,7 +82,7 @@ LLMs 还可以支持复杂的聊天机器人和虚拟助手,例如 OpenAI 的
|
||||||
|
|
||||||
<img src="../Image/figure1.3.png" style="zoom:100%;" />
|
<img src="../Image/figure1.3.png" style="zoom:100%;" />
|
||||||
|
|
||||||
如图 1.3 所示,创建 LLM 的第一步是用大量文本数据进行训练,这些数据有时被称为原始文本。这里的 "raw" 指的是这些数据只是普通文本,没有任何标注信息 。(可以进行过滤,比如去除格式字符或未知语言的文档。)
|
如图 1.3 所示,创建 LLM 的第一步是用大量文本数据进行训练,这些数据有时被称为原始文本。这里的 "raw" 指的是这些数据只是普通文本,没有任何标注信息[^1] 。(可以进行过滤,比如去除格式字符或未知语言的文档。)
|
||||||
|
|
||||||
LLM 的第一阶段训练被称为预训练,旨在创建一个初始的预训练 LLM,通常称为基础模型。GPT-3 模型是一个典型例子(ChatGPT 中原始模型的前身)。该模型可以完成文本补全,即对用户写了一半的句子进行。同时,它还具有有限的少量示例学习能力,这意味着它可以在仅有少量示例的情况下学习执行新任务,而不需要大量的训练数据。下一节“介绍 transformer 架构”将对此进行进一步说明。
|
LLM 的第一阶段训练被称为预训练,旨在创建一个初始的预训练 LLM,通常称为基础模型。GPT-3 模型是一个典型例子(ChatGPT 中原始模型的前身)。该模型可以完成文本补全,即对用户写了一半的句子进行。同时,它还具有有限的少量示例学习能力,这意味着它可以在仅有少量示例的情况下学习执行新任务,而不需要大量的训练数据。下一节“介绍 transformer 架构”将对此进行进一步说明。
|
||||||
|
|
||||||
|
|
@ -142,7 +142,7 @@ GPT-3 数据集细节
|
||||||
GPT-3 论文的作者没有公开训练数据集,但有一个与其相当的公开数据集名为 Dolma:由 Soldaini 等人在 2024 年发布的《用于 LLM 预训练研究的三万亿token开放语料库》(https://arxiv.org/abs/2402.00159)。不过,该数据集可能包括受版权保护的作品,其具体使用条款可能会根据预期的使用场景和国家有所不同。
|
GPT-3 论文的作者没有公开训练数据集,但有一个与其相当的公开数据集名为 Dolma:由 Soldaini 等人在 2024 年发布的《用于 LLM 预训练研究的三万亿token开放语料库》(https://arxiv.org/abs/2402.00159)。不过,该数据集可能包括受版权保护的作品,其具体使用条款可能会根据预期的使用场景和国家有所不同。
|
||||||
```
|
```
|
||||||
|
|
||||||
这些模型的预训练特性使它们在后续任务中的微调变得非常灵活,因此它们也被称为基础模型或基模。预训练 LLM 需要消耗大量资源,且成本非常高。例如,GPT-3 的预训练费用估计为 460 万美元,通过云计算积分来计算。
|
这些模型的预训练特性使它们在后续任务中的微调变得非常灵活,因此它们也被称为基础模型或基模。预训练 LLM 需要消耗大量资源,且成本非常高。例如,GPT-3 的预训练费用估计为 460 万美元,通过云计算积分来计算[^2]。
|
||||||
|
|
||||||
好消息是,已经有许多经过预训练的开源LLM,可以作为通用工具来撰写、提取和编辑不在训练数据中的文本。此外,LLM可以在相对较小的数据集上进行微调,以减少所需的计算资源并提高特定任务的性能。
|
好消息是,已经有许多经过预训练的开源LLM,可以作为通用工具来撰写、提取和编辑不在训练数据中的文本。此外,LLM可以在相对较小的数据集上进行微调,以减少所需的计算资源并提高特定任务的性能。
|
||||||
|
|
||||||
|
|
@ -180,7 +180,7 @@ GPT-3 于 2020 年推出,按照深度学习和大语言模型(LLM)开发
|
||||||
|
|
||||||
在本章中,我们为理解LLM打下了基础。在本书的其余部分,我们将从零开始编码一个 LLM,使用 GPT 的基本理念作为框架,并分为三个阶段进行,如图 1.9 所示。
|
在本章中,我们为理解LLM打下了基础。在本书的其余部分,我们将从零开始编码一个 LLM,使用 GPT 的基本理念作为框架,并分为三个阶段进行,如图 1.9 所示。
|
||||||
|
|
||||||
<img src="../Image/figure1.9.png" style="zoom:70%;" />
|
<img src="../Image/figure1.9.png" style="zoom:60%;" />
|
||||||
|
|
||||||
首先,我们将学习基本的数据预处理步骤,并编写 LLM 核心的注意力机制代码。
|
首先,我们将学习基本的数据预处理步骤,并编写 LLM 核心的注意力机制代码。
|
||||||
|
|
||||||
|
|
@ -196,7 +196,23 @@ GPT-3 于 2020 年推出,按照深度学习和大语言模型(LLM)开发
|
||||||
|
|
||||||
## 1.8 本章总结
|
## 1.8 本章总结
|
||||||
|
|
||||||
|
+ LLM 已经彻底改变了自然语言处理的领域,之前自然语言处理主要依赖于显式的规则系统和较为简单的统计方法。LLM 的出现引入了新的深度学习驱动的方法,推动了对人类语言的理解、生成和翻译的进步。
|
||||||
|
+ 现代 LLM 的训练通常分为两个主要步骤:
|
||||||
|
+ 首先,它们在一个大型未标记的文本语料库中进行预训练,通过使用句子中下一个单词的预测作为“标签”。
|
||||||
|
+ 这些模型接下来会在一个较小的、有标签的目标数据集上进行微调,以遵循指令或执行分类任务。
|
||||||
|
+ LLM 基于Transformer架构。Transformer架构的核心理念是注意力机制,这使得 LLM 在逐字生成输出时,能够选择性地访问整个输入序列。
|
||||||
|
+ 原始的Transformer架构由一个用于解析文本的编码器和一个用于生成文本的解码器组成。
|
||||||
|
+ 生成文本和执行指令的 LLM,例如 GPT-3 和 ChatGPT,仅实现解码器模块,这使得架构更加简化。
|
||||||
|
+ 由数十亿个单词构成的大型数据集对预训练 LLM 至关重要。在本书中,我们将实现并在小型数据集上训练 LLM,以便用于教学,同时也会探讨如何加载公开可用的模型权重。
|
||||||
|
+ 类似 GPT 的模型的普遍预训练任务是预测句子中的下一个单词,但这些 LLM 显示出了“涌现”特性,例如具备分类、翻译或文本总结的能力。
|
||||||
|
+ 一旦 LLM 完成预训练,得到的基础模型就可以更高效地微调,以应对各种下游任务。
|
||||||
|
+ 在自定义数据集上微调过的 LLM 能够在特定任务上超越通用 LLM。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[^1] 拥有机器学习背景的读者可能会注意到,传统机器学习模型和通过常规监督学习训练的深度神经网络通常需要标注数据。但在 LLM 的预训练阶段情况并非如此。在这一阶段,LLM 采用自监督学习,模型可以从输入数据中自动生成标签。这个概念将在本章后面的内容中进一步讨论。
|
||||||
|
|
||||||
|
[^2] GPT-3,价值 4,600,000 美元的语言模型,https://www.reddit.com/r/MachineLearning/comments/h0jwoz/d_gpt3_the_4600000_language_model/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue