跳到主要内容

预训练基础

预训练在做什么?​

  • 词元化(Tokenization): 把文本切分为离散单元,如“我喜欢编程”可切成“我/喜欢/编程”,token 是模型处理文本的最小单位;
  • 任务: 给定一段文本的前半部分预测下一个 token,把预测与真实 token 的差距(损失 Loss)反传以调整参数;
  • 示例: 输入“中国的首都是”应给“北京”很高的概率;
  • 规模: 在几万亿 token 的互联网文本上反复做这件事;
  • 被迫学到的能力: 语法、事实、逻辑乃至基本推理——要在海量语境里持续猜对没有捷径,只能真正消化文本中的规律;
  • 关键性质: 模型输出本质上是一个概率分布,训练就是调整这个分布,让想要的 token 概率更高、不想要的更低;
  • 产出形态: 能生成流畅文本但输出缺乏结构、难以遵循指令——问它问题它可能续写出更多问题,因为互联网文本里问题后面常跟着另一个问题;

四个训练阶段的数据与损失差异在哪里?​

阶段数据组织损失计算范围数据来源
预训练无结构原始文本全部 token海量通用互联网语料
Mid-training领域文档、代码、教材式推导、蒸馏思维链与 Agent 轨迹通常全部 token目标语言/领域/能力语料 + 保留数据
SFT“问题—标准回答”示范对只算在回答 token 上(loss masking)人工示范、教师生成、拒绝采样
RL任务、环境与奖励期望奖励而非逐 token 似然环境 rollout 与奖励信号
  • 同一任务: 预训练与 SFT 是同一个“预测下一个词”目标,差别只在数据与损失屏蔽,见SFT 的本质;

从头训练小模型得出了什么结论?​

  • 设定: MiniMind 2(一亿参数)在消费级 GPU 上跑完整流程,并引入 QK Norm 与 Muon 优化器两项算法改进;
  • 代价: 总训练约 14 小时、约 34 美元;
  • 效果: 收敛速度提升 3 倍,生成质量显著改善;
  • 阶段对照: 预训练后能回答“世界上最高的山峰”等事实性问题但格式不规范;SFT 后指令遵循与输出格式显著改善;偏好优化进一步减少事实错误与不自然表达;
  • 结论: 固定的小规模预算下,算法改进比单纯堆规模更具性价比;
  • 局限: 一亿参数模型在复杂问题上仍容易出错;

自训视觉语言模型揭示了什么范式?​

组件角色训练策略
视觉编码器(如 CLIP)提取图像语义特征参数固定
投影层把视觉特征映射到语言模型能理解的表示空间唯一从头训练的部分
语言模型生成描述文本先冻结,对齐后解冻做 SFT
  • 核心挑战: 跨模态对齐——让“看到的”与“说出来的”对应起来;
  • 冻结语言模型的原因: 避免灾难性遗忘(Catastrophic Forgetting,即学了新技能后把旧技能忘掉);
  • 流程: 先“冻结 LLM + 只训练投影层”完成视觉对齐,再解冻 LLM 用高质量图像-描述对做 SFT,描述的详细程度与准确性显著改善;
  • 局限: 投影层表达能力有限,可能成为跨模态深层理解的瓶颈;
  • 同一“视觉编码器 + 投影层 + LLM”骨架让模型输出动作,就是 VLA 模型;

预训练给后续阶段留下了什么上限?​

  • 表征空间: SFT 与 RL 本质上在基础模型已有的表征空间内优化,预训练奠定的知识结构决定后续阶段的上限;
  • 能力形态: 预训练赋予模型的是描述性知识与语言建模能力,缺少结构化的指令遵循与任务导向行为;
  • 缺口不可绕过: 如果通用预训练本身没有覆盖目标语言或领域,直接进入 SFT/RL 也越不过这个缺口,这正是 Mid-training 要解决的问题,见Mid-training 的本质与边界;