Mind Lab Toolkit (MinT)
实践案例

实践案例:chat-dpo

本 cookbook 的定位是"Eval-first 的 DPO 实验,处理 chat 质量的偏好对"。本页把该 cookbook 的关键事实与在 MinT 企业版上的对应做法整理到一处。

目标

给定 chosen / rejected 偏好对,训练一个让模型倾向于 chosen 风格的 LoRA。Benchmark 是held-out 的成对偏好集合,不是带外部评分员的生成式 benchmark——评测在训练机内自洽完成。

配方参数

算法DPO(成对偏好)
底座Qwen/Qwen3-4B-Instruct-2507
训练数据data/train/full.jsonl
Benchmark 数据data/eval/full.jsonl(held-out 成对偏好)
Primary metriceval_pair_accuracy

Lifecycle 顺序

Cookbook 页明确的三步 lifecycle:

uv sync --dry-run --eval-only 训练
  • uv sync:装依赖。
  • --dry-run:干跑数据通路,确认 tokenizer / 展平 / loss 计算都通。
  • --eval-only:在不训练的状态下跑一遍 eval,拿到基线 eval_pair_accuracy
  • 训练:正式跑训练循环,周期性评测。

更细粒度的可执行命令与脚本文件名,Cookbook 页面指向上游 README。

在 MinT 上的对应

DPO 在 MinT 上通过 forward_backward_custom + 自定义偏好损失实现。控制台里选定 DPO Recipe 后会自动接入这条路径;面板推荐超参 rank=32 / 5 轮 / lr=1e-4 / bs=8

企业版差异

此 cookbook 在社区版与企业版上结构完全相同——切换 MINT_BASE_URLMINT_API_KEY 即可迁移(详见从社区版迁移)。在企业版上额外可做:

  • 把底座升到 Qwen/Qwen3-30B-A3B-Instruct-2507 或企业版专属模型(GLM-5 / Kimi-K2 等)——详见支持的模型
  • 训练完成保存检查点: 明确"每个检查点都会带上元数据(Recipe、数据版本、超参、评测分),方便回溯"。
  • 训练与推理都在专属算力池,不与其他租户共享调度。

相关

DPO 算法本身见 DPO 偏好优化;想看 RL 端到端例子见 dapo-aime

本页目录