1.8 KiB
1.8 KiB
DPO Qwen3.5-9B Server Bundle
这个目录是可直接拷到 Linux 服务器上的独立 DPO 训练包。
包含内容:
data/train_dpo_clean.jsonldata/dev_dpo_clean.jsonldata/raw_final_train_pairs.jsonldata/raw_final_dev_pairs.jsonlreports/final_train_pairs_report.jsonreports/final_dev_pairs_report.jsonscripts/train_dpo.pyscripts/analyze_token_lengths.pyrun_train.shrequirements.txt
设计说明
- 训练数据来自你已经组装好的
final_train_pairs.jsonl / final_dev_pairs.jsonl - bundle 默认输出
clean版数据:- 保留
strong_model / rulechosen - 保留
weak_model_actual_error / constructedrejected - 删除
weak_model_actual_error + parse_fail这种纯脏 rejected
- 保留
推荐训练流程
- 安装依赖
pip install -r requirements.txt
- 先看 token 长度
python scripts/analyze_token_lengths.py --model-name Qwen/Qwen3.5-9B --train-file data/train_dpo_clean.jsonl --dev-file data/dev_dpo_clean.jsonl
- 直接开训练
bash run_train.sh
默认策略
- 基座模型:
Qwen/Qwen3.5-9B - 训练方式:
QLoRA + DPO - 设备:
2 x A100 40G - 启动方式:
torchrun --nproc_per_node=2 - 默认长度:
max_length=6656,max_prompt_length=6144
关于长度
你这批 clean 数据的统计显示:
- prompt token
max ≈ 6611 - pair token
max ≈ 9294
因此默认训练脚本采用:
max_prompt_length=6144:覆盖大多数 prompt,仅截断极少数最长尾 promptmax_length=6656:把 DPO 的激活显存压力压到更稳的区间
这是更适合 2 x A100 40G 的 pilot 配置;优先保证能稳定开训。
你最需要看的文件
- 数据清单:
manifest.json - 训练脚本:
scripts/train_dpo.py - 启动脚本:
run_train.sh