add seventh chapter
|
After Width: | Height: | Size: 532 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 910 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 961 KiB |
|
After Width: | Height: | Size: 1.0 MiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 677 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 568 KiB |
|
Before Width: | Height: | Size: 481 KiB |
|
|
@ -16,7 +16,7 @@
|
|||
- [1.5 利用大型数据集](#15-利用大型数据集)
|
||||
- [1.6 深入剖析GPT架构](#16-深入剖析gpt架构)
|
||||
- [1.7 构建大语言模型](#17-构建大语言模型)
|
||||
- [1.8 本章总结](#18-本章总结)
|
||||
- [1.8 本章摘要](#18-本章摘要)
|
||||
|
||||
|
||||
|
||||
|
|
@ -218,7 +218,7 @@ GPT-3 于 2020 年推出,按照深度学习和大语言模型(LLM)开发
|
|||
|
||||
|
||||
|
||||
## 1.8 本章总结
|
||||
## 1.8 本章摘要
|
||||
|
||||
+ LLM 已经彻底改变了自然语言处理的领域,之前自然语言处理主要依赖于显式的规则系统和较为简单的统计方法。LLM 的出现引入了新的深度学习驱动的方法,推动了对人类语言的理解、生成和翻译的进步。
|
||||
+ 现代 LLM 的训练通常分为两个主要步骤:
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
- [2.1 理解词嵌入](#21-理解词嵌入)
|
||||
- [2.2 文本分词](#22-文本分词)
|
||||
- [2.3 将 tokens 转换为token IDs](#23-将-tokens-转换为token-ids)
|
||||
- [2.4 添加特殊上下文tokens](#24-添加特殊上下文tokens)
|
||||
- [2.4 添加特殊上下文token](#24-添加特殊上下文token)
|
||||
- [2.5 字节对编码(Byte pair encoding)](#25-字节对编码byte-pair-encoding)
|
||||
- [2.6 使用滑动窗口进行数据采样](#26-使用滑动窗口进行数据采样)
|
||||
- [2.7 构建词嵌入层](#27-构建词嵌入层)
|
||||
- [2.8 位置编码](#28-位置编码)
|
||||
- [2.9 总结](#29-总结)
|
||||
- [2.9 本章摘要](#29-本章摘要)
|
||||
|
||||
-----
|
||||
|
||||
|
|
@ -1039,7 +1039,7 @@ torch.Size([8, 4, 256])
|
|||
|
||||
|
||||
|
||||
## 2.9 总结
|
||||
## 2.9 本章摘要
|
||||
|
||||
+ LLM 需要将文本数据转换为数值向量,这称之为嵌入,因为它们无法处理原始文本。嵌入将离散数据(如单词或图像)转化为连续的向量空间,从而使其能够与神经网络操作兼容。
|
||||
+ 作为第一步,原始文本被分解为token,这些token可以是单词或字符。然后,这些token被转换为整数表示,称为token ID。
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
- [3.6 从单头注意力扩展到多头注意力](#36-从单头注意力扩展到多头注意力)
|
||||
- [3.6.1 堆叠多层单头注意力层](#361-堆叠多层单头注意力层)
|
||||
- [3.6.2 通过权重分割实现多头注意力机制](#362-通过权重分割实现多头注意力机制)
|
||||
- [3.7 总结](#37-总结)
|
||||
- [3.7 本章摘要](#37-本章摘要)
|
||||
|
||||
|
||||
-----
|
||||
|
|
@ -1204,7 +1204,7 @@ tensor([[[-0.4519, 0.2216, 0.4772, 0.1063],
|
|||
[-0.5675, -0.0843, 0.5478, 0.3589],
|
||||
[-0.5526, -0.0981, 0.5321, 0.3428],
|
||||
[-0.5299, -0.1081, 0.5077, 0.3493]],
|
||||
|
||||
|
||||
[[-0.4519, 0.2216, 0.4772, 0.1063],
|
||||
[-0.5874, 0.0058, 0.5891, 0.3257],
|
||||
[-0.6300, -0.0632, 0.6202, 0.3860],
|
||||
|
|
@ -1416,7 +1416,7 @@ context_vecs.shape: torch.Size([2, 6, 2])
|
|||
|
||||
|
||||
|
||||
## 3.7 总结
|
||||
## 3.7 本章摘要
|
||||
|
||||
+ 注意力机制将输入元素转换为增强的上下文向量表示,其中包含了所有输入的信息。
|
||||
+ 自注意力机制通过对输入的加权求和来计算上下文向量表示。
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
- [4.5 在 Transformer 模块中连接注意力层与线性层](#45-在-transformer-模块中连接注意力层与线性层)
|
||||
- [4.6 实现 GPT 模型](#46-实现-gpt-模型)
|
||||
- [4.7 生成文本](#47-生成文本)
|
||||
- [4.8 总结](#48-总结)
|
||||
- [4.8 本章摘要](#48-本章摘要)
|
||||
|
||||
-----
|
||||
|
||||
|
|
@ -1075,7 +1075,7 @@ Hello, I am Featureiman Byeswickattribute argue
|
|||
|
||||
|
||||
|
||||
## 4.8 总结
|
||||
## 4.8 本章摘要
|
||||
|
||||
+ 层归一化通过确保每一层的输出具有一致的均值和方差,从而稳定训练过程。
|
||||
+ 在大语言模型(LLM)中,快捷连接可以通过将某一层的输出直接传递给更深层来跳过一个或多个层,有助于缓解深度神经网络训练中的梯度消失问题。
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@
|
|||
- [5.3.3 对文本生成函数进行调整](#533-对文本生成函数进行调整)
|
||||
- [5.4 在 PyTorch 中加载和保存模型权重](#54-在-pytorch-中加载和保存模型权重)
|
||||
- [5.5 从 OpenAI 加载预训练权重](#55-从-openai-加载预训练权重)
|
||||
- [5.6 总结](#56-总结)
|
||||
- [5.6 本章摘要](#56-本章摘要)
|
||||
|
||||
|
||||
|
||||
|
|
@ -1439,7 +1439,7 @@ What makes us want to be on top of that?
|
|||
|
||||
|
||||
|
||||
## 5.6 总结
|
||||
## 5.6 本章摘要
|
||||
|
||||
+ 大语言模型在生成文本时,逐个生成 token。
|
||||
+ 默认情况下,模型通过将输出转换为概率分数,并选择其中概率最高的 token 来生成下一个 token,这种方式称为“贪心解码”。
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
- [6.6 计算分类损失和准确率](#66-计算分类损失和准确率)
|
||||
- [6.7 使用监督数据对模型进行微调](#67-使用监督数据对模型进行微调)
|
||||
- [6.8 将 LLM 用于垃圾短信分类](#68-将-llm-用于垃圾短信分类)
|
||||
- [6.9 总结](#69-总结)
|
||||
- [6.9 本章摘要](#69-本章摘要)
|
||||
|
||||
|
||||
-----
|
||||
|
|
@ -1133,7 +1133,7 @@ model.load_state_dict(model_state_dict)
|
|||
|
||||
|
||||
|
||||
## 6.9 总结
|
||||
## 6.9 本章摘要
|
||||
|
||||
+ 微调 LLM 有不同的策略,包括分类微调(本章)和指令微调(下一章)。
|
||||
+ 分类微调是指将 LLM 的输出层替换为一个小型的分类层。
|
||||
|
|
|
|||