预训练
博学
读遍互联网。Qwen3 大约 36 万亿 、119 种语言。它知道量子计算是什么,但你问一句,它可能接着把网页抄下去。
第 01 课 · 教它说话
博学但不听话。 用「问题 → 标准回答」教它按格式开口。
Archify · workflow
从确认 GPU 到保存 adapter,中间不要换模型。
加载
拟合
留档
上机准备
GPU 绿灯
记下显存 GB
4-bit 加载
NF4 + 双重量化
Qwen3-1.7B-Base
挂 LoRA
r=32 α=64
约 2% 参数
TRL 训练
洗成 messages
alpaca_gpt4_zh
SFTTrainer
lr 2e-4 · 1 epoch
有效 batch 16
产出
训前三问
先记下胡话
保存 adapter
./qwen3-1.7b-sft/final
这次实验的固定配方
100 步检查点
先记住一张比例
在万亿 上预测下一个字,产出一个「什么都读过、却不会按你的吩咐说话」的。只占大约 5% 算力(DeepSeek-R1 量级),却把模型变成助手:会遵循指令、会选更好的回复、会一步步想。
预训练
读遍互联网。Qwen3 大约 36 万亿 、119 种语言。它知道量子计算是什么,但你问一句,它可能接着把网页抄下去。
后训练
教说话, 教选择, 教思考。产出 模型。只有这一步之后,才有 /think 与 /no_think。
推理部署
、、思维链、best-of-N。把已经对齐的模型送到用户面前,并在需要时多花一点测试时计算。
长思维链冷启动 SFT
用带 <think> 的逐步推理数据先「灌格式」。模型先知道思考长什么样。
推理 RL(GRPO)
在数学、代码等能判对错的任务上强化。更深的推理链、自检和回溯在这里。
思考模式融合
把「会深想」的专家回同一个模型,使 /think 与 /no_think 共存。
通用 RL
用偏好和规则奖励做最后一遍:指令、安全、多语言一起拉齐。
同一道方程,/think 会先在心里演草,/no_think 直接给答案。没有这个开关——这就是的脚印。
内部草稿 <think>
3x + 7 = 22 → 两边减 7 得 3x = 15 → 两边除以 3 得 x = 5。验证:3×5+7=22。
x = 5
适合数学、代码、逻辑。慢一点,错得少一点。
最常见的坑
Qwen3 用 :<|im_start|>role … <|im_end|>。永远调用 tokenizer.(),不要手拼字符串。不同模型的特殊 不同。
掩码交叉熵
FORMULA
L_SFT = − Σ_{t ∈ A} log P_θ(x_t | x_<t)
只在助手回复的位置 A 上算损失。system 和 user 的字设 =0,因为推理时它们是给定的。
点一下,看哪些 会回传梯度。直觉:不要让模型把「用户问了什么」也当成自己要生成的内容。
绿色回传梯度,灰色被掩码。开关一下,体会「只学回答」。
system / user 的字 mask=0。模型不必学会「如何提出这个问题」。
参数高效微调
大矩阵 W 保持不动,额外学 ΔW ≈ (α/r)·B A。r 是秩,越小越省、表达力越弱。 = 把原模型压成 ,再加 ,于是 7B 级也能在 16GB 卡上微调。
课程建议 r 从 16~64 试,起步 32;α = 2r;目标模块尽量覆盖全部线性层。数据少时 dropout 0.05~0.1。
LoRA 秩 r
32
约可训练参数
25.7M
相对 1.7B 约 1.51%
α 建议 = 2×r = 64,更新幅度约 ×2。
目标:q/k/v/o 与 gate/up/down,覆盖全部线性层更好。
r 太小欠拟合,太大接近全参,也更容易过拟合。
课程推荐的机器档位
| 档位 | GPU | 模型 | 方法 |
|---|---|---|---|
| 最低 | 1× T4 16GB | Qwen3-0.6B / 1.7B | 4-bit |
| 标准 | 1× -40G | Qwen3-1.7B / 4B | 16-bit |
| 进阶 | 1× -80G | Qwen3-8B | 16-bit |
| 高级 | 2× -80G | 8B / 30B-A3B | / + |
学期租卡大约百元量级。先把 1.7B 的闭环跑通,再考虑放大。
裁判
用更强模型给开放回复打分(如 )。快,但不完美,要抽查。
对错
、、:能自动判分的题,用来盯死核心能力。
口味
并排 A/B,人点更好的那个。贵,但是最终对齐的北极星。
底线
有害请求拒绝率。变聪明的同时不能变危险。
第 1 课
想想基座模型会什么、不会什么。
第 1 课
推理时用户的问题是给定的。