很多人看模型文档时会看到「基座」「指令微调」「对齐」这些词,也能大致猜出是训练阶段,但具体哪一步决定了模型的通用知识、哪一步决定了它听不听话,往往说不清。这篇按流程顺序拆开讲,每一段都给出可判断的依据和该去哪查证的地方,方便你在读论文、选基座、判断要不要自己再训时有个对照。
很多人看模型文档时会看到「基座」「指令微调」「对齐」这些词,也能大致猜出是训练阶段,但具体哪一步决定了模型的通用知识、哪一步决定了它听不听话,往往说不清。这个说不清会直接影响后面的动作:选错基座、估错预算、写出跑不起来的训练方案。这篇按流程顺序拆开讲,每一段都给出可判断的依据和该去哪查证的地方。
读的时候可以带着一个具体问题:我手上的任务,到底是要模型「知道得更多」,还是要模型「按我的要求说话」。这个问题基本能决定你该盯哪一段,也决定你去站内哪一页找数据。下面先讲两段各自在做什么,再讲怎么从一段描述里判断它说的是哪一步,最后落到你自己会遇到的场景和动手前的自查。
预训练:把海量文本压成通用能力
预训练做的事主要是自监督学习:拿大段文本让模型预测下一个词,不需要人工打标签,所以数据量能堆得很大,语料规模、算力投入基本是这一阶段拉开差距的地方。它产出的东西是一个基座模型——会续写、懂语法和常识,但不会老老实实回答问题,你给它一句提问,它可能顺着往下编一段类似文本。
成本构成上,这一阶段的大头是算力小时数、语料获取与清洗,以及反复试错的训练轮次。想知道当前训练算力大概什么量级、估算口径是怎么定的,可以到 /compute/training-cost 看当时的估算口径,那里会随时间更新,不要记死某个数字。
- 数据形态:网页、书籍、代码仓库这类海量原始语料,几乎没有人工标注
- 训练目标:预测下一个词,损失只关心「接得像不像」,不关心「答得对不对」
- 产出物:基座模型,也叫 base 或 pretrained 检查点,需要再加工才能当助手用
- 常见误解:以为基座越大越好用——基座大小影响的是能力上限,和直接拿来当问答工具好不好用不是一回事
后训练:把基座调成能用的助手
后训练包括监督微调、偏好对齐,以及推理类模型常用的强化学习环节,目标是让输出符合格式、语气和任务要求,而不是再灌新知识。这一点很关键:基座里没有的事实,后训练阶段很难靠几句话教进去,最多是教模型「怎么把已有的东西组织成你要的样子」。
数据层面,这一阶段从海量无标注文本变成规模小得多但质量要求高的指令-回答对或偏好对比,标注和人工审核成本占比明显上升。算力绝对需求低于预训练,但迭代次数多、对数据质量敏感,同一份基座换一批数据,风格和听话程度能差很远。很多人说的「微调」多半落在这个层面,具体做法可以去 /stacks/fine-tuning 看有哪些服务商和路线。
| 对照项 | 预训练 | 后训练 |
|---|---|---|
| 数据来源 | 海量原始语料,自监督 | 指令对、偏好数据,人工参与 |
| 主要产出 | 基座检查点 | 可对话、可遵循指令的成品 |
| 解决的问题 | 知道得多不多、语言能力强不强 | 听不听话、格式稳不稳 |
| 成本单位 | 算力小时、语料体量 | 标注条数、迭代轮次 |
| 判断口径 | 到 /compute/training-cost 看当时估算 | 看具体服务商页面报价口径 |
怎么快速分清一段描述在说哪一步
读论文、读模型卡、读服务商方案时,最省事的办法是看三处:数据、目标、成本单位。三处里对上两处,基本就能定性。这个方法在多数描述上够用,但遇到「继续预训练再微调」的混合方案时,要按阶段分别看,不要整段归到一类里。
- 第一步看数据提到网页、书籍、代码仓库这类海量原始语料,一般是预训练;提到指令集、问答对、偏好排序,一般是后训练。
- 第二步看目标表述说提升知识覆盖、语言能力,偏预训练;说提升指令遵循、格式稳定、安全拒答,偏后训练。
- 第三步看成本单位按千卡时、按语料体量算的多是预训练;按标注条数、按迭代轮次算的多是后训练。
- 第四步查名词拿不准某个名词属于哪类,可以到 /ai-dict/category/tech 按词查一眼定义再判断,别凭印象归类。
你实际会用到这个区分的三个场景
这个区分不是学术兴趣,它直接决定你怎么花时间和钱。下面三个场景里,判断错了代价都不小。需要说明的是,如果你的任务只是换一种输出格式、或者要求模型按固定模板回答,那大多数情况下后训练就够,不必往预训练那条路上想。
- 挑基座自己再训:如果任务需要新知识,光靠后训练补不进去,得评估是否要做继续预训练;如果只是改风格和格式,动后训练就够
- 看模型卡与许可证:部分开放权重只放了后训练后的成品,也有的连中间检查点都放出来,能做什么以许可证为准,边界可以参考站内讲开放权重许可证口径的页面
- 排训练预算:先确定自己要的是「补知识」还是「改行为」,两者的数据准备和算力账完全不一样,按错的那条路估价会差出量级
还有一个更日常的用处:当你看到某个模型声称「在某类任务上大幅提升」,先判断它是在预训练阶段扩了数据,还是后训练阶段换了数据。前者通常意味着能力面变宽,后者通常意味着在特定任务上更贴要求,泛化不到别的场景。这个判断能帮你避免被一句宣传语带走。
动手前的自查清单
不管你最后决定做哪一段,动手前都建议把下面几件事过一遍。顺序不要跳,尤其是第一和第二项——这两项没想清楚,后面谈算力和服务商都是空谈。
- 先写清目标:是模型不知道这件事,还是知道但答得不成样子,两类问题对应不同阶段
- 数据先盘点:有没有可用的指令数据、标注人力从哪来,没有就别急着谈训练算力
- 小步验证:先用小规模后训练验证方向和评测方法,跑通了再考虑放大投入
- 评测口径提前定:训练前后用同一套题对比,题目和判定标准别中途换,评测方法可以去 /benchmarks 参考现成榜单怎么设
常见问题
只做后训练,模型能学会全新的知识吗?
很难。后训练擅长改行为和表达方式,对事实性知识的注入效率低,还容易变成背题式的表面记忆。如果确实要补新知识,通常先考虑检索增强,真要写进权重里,才需要评估继续预训练或较大规模的数据投喂,成本和风险都要先算清楚。
预训练是不是必须自己从头做?
多数团队不需要。从头预训练的门槛在语料、算力和工程稳定性三块,缺一块都很难跑完。常见做法是拿开放权重做起点,再按自己的任务做后训练,先确认这条路走不通、或者有明确的差异化理由,再考虑更重的前置训练。
后训练之后模型能力会下降吗?这种现象怎么理解?
会出现,通常叫对齐税或灾难性遗忘:模型变得更守规矩、更愿意按要求答,但某些开放性生成或冷门知识的表现反而弱了。判断是不是这类问题,要拿训练前后的同题对比来看,别只看感觉。如果下降明显,一般从数据配比和训练强度上找原因。