尚未完成.

0. 开源发布

阿里 Qwen 系列, deepseek(深度求索) 的 DeepSeek 系列, 都是强大热门的开源大模型. 通常会在 modelScope(阿里的磨搭社区) 中基于 pytorch 和 HuggingFace 的 Transformers 生态发布. 通常有以下几类:

  • base 基座模型, 仅预训练. 如 Qwen3-14B-Base
  • instruct 指令微调模型, 对 基座模型 增加了 指令-回答 数据集上的 有监督微调(SFT), 以及 人类偏好对齐等. 如 Qwen3-30B-A3B-Instruct-2507-FP8
  • MoE 稀疏激活模型, 节约资源, 如 AxxB 的命名格式, 表示 Activated xx Billion Parameters, 每次前向传播只激活 xx 亿参数.
  • 量化模型, 如后缀 FP8.

1. 分词(BBPE)

BPE 的做法是 数据驱动, 在语料库中, 从字符(Character, 方法名字中的 byte 属于命名错位) 级别起步, 反复合并最高频的相邻 token-pair , 形成词表, 参考[1] 中有讲述.

BBPE, Byte-level Byte Pair Encoding, 与之一脉相承, 只是起点粒度由 字符 变为 字节.
目前主流大模型基本都选择了 BBPE 路线,包括 GPT 系列、LLaMA、Qwen 等,核心原因就是它能彻底消除 OOV (未登录词)问题(因为任何 Unicode 字符最终都能拆解为字节表示),同时通过扩大词表来兼顾多语言的编码效率。

Q: BBPE 会把中文拆成更多的token, 不是不利于编码效率么?
A: 不会的. BBPE 的"字节级"只是起点,不是终点。训练开始时,确实一个汉字会被拆成 3 个字节 token。但 BPE 的合并过程不会停在那里——随着不断合并高频相邻对,这 3 个字节很快就会被合并回一个完整的 token。
Qwen 把词表做到了 15 万级别,并且用了大量中文语料训练,就是为了让绝大多数中文内容都能被高效编码,同时保留对任意字符的兜底能力.

2. 模型架构

xx

3. 训练阶段

3.1 预训练得到 base模型

xx

3.2 sft 得到 Instruct 版本

SFT 的核心目标是把 Base 模型从 “文本续写器” 改造成 “指令执行器”, 学会如何组织已有知识来回应人类需求.

数据格式:用标准对话格式(如 ChatML / ShareGPT):

{
  "messages": [
    {"role": "system", "content": "你是一个有帮助的助手。"},
    {"role": "user", "content": "用三个要点总结量子计算。"},
    {"role": "assistant", "content": "1. 利用量子叠加...\n2. 量子纠缠实现...\n3. 量子算法可..."}
  ]
}

loss
只计算 assistant 回答部分的 loss(mask 掉 system 和 user 的内容).
SFT 的 loss 本质和预训练一样,就是交叉熵(Cross Entropy).
Q: 任务是 文本token 序列生成, 不是 常规的分类与回归, 为何仍用 交叉熵?
A: 因为 teacher forcing 机制消除了 序列生成的动态依赖. 真实的 ground truth 序列就像一位"老师",每一步都"强迫"(forcing)模型用正确答案继续,而不是让模型自己蒙的答案引导下一步.
因此可被"拆解"成逐个 token 的独立分类问题, 同时 交叉熵 + Teacher Forcing 是在"可导、稳定、高效"三者之间的最优平衡点.

评测指标
指令遵循, 如评测集 IFEval, Instruction Following Evaluation.
指令类型 例子 检查方式
长度约束 “用不超过 50 字回答” 统计输出字数
格式约束 “以 JSON 格式返回” 正则/语法检查
内容约束 “回答中必须包含关键词 A、B、C” 字符串匹配
结构约束 “先给结论,再列三个理由” 分段结构检查
语言约束 “用英文回答” 语言检测

Q:没有特殊的 loss 设计, 为何 IFEval 评测提升显著?
A:指令遵循是一种涌现能力,它不需要特殊的 loss 设计. Base 模型经过纯交叉熵 SFT 后,指令遵循能力就会出现, 后续的 RLHF/DPO 只是把这份能力从 50% 打磨到 80%~90%.

3.3 强化学习作意图对齐

SFT 完成后通常接 DPO 或 RLHF,进一步提升回答质量和安全性。但纯 SFT 已经可以产出可用的 Instruct 模型。

3.4 二次微调

  • 业界工具:

    • LLaMA-Factory, 全球流行, yaml 配置驱动. llamafactory-cli train qwen_law_sft.yaml
    • ms-swift, 阿里 ModelScope 官方出品, 对 Qwen 支持最原生,命令行一键跑.
  • 微调方式: 全参数、LoRA.

  • 学习率: Instruct 二次微调通常用 1e-5 ~ 5e-5,比 Base→SFT(1e-4 级别)低一个量级.

  • loss: SFT 的 loss 本质和预训练一样,就是交叉熵(Cross Entropy), 但有一个关键区别:只计算模型回答(response)部分的 loss,mask 掉用户输入(prompt)部分。

训练工程

模型那么大, 怎么并行加速

4. 推理优化

蒸馏, 量化等. KV-Cache 等.

量化

MoE 的核心思想是"稀疏激活"——模型内部有多个"专家"子网络,但输入每个 token 时,路由机制只会挑选其中少数几个专家参与计算。这意味着:
你获得了接近 35B 参数模型的知识容量和能力
但推理成本(显存占用、计算量、延迟)只相当于一个 3B 参数的稠密模型

参考

1.transformer 翻译模型及简明源码

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐