可复现性问题
为什么“在我的机器上能运行”会扼杀机器学习项目。
可复现性问题 是 CoddyKit 上的免费 MLOps Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 MLOps Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 MLOps Academy 课程共包含 4 节课。
在我的机器上能运行
机器学习中代价最高的一句话就是“在我的机器上能运行”。可复现性意味着任何人、在任何地方都能重建出完全相同的结果。🔁
许多环节都在变化
一次训练运行取决于数据、代码、库版本和随机性。任何一项发生变化,结果都可能悄悄改变。
随机种子
模型会以随机方式初始化和打乱数据。如果没有固定的seed,使用相同数据进行的两次运行会得到不同的权重和分数。
import numpy as np, random
np.random.seed(42)
random.seed(42)锁定版本
新的库版本可能在一夜之间改变默认设置。锁定确切版本可以让您的环境在不同机器和不同时间保持稳定。
# requirements.txt
scikit-learn==1.4.2
numpy==1.26.4数据也要进行版本管理
只有代码还不够。如果数据集悄悄发生变化,结果也会随之变化。您必须让数据与代码一起进行版本管理。
记录配置
只记在脑中的超参数无法复现。请将其存储在配置文件中,这样每次运行都会准确记录其设置方式。
# params.yaml
learning_rate: 0.01
max_depth: 6记录每次运行
实验跟踪器会按每次运行保存参数、指标和制品,因此几个月后您仍能回答模型是如何构建的。
记录 Git 提交
记录每次运行对应的确切提交哈希。这个字符串能将结果追溯到生成它的具体代码。
git rev-parse HEAD # store this with the run用容器锁定环境
容器会将操作系统、库和代码打包到一个映像中。无论在哪里运行它,环境每次都完全相同。
警惕隐藏状态
笔记本可能会乱序运行单元格,从而产生没人能够复现的结果。请优先使用脚本,或在最终运行前重新启动干净的内核。
收获
可复现性不是官僚主义,而是信任的基础。它能帮助您调试、公平比较,并证明模型已经满足审计要求。
快速检查
要让一次训练运行可复现,需要做到哪些事情?
回顾
锁定数据、代码、版本和随机种子,记录每次运行,并使用容器。这样,“在我的机器上能运行”就会变成“到处都能运行”。✅
常见问题解答
「可复现性问题」课时是免费的吗?
是的 — 「可复现性问题」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 MLOps Academy 课程的其余内容,请升级到 CoddyKit PRO。 MLOps Academy 课程共包含 4 节课。
「可复现性问题」这节课中我会学到什么?
为什么“在我的机器上能运行”会扼杀机器学习项目。 你通过在浏览器中直接运行的动手代码来练习 MLOps Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 MLOps Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 MLOps Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「可复现性问题」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 MLOps Academy 课中编写并运行代码吗?
能。每节 MLOps Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。