预训练与微调
历史教学示意:预训练、指令微调与RLHF
阶段一:预训练(Pre-training)
→ 在海量文本上学习语言模式
→ 产物:基础语言模型(会续写,但不懂指令)
阶段二:指令微调(Instruction Fine-tuning / SFT)
→ 在人工标注的"指令-回答"对上继续训练
→ 产物:能听指令的模型
阶段三:RLHF(人类反馈强化学习)
→ 训练奖励模型,用 PPO 算法优化对齐人类偏好
→ 产物:ChatGPT(有帮助、无害、诚实)
---
上述图示不是所有模型的必经流程,也不描述未公开的现行产品训练细节。
预训练详解
训练目标
下一个 Token 预测(Next Token Prediction):
给定序列 [t1, t2, t3, ...],预测每个位置的下一个 Token。
# nanoGPT train.py 的损失计算
logits, loss = model(X, Y)
# X: 输入序列 [t1, t2, ..., tN-1]
# Y: 目标序列 [t2, t3, ..., tN](向右移一位)
# loss: 交叉熵损失
nanoGPT 预训练配置
# train.py 关键超参数
learning_rate = 6e-4 # 最大学习率
max_iters = 600000 # 训练步数
weight_decay = 0.1 # AdamW解耦权重衰减,不一般等同L2惩罚
beta1 = 0.9 # Adam 动量参数
beta2 = 0.95 # Adam 动量参数
grad_clip = 1.0 # 梯度裁剪
batch_size = 12 # 微批次大小
gradient_accumulation_steps = 40 # 梯度累积(模拟大批次)
# 有效批次大小 = 12 × 40 = 480
学习率调度
线性预热(Warmup) → 余弦衰减(Cosine Decay)
步骤 0 → 2000:学习率从 0 线性增加到 6e-4
步骤 2000 → 600000:学习率按余弦曲线衰减到 6e-5
---
参数适配与检索方法对比
| 类型 | 描述 | 成本 | 适用场景 |
|------|------|------|----------|
| 全量微调 | 更新所有参数 | 高 | 领域专用模型 |
| LoRA | 只训练低秩适配矩阵 | 低 | 资源受限场景 |
| Prompt Tuning | 只优化输入前缀 | 极低 | 快速适配 |
| RAG(不是微调) | 检索外部材料,不必改变模型参数 | 取决于索引与检索规模 | 需要依据更新的任务 |
检索、提示词和参数微调解决的问题不同,应按任务与验收结果选择,不能作普遍优劣排名。
---
RLHF(人类反馈强化学习)
① 收集人类偏好数据:
对同一问题的多个回答,人类标注哪个更好
② 训练奖励模型(Reward Model, RM):
学会预测人类偏好评分
③ PPO 强化学习:
用奖励模型的评分作为反馈,优化语言模型
目标:生成奖励分高的回复
局限:奖励模型可能被"骗"(reward hacking),模型学会迎合人类评分而非真正有帮助。
---
法律 AI 应用的实践建议
1. 本项目复用当前Codex会话和已有成果,不要求API或另行训练。
2. 法规、判决和意见保留版本及出处,检索命中不等于结论核实。
3. 提示词改进需用原题、新题和反例检验。
4. 长合同仍需检查读取完整性及上下文限制。
---
相关页面
来源
本轮核查来源与限制(2026-09-17)
只修本轮明确列出的陈述,不将旧页整篇升级为已验证。themis_only为本地保存和禁止外发的兼容标记,不代表本地模型推理。