samai-2b / r18_t4 /PATCH_NOTES.md
tchbcb's picture
r18 delivery: r18_t4/PATCH_NOTES.md
02ba412 verified
|
Raw History Blame Contribute Delete
1.71 kB
# r18 T4 训练补丁说明 (PATCH_NOTES)
原始 r18_train_t4.py 存在 6 个 bug, 修复后才跑通 (修复人: Super Z, 2026-09-15):
1. **env**: peft 0.19.1 版本门 vs 镜像自带 torchao 0.10.0 → `pip uninstall torchao`
2. **optimizer**: `trainable.append((name, p.numel()))` 存 int → AdamW TypeError; 改为存 Parameter
3. **r17 LoRA 静默丢失**: adapter 键自带 `base_model.model.` 前缀, 脚本又拼一层 → 64 张量全未加载; 改为归一化映射 (剥前缀 + 去 `.default`)
4. **r17 router/mtp 静默丢失**: extras 在 `get_peft_model` 之后 load → peft 前缀污染 unexpected=26; 移到 peft 包装前加载 (loaded=26 unexpected=0)
5. **架构**: modeling_samai_pnet.py 两处 `create_causal_mask(inputs_embeds=...)` 与 transformers 5.0.0 不符 (正确参数名 `input_embeds`, 且 `cache_position` 必填); 两处修复 + cache_position=None 时物化
6. **fp16 NaN**: T4 无 bf16, 纯 fp16 AdamW 首步即 NaN → 可训练参数升 fp32 主权重 + autocast(fp16) + GradScaler + NaN 批次跳过
配方对齐: epochs 1→2 (对齐 DSW r18_train.sh); 新增双参数组 lr=1.5e-4 (heads) / lr_lora=4e-5 (LoRA) — 原 CFG 的 lr_lora 从未生效。
实测: T4 单卡 peak 9.8GB, ~1.0-1.2s/step, 2 epochs (11258 步) 约 3.5h。
产物:
- ckpt_final/ — r18 增量 (adapter + ponder_head + router), 基于 r17
- r18_train_t4.py — 修复后训练脚本 (含 .bak2 原版备份于运行机)
- modeling_samai_pnet.py — transformers 5.0 兼容版
- r18_train.log — 完整训练日志
- r18_t4_probe.json — T4 侧 r17 vs r18 对比评估
- r18_eval_chain_dsw.py — DSW 官方评估链 (r17 版适配), 需要 zh_cot.eval.jsonl + eval_2b_r5b.json + tb2