← ClaudeAtlas

ml-experiment-trackinglisted

实验可复现纪律手册。当用户开新实验���记全该记的、同一份代码两次结果对不上、复现不了自己 或别人的数字、纠结随机种子/配置/环境快照怎么管、检查点存什么才能断点续训、或实验做完要 归档时激活。 trigger: reproducibility 可复现、random seed 随机种子、配置版本化 Hydra/config、环境快照 pip freeze、checkpoint 续训、DVC 数据版本、experiment tracking。 动作: 新实验启动 checklist + 实验结束归档 checklist,让每个数字都能回答"从哪来"。 不适用于: 结果归因(ml-diagnosis)、比较协议设计(ml-evaluation-design)、泄漏排查 (ml-leakage-defense)。
fieldlu/Machine-learning-skills · ★ 0 · AI & Automation · score 66
Install: claude install-skill fieldlu/Machine-learning-skills
# 实验可复现纪律 — 每个数字都要能回答"你从哪来" ## R — 原文 (Reading) > Machine learning is experimental in a way traditional software is not... A large fraction of ML work involves running experiments, and the results of those experiments need to be tracked and compared.(转述) > > — 转述自 Sculley 等, "Hidden Technical Debt in Machine Learning Systems", NeurIPS 2015 第 3 节(来源性质:业界公认技术债综述) > Reproducibility requires recording code, data, configuration, and environment; missing any one of them can make results irreproducible.(转述) > > — 转述自 Pineau 等, "Improving Reproducibility in Machine Learning Research" / NeurIPS reproducibility program 的通行要求(来源性质:社区可复现性倡议) > **来源说明**: 本 skill 属批C"工程实践共识"系列——《机器学习》(西瓜书)不含工程落地内容, > 其最接近的锚点是第2章对测试集选择与算法随机性的讨论("性能比较不能直接比大小"的前提之一 > 就是运行可控)。R 段改引业界公开文献并标注来源性质;凡无法保证逐字精确处一律标(转述)。 --- ## I — 方法论骨架 (Interpretation) 一次实验 = 代码 × 数据 × 配置 × 环境 × 随机性,五个变量任何一个没钉住,结果就不可复现。纪律的核心不是装工具,而是让**每个产出的数字都能回溯到这五元组**: 1. **随机种子**: Python/NumPy/框架/GPU 全链路设种子并记录;同时承认 GPU 非确定性算子可能残留波动——种子保证的是"可追溯",不承诺逐位一致。 2. **配置版本化**: 超参与流程参数全部进配置文件(Hydra/YAML),随输出一起落盘;禁止散落在 notebook 单元格里的魔法数字。 3. **环境快照**: `pip freeze` / lockfile 与实验同存;三个月后的库版本可以让同一份代码给出不同数字。 4. **输出目录规范**: 按 `{experiment}_{timestamp}` 命名,配置、日志、指标、模型放同一目录——目录本身就是实验档案。 5. **检查点策略**: best(按验证指标)+ latest(含 optimizer/scheduler 状态以支持 resume)双轨保存。 6. **数据版本**: 记录数据集哈希/版本标签;数据变了而代码没变,是"复现失败"最常见的隐藏原因。 两条元原则:**记录发生在实验开始时而非结束时**(事后回忆的配置必然缺项);**复现不了的实验等于没做过**(不可信,不可写进论文或汇报)。这条纪律在科研场景是学术诚信问题,不只是工程洁癖。 --- ## A1 — 业界公开案例 (Past Application) > 注: 西瓜书