大模型预训练和后训练的区别

模型与算力

讲清预训练和后训练各自在训练流程里干什么、产出什么、什么情况下哪一步更值得投入,帮你读懂模型卡片和训练方案。

很多人看模型文档时会看到「基座」「指令微调」「对齐」这些词,也能大致猜出是训练阶段,但具体哪一步决定了模型的通用知识、哪一步决定了它听不听话,往往说不清。这篇按流程顺序拆开讲,每一段都给出可判断的依据和该去哪查证的地方,方便你在读论文、选基座、判断要不要自己再训时有个对照。

很多人看模型文档时会看到「基座」「指令微调」「对齐」这些词,也能大致猜出是训练阶段,但具体哪一步决定了模型的通用知识、哪一步决定了它听不听话,往往说不清。这个说不清会直接影响后面的动作:选错基座、估错预算、写出跑不起来的训练方案。这篇按流程顺序拆开讲,每一段都给出可判断的依据和该去哪查证的地方。

读的时候可以带着一个具体问题:我手上的任务,到底是要模型「知道得更多」,还是要模型「按我的要求说话」。这个问题基本能决定你该盯哪一段,也决定你去站内哪一页找数据。下面先讲两段各自在做什么,再讲怎么从一段描述里判断它说的是哪一步,最后落到你自己会遇到的场景和动手前的自查。

预训练:把海量文本压成通用能力

预训练做的事主要是自监督学习:拿大段文本让模型预测下一个词,不需要人工打标签,所以数据量能堆得很大,语料规模、算力投入基本是这一阶段拉开差距的地方。它产出的东西是一个基座模型——会续写、懂语法和常识,但不会老老实实回答问题,你给它一句提问,它可能顺着往下编一段类似文本。

成本构成上,这一阶段的大头是算力小时数、语料获取与清洗,以及反复试错的训练轮次。想知道当前训练算力大概什么量级、估算口径是怎么定的,可以到 /compute/training-cost 看当时的估算口径,那里会随时间更新,不要记死某个数字。

  • 数据形态:网页、书籍、代码仓库这类海量原始语料,几乎没有人工标注
  • 训练目标:预测下一个词,损失只关心「接得像不像」,不关心「答得对不对」
  • 产出物:基座模型,也叫 base 或 pretrained 检查点,需要再加工才能当助手用
  • 常见误解:以为基座越大越好用——基座大小影响的是能力上限,和直接拿来当问答工具好不好用不是一回事

后训练:把基座调成能用的助手

后训练包括监督微调、偏好对齐,以及推理类模型常用的强化学习环节,目标是让输出符合格式、语气和任务要求,而不是再灌新知识。这一点很关键:基座里没有的事实,后训练阶段很难靠几句话教进去,最多是教模型「怎么把已有的东西组织成你要的样子」。

数据层面,这一阶段从海量无标注文本变成规模小得多但质量要求高的指令-回答对或偏好对比,标注和人工审核成本占比明显上升。算力绝对需求低于预训练,但迭代次数多、对数据质量敏感,同一份基座换一批数据,风格和听话程度能差很远。很多人说的「微调」多半落在这个层面,具体做法可以去 /stacks/fine-tuning 看有哪些服务商和路线。

对照项预训练后训练
数据来源海量原始语料,自监督指令对、偏好数据,人工参与
主要产出基座检查点可对话、可遵循指令的成品
解决的问题知道得多不多、语言能力强不强听不听话、格式稳不稳
成本单位算力小时、语料体量标注条数、迭代轮次
判断口径到 /compute/training-cost 看当时估算看具体服务商页面报价口径

怎么快速分清一段描述在说哪一步

读论文、读模型卡、读服务商方案时,最省事的办法是看三处:数据、目标、成本单位。三处里对上两处,基本就能定性。这个方法在多数描述上够用,但遇到「继续预训练再微调」的混合方案时,要按阶段分别看,不要整段归到一类里。

  1. 第一步看数据提到网页、书籍、代码仓库这类海量原始语料,一般是预训练;提到指令集、问答对、偏好排序,一般是后训练。
  2. 第二步看目标表述说提升知识覆盖、语言能力,偏预训练;说提升指令遵循、格式稳定、安全拒答,偏后训练。
  3. 第三步看成本单位按千卡时、按语料体量算的多是预训练;按标注条数、按迭代轮次算的多是后训练。
  4. 第四步查名词拿不准某个名词属于哪类,可以到 /ai-dict/category/tech 按词查一眼定义再判断,别凭印象归类。

你实际会用到这个区分的三个场景

这个区分不是学术兴趣,它直接决定你怎么花时间和钱。下面三个场景里,判断错了代价都不小。需要说明的是,如果你的任务只是换一种输出格式、或者要求模型按固定模板回答,那大多数情况下后训练就够,不必往预训练那条路上想。

  • 挑基座自己再训:如果任务需要新知识,光靠后训练补不进去,得评估是否要做继续预训练;如果只是改风格和格式,动后训练就够
  • 看模型卡与许可证:部分开放权重只放了后训练后的成品,也有的连中间检查点都放出来,能做什么以许可证为准,边界可以参考站内讲开放权重许可证口径的页面
  • 排训练预算:先确定自己要的是「补知识」还是「改行为」,两者的数据准备和算力账完全不一样,按错的那条路估价会差出量级

还有一个更日常的用处:当你看到某个模型声称「在某类任务上大幅提升」,先判断它是在预训练阶段扩了数据,还是后训练阶段换了数据。前者通常意味着能力面变宽,后者通常意味着在特定任务上更贴要求,泛化不到别的场景。这个判断能帮你避免被一句宣传语带走。

动手前的自查清单

不管你最后决定做哪一段,动手前都建议把下面几件事过一遍。顺序不要跳,尤其是第一和第二项——这两项没想清楚,后面谈算力和服务商都是空谈。

  • 先写清目标:是模型不知道这件事,还是知道但答得不成样子,两类问题对应不同阶段
  • 数据先盘点:有没有可用的指令数据、标注人力从哪来,没有就别急着谈训练算力
  • 小步验证:先用小规模后训练验证方向和评测方法,跑通了再考虑放大投入
  • 评测口径提前定:训练前后用同一套题对比,题目和判定标准别中途换,评测方法可以去 /benchmarks 参考现成榜单怎么设
下一步想把这套判断落到具体模型和价格上,去模型资料库对照训练阶段字段看一遍,再到算力成本页面核对当时的估算口径,两个页面对起来看,比看单篇说明快得多。

常见问题

只做后训练,模型能学会全新的知识吗?

很难。后训练擅长改行为和表达方式,对事实性知识的注入效率低,还容易变成背题式的表面记忆。如果确实要补新知识,通常先考虑检索增强,真要写进权重里,才需要评估继续预训练或较大规模的数据投喂,成本和风险都要先算清楚。

预训练是不是必须自己从头做?

多数团队不需要。从头预训练的门槛在语料、算力和工程稳定性三块,缺一块都很难跑完。常见做法是拿开放权重做起点,再按自己的任务做后训练,先确认这条路走不通、或者有明确的差异化理由,再考虑更重的前置训练。

后训练之后模型能力会下降吗?这种现象怎么理解?

会出现,通常叫对齐税或灾难性遗忘:模型变得更守规矩、更愿意按要求答,但某些开放性生成或冷门知识的表现反而弱了。判断是不是这类问题,要拿训练前后的同题对比来看,别只看感觉。如果下降明显,一般从数据配比和训练强度上找原因。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。