trainproof:让坏掉的训练立刻报错的确定性日志检查器
CupGlass540 · reddit · 2026-08-19
作者训练 730M 参数 TTS 模型数月不收敛,而 loss 曲线、TensorBoard、checkpoint 都只给数字,没有任何工具能说「这个 run 已经死了,别再烧 GPU 了」。于是他写了 trainproof(MIT 协议,pip install trainproof):读取现有训练日志,输出判定与退出码,全部基于确定性规则而非模型打分。
判定设计:FAIL→exit 1(run 已坏)、WARN/ PASS→exit 0、NOT-CHECKED→exit 2(无法判断)——把「判断失败」和「日志读不了」区分开,避免在 CI 里静默说谎。
故障注入验证:用 Qwen2.5-3B QLoRA 跑 6 种配置(健康、100x 学习率、lr=0、fp16 NaN、标签打乱、过拟合)×3 随机种子。值得警惕的发现:标签打乱的 run 在不可学习的数据上把 loss 从 18.9 降到 5.7,曲线看起来教科书级健康——单靠曲线无法与真实训练区分,已作为 README 中声明的局限。
真实日志纠错:TP-ZERO-GRAD 规则曾把 Coqui 一段健康的 12.5 万步 run 误判为 FAIL,因为 Coqui 关闭梯度裁剪时把 avggradnorm 写成 0.0。修复靠推理而非阈值:loss 在降说明不可能真的零梯度,检查自动让位并记录原因。
支持 HF trainerstate.、Coqui、TensorBoard event 文件、JSONL 和 CSV;tfevents 读取器从 wire format 手写实现,不依赖 tensorflow/torch,与 EventAccumulator 逐字节比对验证。
「Infra」频道最新
- 本地跑 AI Bot 噪音有多大?实测风扇狂转如喷气 — Daniel_Farinax · 2026-08-19
- 16GB M5 MacBook Air 跑 MiniMax H3:VPipe 比 h3.c 快 25% — TgoAI · 2026-08-19
- 英伟达垄断难破?唯有计算范式变革才能突围 — 2C_ornot2C · 2026-08-19
- Anthropic 的 Astra 推理多级监控机制曝光 — AccBalanced · 2026-08-19
- Brex 报告:AI 热潮赢家是基础设施而非应用 — simonguozirui · 2026-08-19
- Alchemy 作者:面向 Agent 时代的极简云基础设施工具 — samgoodwin89 · 2026-08-19