☰
234、【AI】【模型部署】基座模型研究:预训练到底在做什么
2026/9/26 3:20:56 网站建设 项目流程

【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除

标题

234、【AI】【模型部署】基座模型研究:预训练到底在做什么

背景

上篇 blog
【AI】【模型部署】基座模型研究:基座与 Instruct 的差别
做了最后一个对比:Qwen2.5-0.5B与-Instruct共用分词器和 0.494B 参数,差别只在训练阶段——基座只做 next-token 预测,把提示当文章开头续写(实测会把问题原样复述再往下写);Instruct 经过指令微调,用对话模板把提示当问题回答。系列到这里,"基座由什么组成、怎么训练、怎么推理、与 Instruct 差在哪"都走了一遍。本篇收尾,把最上游的问题讲清:预训练到底在做什么——用亲手训练的微型模型当证据

模型部署

基座不是凭空出现的:它是一台"猜下一个词"的机器,被海量文本反复训练出来的。230~231 里那个 135 万参数的微型模型,把这个过程缩小到了能在 CPU 上几分钟跑完,正好用来把"预训练"讲透。


🧩第一件事:准备海量文本

预训练的燃料是原始文本,不需要人工标注——这也是它和"监督学习"最根本的区别:

模型语料规模
微型模型ai/opencode博客拼接26 万字符
Qwen2.5-0.5B网页/书籍/代码等万亿级 token

文本不需要标签:每一段话本身就是"题目 + 答案"——前文是题目,下一个字是答案。这就是自监督(self-supervised):数据自己监督自己。

数据本身也有讲究:规模决定覆盖多少语言现象,质量决定学到的东西干不干净。真实预训练语料要经过清洗(去广告、去乱码)、去重(防止死记重复内容)、以及配比(代码/中文/英文各占多少)。微型实验里只有一份 26 万字符的博客语料,所以学到的也只是这种文风。


📊三种训练类型对照

类型数据"标签"从哪来
自监督(预训练)原始文本下一个 token,自动生成
监督(SFT,Supervised Fine-Tuning,监督微调)指令-回答对人工/模型标注
人类反馈(对齐)偏好对比人工排序

预训练之所以能"无中生有",靠的就是第一行:答案藏在文本自身里。


🧩第二件事:把文本切成 token

文字先经分词器变成 id 序列(225 讲过):字符级模型里每个字符一个 id;Qwen2 用 BPE 子词,模型部署是 2 个 token。预训练看到的是一长串整数,模型要预测的就是这串数字的下一个。


🧩第三件事:预测下一个 token

训练循环的全部内容(与 231 同款):

x,y=batch()# y 是 x 右移一位logits=model(x)# 每个位置输出词表大小的分数loss=F.cross_entropy(logits.view(-1,vocab_size),y.view(-1))opt.zero_grad();loss.backward();opt.step()

前向 → 算交叉熵 → 反向传播 → 更新权重,循环几百万到几万亿次。没有别的魔法,大模型预训练也是这个循环,只是模型更大、数据更多、循环更久。


🧩第四件事:loss 下降意味着学到了什么

实测微型模型的 loss 从7.3883 → 0.7821:

loss 位置含义
初始 7.3883≈ln(1432),1432 个字符均匀乱猜
100 步 2.2884学会高频字与# 背景这类固定格式
1000 步 0.7821能较准地预测下一个字符

loss 就是"预测下一个 token 的不确定度"。它下降,意味着模型对语言的统计规律越来越熟:常见搭配、语法结构、甚至"这里该接链接"都被压进了权重。所谓"知识",在预训练里就是"更好的下一个 token 预测"。


🧩第五件事:规模决定能力

同样是"预测下一个 token",为什么大模型更聪明?因为在更大规模上,模型被迫学到更抽象、更通用的规律:

维度微型模型Qwen2.5-0.5B旗舰 MoE(Mixture of Experts,混合专家)
参数135 万4.94 亿数千亿
层数 / 宽度4 / 12824 / 896更深更宽
语料26 万字符万亿 token更多

经验规律叫scaling law(规模法则):参数量、数据量、算力越大,loss 越低、能力越强,且呈可预测的趋势——这正是各家"堆规模"的依据。

算力账也很直观:微型模型 1200 步用了 3 分 8 秒 CPU;Qwen2.5-0.5B 在万亿 token 上训练需要成百上千张 GPU 跑数周;671B 的 MoE 则要数千张卡。"训练一个大模型"的门槛,主要就写在这张算力账单上。真实预训练还要处理训练稳定性——学习率 warmup 后衰减、梯度裁剪防爆炸、混合精度省显存——微型实验为突出主线省掉了这些,但放大规模后它们是必需品。

scaling law 不只指导"堆多大",也指导"怎么分配":给定算力预算,参数与数据要按比例增长,否则单堆一边会收益递减。这是各家训练大模型时的重要工程依据,也解释了为什么"只加参数不喂数据"往往效果有限。


🧩第六件事:预训练之后还有"塑造"

预训练产出的是基座(只会续写),要变成好用的助手还要两步:

  1. 指令微调(SFT):用"指令→回答"数据,让它学会对话(233 的 Instruct 版);
  2. 对齐(RLHF(Reinforcement Learning from Human Feedback,基于人类反馈的强化学习)/DPO(Direct Preference Optimization,直接偏好优化) 等):用人类偏好数据,让它更符合期望、更安全。

但这两步都是"在基座之上塑形"——基座决定了能力上限,后训练只决定怎么用。这也是"研究基座"的意义:它才是能力的来源。


🧩预训练产出的是什么

跑完预训练,得到的只是一份权重文件(以及配套的分词器):

  • 权重 = 参数数值(model.safetensors,222 拆过);
  • 分词器 = 词表与切分规则(225 拆过);
  • 不含"回答模板"“系统提示”——那些是后训练加上去的。

所以基座本身是"能力",不是"产品";产品形态(助手、翻译、代码补全)由后训练与提示词决定。


🧩为什么叫"基座"(base)

因为它是一切的起点:指令微调、领域微调、LoRA(Low-Rank Adaptation,低秩适配)、对齐,全部在它之上进行(前面讲过 LoRA 也只是挂在基座上的小矩阵)。换一个基座,上层全部要重做——基座选得好不好,决定后面能走多远。这也是这个系列花十篇从 config 一路读到预训练的原因:它才是能力的来源。

最后留一个"继续深挖"的清单,方便后续展开:

  • 位置编码换成 ALiBi(Attention with Linear Biases,线性偏置注意力) 等方案会怎样?
  • MoE 的专家是怎么路由的(总参大、激活小)?
  • 量化(Q4/Q8)到底改了哪些权重、损失多少?

📊预训练一句话总结

海量文本 → 分词成 id → 预测下一个 token → 交叉熵 → 反向传播 → 更新权重 ↑___________________________________________________________| (重复万亿次)


📌一句话记忆

预训练就是"用海量无标注文本、反复做 next-token 预测":文本切成 id、模型预测下一个、交叉熵算误差、反向传播更新权重;微型模型实测 loss 从 7.3883(≈ln1432 乱猜)降到 0.7821,说明语言统计规律被压进权重;规模(参数/数据/算力)按 scaling law 决定能力上限,之后的 SFT 与对齐只负责"塑形"——基座才是能力的来源。


OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!更多内容见下篇 blog

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询