预训练
让模型"懂世界"的阶段
8.1 预训练:让模型"懂世界"的阶段
预训练(Pre-training) 是大语言模型(LLM)能力的根基,它决定了模型语言、世界知识、逻辑推理、写作风格等最底层能力的上限。
一句话总结
预训练 = 在海量文本上学习语言统计规律,让模型具备通用能力。
预训练的基本任务
给定如下输入:
"北京是中国的首都,它位于____"
模型的任务是预测下一个最有可能的 token(比如"华北"或"北方")。
经过数十亿次这样的迭代,模型逐渐学会了语言的统计规律和表达模式。
8.2 预训练的数据规模
为了让模型具备广泛的知识和能力,预训练通常需要极其庞大的数据集。
主流大模型的预训练数据规模与来源
| 模型 | 预训练 tokens | 数据来源 |
|---|---|---|
| GPT-4 | 数万亿 | Reddit、Books、Code、WebText、新闻 |
| LLaMA 3 | 15T | 多语言网页、Wikipedia、GitHub、学术论文 |
| Qwen2 | 7T | 中文增强、跨模态、代码、网页 |
大模型的"聪明度"高度依赖训练数据的质量和多样性。
8.3 预训练的工程流程
从工程实现角度,预训练流程涉及多个关键环节。
完整 Pipeline
原始数据收集
↓
数据清洗(去重、过滤、质量筛选)
↓
Tokenizer 设计与训练
↓
数据混合与采样策略
↓
分布式训练(DeepSpeed / Megatron / FSDP)
↓
Checkpoint 保存
↓
损失监控与评估每个环节都非常关键
| 环节 | 重要性 |
|---|---|
| 数据清洗 | 数据质量 > 数量 |
| Tokenizer 设计 | 影响推理成本、中文效率 |
| 训练策略 | 全量训练 vs curriculum learning |
| 分布式训练框架 | Megatron-LM、DeepSpeed、FSDP |
8.4 预训练消耗的资源量
大语言模型的预训练过程极为消耗资源,主要体现在:
资源消耗
| 资源类型 | 规模 |
|---|---|
| GPU | 数千张 A100/H100 |
| 训练周期 | 持续数周甚至数月 |
| 资金投入 | 从几百万到数亿人民币 |
但投入带来的成果是值得的
- 强大的语言理解能力
- 丰富的世界知识
- 逻辑推理能力
- 代码生成能力
- 多语言能力
8.5 预训练的结果:基础模型(Base Model)
预训练阶段输出的基础模型,具备以下能力:
已具备的能力
| 能力 | 说明 |
|---|---|
| ✅ 极强的语言理解能力 | 语法、语义、上下文 |
| ✅ 世界知识 | 历史、科学、文化等 |
| ✅ 逻辑推理 | 数学、逻辑题 |
| ✅ 代码能力 | 多编程语言生成与理解 |
尚不具备的能力
| 能力 | 说明 |
|---|---|
| ❌ 不遵守人类指令 | 只会续写,不会对话 |
| ❌ 不懂安全 | 可能输出有害内容 |
| ❌ 不会拒绝危险问题 | 缺乏价值判断 |
因此,预训练后的模型通常"聪明但不听话"。
下一阶段就是 微调(Fine-tuning) 和 RLHF 对齐。
总结
预训练阶段为大语言模型打下了坚实的能力基础。
核心要点
| 要点 | 说明 |
|---|---|
| 数据规模 | 万亿级 tokens |
| 资源投入 | 数千 GPU,数周训练 |
| 产出 | 基础模型(Base Model) |
| 特点 | 聪明但不听话 |
预训练的意义
只有经过大规模、高质量数据的预训练,模型才能具备理解、推理和生成的通用智能。后续的微调和 align,才是在此基础上的"锦上添花"。
最后更新:2026-03-23
