234、【AI】【模型部署】基座模型研究:预训练到底在做什么
【声明】本博客所有内容均为个人业余时间创作所述技术案例均来自公开开源项目如GithubApache基金会不涉及任何企业机密或未公开技术如有侵权请联系删除标题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自动生成监督SFTSupervised Fine-Tuning监督微调指令-回答对人工/模型标注人类反馈对齐偏好对比人工排序预训练之所以能无中生有靠的就是第一行答案藏在文本自身里。第二件事把文本切成 token文字先经分词器变成 id 序列225 讲过字符级模型里每个字符一个 idQwen2 用 BPE 子词模型部署是 2 个 token。预训练看到的是一长串整数模型要预测的就是这串数字的下一个。第三件事预测下一个 token训练循环的全部内容与 231 同款x,ybatch()# y 是 x 右移一位logitsmodel(x)# 每个位置输出词表大小的分数lossF.cross_entropy(logits.view(-1,vocab_size),y.view(-1))opt.zero_grad();loss.backward();opt.step()前向 → 算交叉熵 → 反向传播 → 更新权重循环几百万到几万亿次。没有别的魔法大模型预训练也是这个循环只是模型更大、数据更多、循环更久。第四件事loss 下降意味着学到了什么实测微型模型的 loss 从7.3883 → 0.7821loss 位置含义初始 7.3883≈ln(1432)1432 个字符均匀乱猜100 步 2.2884学会高频字与# 背景这类固定格式1000 步 0.7821能较准地预测下一个字符loss 就是预测下一个 token 的不确定度。它下降意味着模型对语言的统计规律越来越熟常见搭配、语法结构、甚至这里该接链接都被压进了权重。所谓知识在预训练里就是更好的下一个 token 预测。第五件事规模决定能力同样是预测下一个 token为什么大模型更聪明因为在更大规模上模型被迫学到更抽象、更通用的规律维度微型模型Qwen2.5-0.5B旗舰 MoEMixture of Experts混合专家参数135 万4.94 亿数千亿层数 / 宽度4 / 12824 / 896更深更宽语料26 万字符万亿 token更多经验规律叫scaling law规模法则参数量、数据量、算力越大loss 越低、能力越强且呈可预测的趋势——这正是各家堆规模的依据。算力账也很直观微型模型 1200 步用了 3 分 8 秒 CPUQwen2.5-0.5B 在万亿 token 上训练需要成百上千张 GPU 跑数周671B 的 MoE 则要数千张卡。训练一个大模型的门槛主要就写在这张算力账单上。真实预训练还要处理训练稳定性——学习率 warmup 后衰减、梯度裁剪防爆炸、混合精度省显存——微型实验为突出主线省掉了这些但放大规模后它们是必需品。scaling law 不只指导堆多大也指导怎么分配给定算力预算参数与数据要按比例增长否则单堆一边会收益递减。这是各家训练大模型时的重要工程依据也解释了为什么只加参数不喂数据往往效果有限。第六件事预训练之后还有塑造预训练产出的是基座只会续写要变成好用的助手还要两步指令微调SFT用指令→回答数据让它学会对话233 的 Instruct 版对齐RLHFReinforcement Learning from Human Feedback基于人类反馈的强化学习/DPODirect Preference Optimization直接偏好优化 等用人类偏好数据让它更符合期望、更安全。但这两步都是在基座之上塑形——基座决定了能力上限后训练只决定怎么用。这也是研究基座的意义它才是能力的来源。预训练产出的是什么跑完预训练得到的只是一份权重文件以及配套的分词器权重 参数数值model.safetensors222 拆过分词器 词表与切分规则225 拆过不含回答模板“系统提示”——那些是后训练加上去的。所以基座本身是能力不是产品产品形态助手、翻译、代码补全由后训练与提示词决定。为什么叫基座base因为它是一切的起点指令微调、领域微调、LoRALow-Rank Adaptation低秩适配、对齐全部在它之上进行前面讲过 LoRA 也只是挂在基座上的小矩阵。换一个基座上层全部要重做——基座选得好不好决定后面能走多远。这也是这个系列花十篇从 config 一路读到预训练的原因它才是能力的来源。最后留一个继续深挖的清单方便后续展开位置编码换成 ALiBiAttention with Linear Biases线性偏置注意力 等方案会怎样MoE 的专家是怎么路由的总参大、激活小量化Q4/Q8到底改了哪些权重、损失多少预训练一句话总结海量文本 → 分词成 id → 预测下一个 token → 交叉熵 → 反向传播 → 更新权重 ↑___________________________________________________________| 重复万亿次一句话记忆预训练就是用海量无标注文本、反复做 next-token 预测文本切成 id、模型预测下一个、交叉熵算误差、反向传播更新权重微型模型实测 loss 从 7.3883≈ln1432 乱猜降到 0.7821说明语言统计规律被压进权重规模参数/数据/算力按 scaling law 决定能力上限之后的 SFT 与对齐只负责塑形——基座才是能力的来源。OK本篇先到这里如有疑问欢迎评论区留言讨论祝各位功力大涨技术更上一层楼更多内容见下篇 blog