大语言模型训练:从基础架构到内存优化的全面解析
立即解锁
发布时间: 2025-09-03 00:28:27 阅读量: 19 订阅数: 20 AIGC 


生成式AI实战:从理论到应用
### 大语言模型训练:从基础架构到内存优化的全面解析
#### 1. 基础模型类型与预训练数据集
在自然语言处理领域,基础模型的类型多样,其中包括编码器 - 解码器(序列到序列)模型。这类模型最初是为翻译任务设计的,但在文本摘要任务中也非常有用。T5 及其微调版本 FLAN - T5 就是著名的编码器 - 解码器、序列到序列模型,广泛应用于各种生成式语言任务。
预训练数据集对于生成式模型的能力学习至关重要。在预训练阶段,模型会接触大量的训练数据,数据规模通常达到 TB 甚至 PB 级别。这些数据集通常来自公共互联网,也可以包含来自私有 Amazon S3 存储桶或数据库的专有数据。
以下是一些常见的预训练数据集:
| 数据集名称 | 特点 |
| ---- | ---- |
| Wikipedia | 提供 2022 年内容的多语言摘录 |
| Common Crawl | 每月对整个互联网文本的转储 |
不过,这种自由形式的互联网数据比较杂乱。因此,有一些经过处理的数据集变体,如 Wiki - 40B、Colossal Clean Crawled Corpus (C4)、The Pile 和 RefinedWeb,它们试图清理数据以进行更高质量的模型训练。其中,RefinedWeb 尤其尝试使用统计方法过滤出机器生成的文本,以确定文本是人类生成还是机器生成。
Falcon 系列模型就是在名为 RefinedWeb 的 1.5 万亿标记数据上进行训练的。这些数据在由 257 个 ml.c5.18xlarge SageMaker 实例组成的集群上进行处理,该集群包含 18,504 个 CPU 和 37TB 的 CPU 内存。
#### 2. 缩放定律
对于生成式模型,已经出现了一组缩放定律,用于描述在固定计算预算(例如 GPU 小时数)下模型大小和数据集大小之间的权衡。这些缩放定律表明,通过增加标记数量或模型参数数量,可以提高生成式模型的性能。
增加两者通常需要更高的计算预算,通常以每秒浮点运算次数(FLOPs)来定义。以下是不同模型预训练所需计算预算的比较:
```mermaid
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A[BERT]:::process --> B[不同变体和大小]:::process
C[T5]:::process --> B
D[GPT - 3]:::process --> B
B --> E[预训练计算预算]:::process
```
虽然 1750 亿参数的 GPT - 3 模型在生成任务上优于 T5 和 BERT 模型,但更大的模型需要更大的计算预算。研究人员发现,通过增加训练数据集的大小而不是模型大小,可以用更少的权重获得超越 1750 亿参数模型的性能。
#### 3. 计算最优模型
2022 年,一组研究人员发布了一篇论文,比较了各种模型和数据集大小组合的性能。由于作者将最终的计算最优模型命名为 Chinchilla,这篇论文也被称为 Chinchilla 论文。
Chinchilla 论文指出,像 GPT - 3 这样的大规模 1000 亿以上参数模型可能存在参数过多和训练不足的问题。该论文还假设,通过为较小的模型提供更多的训练数据,可以实现 1000 亿以上参数模型的性能。
具体来说,Chinchilla 论文声称,最优训练数据集大小(以标记数衡量)是模型参数数量的 20 倍,低于这个 20 倍比例的模型可能存在参数过多和训练不足的问题。以下是一些模型的比较:
| 模型 | 模型大小(参数) | 最优数据集大小(标记) | 实际数据集大小(标记) | 假设 |
| ---- | ---- | ---- | ---- | ---- |
| Chinchilla | 700 亿 | 1.4 万亿 | 1.4 万亿 | 计算最优(20 倍) |
| LLaMA - 65B | 650 亿 | 1.3 万亿 | 1.4 万亿 | 计算最优(20 倍) |
| GPT - 3 | 1750 亿 | 3.5 万亿 | 3000 亿 | 数据集大小参数过多(<20 倍) |
| OPT - 175B | 1750 亿 | 3.5 万亿 | 1800 亿 | 数据集大小参数过多(<20 倍) |
| BLOOM | 1760 亿 | 3.5 万亿 | 3500 亿 | 数据集大小参数过多(<20 倍) |
| Llama2 - 70B | 700 亿 | 1.4 万亿 | 2 万亿 | 优于计算最优(>20 倍) |
可以看出,根据 Chinchilla 缩放定律,这些 1750 亿以上参数的模型应该在 3.5 万亿标记上进行训练,但实际训练的标记数比推荐的少一个数量级
0
0
复制全文
相关推荐









