预训练与微调

历史教学示意:预训练、指令微调与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

详见:02-技术/训练流程与超参数

---

参数适配与检索方法对比

| 类型 | 描述 | 成本 | 适用场景 |

|------|------|------|----------|

| 全量微调 | 更新所有参数 | 高 | 领域专用模型 |

| LoRA | 只训练低秩适配矩阵 | 低 | 资源受限场景 |

| Prompt Tuning | 只优化输入前缀 | 极低 | 快速适配 |

| RAG(不是微调) | 检索外部材料,不必改变模型参数 | 取决于索引与检索规模 | 需要依据更新的任务 |

检索、提示词和参数微调解决的问题不同,应按任务与验收结果选择,不能作普遍优劣排名。

---

RLHF(人类反馈强化学习)


① 收集人类偏好数据:
   对同一问题的多个回答,人类标注哪个更好

② 训练奖励模型(Reward Model, RM):
   学会预测人类偏好评分

③ PPO 强化学习:
   用奖励模型的评分作为反馈,优化语言模型
   目标:生成奖励分高的回复

局限:奖励模型可能被"骗"(reward hacking),模型学会迎合人类评分而非真正有帮助。

---

法律 AI 应用的实践建议

1. 本项目复用当前Codex会话和已有成果,不要求API或另行训练。

2. 法规、判决和意见保留版本及出处,检索命中不等于结论核实。

3. 提示词改进需用原题、新题和反例检验。

4. 长合同仍需检查读取完整性及上下文限制。

参见:03-法律AI应用/AI合同审查

---

相关页面

  • 01-概念/大语言模型概述 — LLM 基础
  • 01-概念/Transformer架构 — 模型架构
  • 02-技术/训练流程与超参数 — 训练细节
  • 03-法律AI应用/AI辅助法律研究 — 实践应用
  • 来源

  • [nanoGPT train.py](https://github.com/karpathy/nanoGPT/blob/master/train.py)
  • Brown et al., "Language Models are Few-Shot Learners" (GPT-3, 2020)
  • 本轮核查来源与限制(2026-09-17)

  • https://raw.githubusercontent.com/karpathy/nanoGPT/master/train.py
  • 只修本轮明确列出的陈述,不将旧页整篇升级为已验证。themis_only为本地保存和禁止外发的兼容标记,不代表本地模型推理。