预训练 · Pre-training 篇
数据准备好了、模型架构定了、损失和梯度机器也搭起来了——现在轮到"烧算力"环节。所谓预训练,就是让一个刚出生的模型,狂读几十万亿 token 的文本,练成一个"什么都懂一点"的通才基座。这一步单次成本从数千万美元到数亿美元不等——不夸张地说,它是人类史上最贵的一项数学运算。
想象一下:把整个互联网印成书,堆起来能到月球那么高;
你抓来一个刚出生的婴儿,把这些书全塞给他读——不问理解、不考中心思想、不要求写作文;
只有一个游戏规则:看到一段话,猜下一个字是什么——猜对给糖,猜错打手心。
读完几十万亿字后,这个婴儿虽然还不会"聊天",但对语言、事实、常识、代码、数学,都建立了一种朦胧的直觉。
这就是"预训练"要干的事——把整个数字世界压缩进几百 GB 的参数里。
一、预训练的目标:预测下一个 token
整个大语言模型的预训练,本质上只做一件事:给定一段前文,预测下一个 token 是什么。这个任务学名叫 Next Token Prediction(NTP),或者自回归语言建模。听起来很朴素,但威力惊人——因为要"猜对下一个字",模型必须理解语法、常识、事实、逻辑、风格、乃至于一定程度的推理。
举个例子。要猜出"爱因斯坦提出的著名理论叫 ___"里的"相对论",模型必须知道爱因斯坦是谁;要猜出"2 + 3 × 4 = ___"里的 14,模型必须会数学的运算优先级;要猜出"用 Python 写一个快排:def quicksort(arr): if len(arr) <= 1: return ___"里的 arr,模型必须懂递归和边界条件。"预测下一个字"这个游戏,把无数种能力都逼了出来。
二、掩码语言模型(MLM):BERT 的另一条路
除了预测下一个 token,还有另一种预训练目标:掩码语言模型(Masked Language Model)——BERT 用的就是这种。做法是:从一句话里随机遮住 15% 的词,让模型来"填空"。比如"我 今天 吃了 [MASK],很好吃"——模型要猜 [MASK] 是"苹果"、"面条"还是"火锅"。
MLM 的优势是"看得到左右两边的上下文",理解任务更强;NTP 的优势是天然适合"生成"任务,能写出流畅文本。所以:BERT 家族擅长理解、GPT 家族擅长生成——最终生成任务的经济价值更大,NTP 一派赢下了大模型时代。
三、数据准备:从 PB 级到干净 token
预训练的第一步不是模型,而是做数据流水线。以 Llama 3 为例,团队从数十 PB 的 Common Crawl 原始网页起步,经过下面这一整套流程,才得到最终的 15T token 训练集:
- 1. 语言过滤用语言分类器保留目标语言(英文 + 少量多语)。
- 2. 质量分类训一个"高质量文本判别器",只保留优质页面。
- 3. 去重从字符级到文档级的多层去重——重复内容严重伤害模型。
- 4. 内容过滤去除色情、暴力、涉隐私、涉版权的内容。
- 5. 分词用 BPE / SentencePiece 把文本切成 token。
- 6. 混合配比按预设比例混合网页、代码、书籍、数学、多语言等。
- 7. 打包 shard切成便于分布式读取的固定大小分片。
整个流水线常常需要一支专门的数据团队,用几个月的时间跑几千张 CPU 完成——数据这一环,就已经是几百万美元的投入。
如果说 SFT 是"给学生额外补 3 个月课",那么预训练就是"从零把一个婴儿养到高考完"。前者一次几万到几十万美元;后者一次几千万到几亿美元。为什么这么贵?——因为要租下上万张顶级 GPU 卡(H100 一张 3-4 万美元),连续跑几个月,电费本身就是天文数字。GPT-4 训练成本据估计 1 亿美元级;Gemini Ultra 传闻 1.9 亿美元;Llama 3.1 405B 花了 16000 张 H100 跑了 54 天——粗略折算电费加卡钱 2-4 亿美元。
四、算力成本:现代 AI 军备竞赛的门票
| 模型 | 训练算力 | 估计成本 | 训练时间 |
|---|---|---|---|
| GPT-3 (2020) | 3.14 × 10²³ FLOPs | ~ 400 万美元 | 数月 |
| PaLM (2022) | 2.5 × 10²⁴ FLOPs | ~ 1000+ 万美元 | 数月 |
| GPT-4 (2023) | ~ 2 × 10²⁵ FLOPs | ~ 1 亿美元 | ~ 3 月 |
| Gemini Ultra (2023) | ~ 5 × 10²⁵ FLOPs | ~ 1.9 亿美元 | 数月 |
| Llama 3.1 405B (2024) | 3.8 × 10²⁵ FLOPs | ~ 数亿美元 | 54 天 × 16000 H100 |
为什么算力这么贵?因为一次预训练要跑几百万亿次浮点运算——每算完一个 batch,还要在几万张卡之间做梯度同步、参数更新。加上电费、水冷、场地、工程师工资,一个前沿大模型团队一年的开销轻松突破 10 亿美元。这就是为什么真正能"从零训基座模型"的公司全球不超过 20 家——它是科技公司里最贵的一张门票。
五、涌现能力(Emergent Abilities):量变到质变
预训练最神奇的现象叫涌现(emergence)——某些能力在小模型上完全没有,但当模型规模跨过某个阈值,能力"突然"出现了。这不是渐进上升,而是几乎从 0 跳到 1。已经观察到的涌现能力包括:
- Few-shot 学习给几个例子,模型就能仿写——小模型完全做不到,175B 突然会了。
- 链式推理(CoT)让模型"一步步想",答对率暴涨——小模型没这个能力。
- 指令遵循"用韩语回复"、"写成 markdown"——大模型能听懂,小模型不理你。
- 代码生成写完整函数、修 bug——需要跨过某个参数量阈值才涌现。
- 数学推理解应用题、做证明——只有足够大的模型才能稳定做到。
为什么会涌现?至今没有完全定论。一种理解是:某种能力需要模型内部形成足够复杂的"电路"(circuit),而这些电路只有当参数量、数据量、算力都跨过某条线时才会稳定成型。这也是为什么 AI 公司愿意持续砸钱做更大的模型——你不知道下一个涌现能力会在什么时候出现,但一旦出现,就是产品级的护城河。
六、预训练完成后:你得到了什么
预训练跑完,你会得到一个Base Model(基座模型)——它已经"读过全人类的书",知识渊博,但性格古怪:你问它问题,它可能不回答,而是给你续写;你让它讲笑话,它可能给你一段严肃论文;它不会礼貌、不会拒绝、不懂"对话"的规则。Base 模型是一个"没被驯化的天才怪物"。
要让它变成能对话、有用、安全的助手,还需要下一篇要讲的 SFT → RLHF/DPO 三段式对齐。但基座已经准备好——所有能力都在参数里,只是需要被"唤醒"和"驯化"。
预训练 = 让模型玩几万亿次"猜下一个字"的游戏。数据要海量、算力要顶级、耐心要充足——单次几千万到几亿美元的成本,换来一个通晓万物的基座模型。涌现能力是这场军备竞赛最诱人的奖赏——你不知道更大的模型会突然学会什么,但只要它学会了,那就是护城河。预训练完,基座是怪物;接下来的对齐,才让它变成"人"。