---
title: "Pre-training of large language models — 预训练"
source: "https://systems-analysis.info/int/Pre-training_of_large_language_models_%E2%80%94_%E9%A2%84%E8%AE%AD%E7%BB%83"
wiki: "systems-analysis.info/int"
article: "Pre-training_of_large_language_models_—_预训练"
language: "zh"
categories:
  - "Category:Chinese"
  - "Category:Large language models"
  - "Category:Machine learning"
revision_id: 5720
wiki_created_at: 2026-09-06T23:53:10Z
wiki_modified_at: 2026-09-06T23:53:10Z
downloaded_at: 2026-09-07T23:10:00Z
---

# Pre-training of large language models — 预训练

**大语言模型（LLM）的预训练**是创建现代大语言模型的一个基础阶段，其核心在于在海量、多样的未标记文本数据集上进行训练。该过程使模型能够学习通用的语言规律、世界知识和语义关系，从而形成所谓的**基础模型**（foundation model），之后可以将其调整以解决特定任务。

## 什么是预训练？

预训练（pre-training）是训练的初始阶段，在此阶段，LLM 使用**自监督学习**（self-supervised learning）的方法在海量文本数据集上进行训练。这意味着训练信号（标签）是从数据本身生成的，无需人工手动标注。

此阶段的主要目标是预测文本中被隐藏或未来的部分。根据架构的不同，主要采用两种任务：

- **因果语言建模（Causal Language Modeling, CLM）：**模型学习根据之前的所有词（token）来预测序列中的下一个词。这种方法是GPT等生成模型的基础。
- **掩码语言建模（Masked Language Modeling, MLM）：**模型学习恢复文本中被随机“掩码”（隐藏）的词，并利用其双向上下文（左右两侧的词）进行预测。这种方法被用于BERT等模型中。

通过这些任务，模型被迫学习语法、语义和关于世界的事实知识，以便成功地进行预测。

## 预训练数据

预训练的有效性在很大程度上取决于训练数据的质量和多样性。主要使用以下来源：

- **网页：**像 Common Crawl 和 C4 这样的大型数据集提供了广泛的主题、风格和语言，可以说是互联网的一个“快照”。
- **书籍：**像 BookCorpus 和 The Pile 这样的语料库提供了结构化和连贯的文本，有助于理解长期依赖关系和叙事结构。
- **对话数据：**来自论坛（例如 Reddit）和社交媒体的数据，帮助模型学习非正式语言和对话模式。
- **专业数据：**科学论文（来自 arXiv）、代码（来自 GitHub 和 The Stack）或多语言文本，用于提升模型的特定能力。

### 数据分布示例

不同的模型使用不同来源的数据配比，这会影响其最终的能力：

- GPT-3 (1750亿参数):\*\* 16% 书籍, 84% 网页。
- PaLM (5400亿参数):\*\* 5% 书籍, 14% 网页, 50% 对话数据, 31% 其他。
- LLaMA (650亿参数):\*\* 5% 书籍, 2% 网页, 87% 对话数据。

这些分布表明，数据选择是一项战略性决策，具体取决于模型的目标。

### 常用语料库

| 语料库       | 大小  | 来源         | 最后更新   |
|--------------|-------|--------------|------------|
| BookCorpus   | 5GB   | 书籍         | 2015年12月 |
| Gutenberg    | \-    | 书籍         | 2021年12月 |
| C4           | 800GB | Common Crawl | 2019年4月  |
| CC-Stories-R | 31GB  | Common Crawl | 2019年9月  |
| CC-NEWS      | 78GB  | Common Crawl | 2019年2月  |
| REALNEWS     | 120GB | Common Crawl | 2019年4月  |
| OpenWebText  | 38GB  | Reddit 链接  | 2023年3月  |
| Pushshift.io | 2TB   | Reddit 链接  | 2023年3月  |
| Wikipedia    | 21GB  | 维基百科     | 2023年3月  |
| The Pile     | 800GB | 其他         | 2020年12月 |
| ROOTS        | 1.6TB | 其他         | 2022年6月  |

常用于 LLM 预训练的数据集

## 训练技术

LLM 的预训练需要大量的计算资源。为了管理这一过程，采用了以下技术：

- **分布式训练：**使用多个 GPU 或 TPU 进行并行处理。
- **混合精度（Mixed Precision）：**使用较低精度的数值格式（例如，16位代替32位）来加速计算并减少内存使用。
- **梯度检查点（Gradient Checkpointing）：**一种通过重新计算而非存储某些中间激活值来节省内存的技术。
- **模型并行（Model Parallelism）：**将模型本身分布在多个设备上。

像 GPT-3 这样的模型训练可能需要数千个 GPU 运行数月之久。

## 缩放定律

研究（如 OpenAI 的 Kaplan 等人，2020）表明，随着三个因素的增加，语言模型的性能会可预测地提升：

- 模型大小（参数数量）。
- 数据量。
- 计算资源。

这些经验关系被称为**缩放定律**（scaling laws），为开发人员设计和训练更大、更强大的模型提供了指导，使他们能够优化分配计算预算。

## 挑战与成就

- **扩展性：**预训练的主要成就是能够平衡模型大小、数据量和计算资源，以达到最佳性能。
- **数据质量：**确保训练数据的纯净性、多样性和无偏见性是一个关键挑战。
- **效率：**开发降低计算成本的方法，例如持续预训练或更高效的架构。
- **多语言性：**创建能够有效处理多种语言的模型，需要仔细选择和平衡数据。

## 参见

- 大语言模型
- BERT
- GPT
