预训练是大模型的第一阶段训练:模型在学会聊天、写代码之前,先在海量文本上做一件事——反复猜下一个词。这个阶段不教它礼貌,也不教它服从指令,只让它把语言的统计规律、事实关联和表达习惯吃进参数里。后面你熟悉的对话能力、推理风格,其实都站在预训练打下的底子上。
练法只有一个:猜下一个词
预训练的任务出奇地朴素。给模型一段文本,遮住后面一个词,让它猜;猜错了就调整参数,猜对了就强化。一句"床前明月光"的下一词是"疑",一段代码里 for 后面大概率跟循环变量——模型就是在万亿级别的这种练习里,慢慢学到语法、常识、专业术语之间的联系。
这种练法叫自监督:答案就藏在文本自身里,不需要人工逐条标注。这也是预训练能堆到如此大规模的原因——互联网上的网页、书籍、论文、代码仓库,清洗之后都是现成的教材。
读什么,比读多少更影响成色
教材的质量决定上限。各家的做法大同小异:先从公开网页、书籍、百科、代码等来源汇集原始语料,再经过去重、过滤低质内容、剔除隐私信息等清洗环节。近几年的明显趋势是"少而精":与其把全网垃圾都喂进去,不如提高教材类、代码类数据的占比。
所以看一个模型时,"训练了多少 token"只是规模指标,不直接等于水平。两个参数规模相近的模型,语料配比不同,写代码和做数学题的表现可以差出一个档次。
预训练和后训练的分工
预训练结束时得到的叫基座模型。它知识量很大,但脾气像个"续写机器":你问它问题,它可能接着编一段问答,而不是直接回答你。让它变成今天这种有问必答、能拒绝不当请求的助手,靠的是之后两步:先用人工示范教它按指令说话,也就是 SFT 监督微调,再用人类偏好反馈做对齐。
一个好记的分工是:预训练决定它"知道多少、底子多厚",后训练决定它"怎么跟人打交道"。同一个基座模型,换一套后训练方案,完全可以调出风格迥异的助手。
三个最常见的误解
第一,预训练不是把原文背进数据库。模型存的是参数化的统计规律,不是可检索的文本库;它能流畅复述名篇,是因为这些文本在语料里出现次数太多,而不是它保存了原文件。这也是它会"一本正经说错"的原因之一:它生成的是像样的说法,不是查到的事实。
第二,预训练完不等于训练结束。基座模型直接拿来当聊天产品用,体验通常很差;厂商发布时说的"模型",默认已经包含完整的后训练流程。
第三,预训练不是一次性的终身教育。主流厂商会持续用新数据增训、发布新版本;你感觉某个模型"变聪明了",很多时候是新一版预训练语料和配比的功劳,不只是调了参数。