← 课程库
适配与对齐模块五·六 · 综合项目项目22 分钟

阶段项目:SFT + DPO 迷你对齐流水线

把「听话」和「对齐」串起来跑一遍

学完这节你能:
  • 跑通 SFT→偏好数据→DPO 的最小流水线
  • 对比对齐前后的行为差异
  • 理解对齐的完整闭环

Stage 3 收尾:把这一段学的串成一条最小对齐流水线——先 SFT(LoRA) 得到助手,再用一小批偏好对做 DPO,观察模型在有用/无害上的变化。

  1. SFT:用 Stage 3 第 9 课的 LoRA 微调,得到会听指令的基础助手。
  2. 造偏好数据:对若干指令各生成 2 个回答,人工/规则标出 chosen 与 rejected。
  3. DPO:以 SFT 模型为参考 π_ref,用 DPO 损失训练,β 取默认值。
  4. 评估:拿保留指令,对比 SFT-only 与 SFT+DPO 的回答,看是否更有用、更少有害/幻觉。
DPO(trl 库示意)
from trl import DPOTrainer, DPOConfig
trainer = DPOTrainer(model=sft_model, ref_model=sft_ref,
    args=DPOConfig(beta=0.1, learning_rate=5e-6),
    train_dataset=pref_ds)   # pref_ds 含 prompt / chosen / rejected
trainer.train()

💡 验收标准:能说清「为什么先 SFT 再 DPO」「β 起什么作用」「chosen/rejected 从哪来」,并给出对齐前后的对比样例。这就完整走通了从底座到对齐助手的路。

自测在这条对齐流水线里,DPO 通常放在哪一步之后进行?
// 带走一句话

对齐闭环:SFT(LoRA)得助手→造 chosen/rejected 偏好对→以 SFT 为参考做 DPO→对比有用性与无害性的提升。

独立练习

做到这些,才算完成本节

  1. 把任务拆成可运行的最小步骤,每一步都保留输出证据。
  2. 提交 README、结果、失败分析和下一次改进计划。
学习记录

记录本节阅读进度

建议先独立回答自测。读完记录不等于已经掌握。

继续下一课
← 上一课
幻象:为什么模型会一本正经地胡说
下一课 →
解码方法:贪心搜索与束搜索

学完不要急着赶进度:去练习自测,或完成对应的阶段实验