在 GitHub 上编辑
机器学习实验跟踪
在数据科学项目中取得进展需要进行大量实验——调整参数、尝试不同数据、改进代码、收集更优指标等。跟踪所有这些变更至关重要,因为在比较结果时我们可能需要回顾这些更改。日后恢复这些条件对于复现结果或继续某条工作线程也是必要的。
DVC 开箱即用地提供了一层实验管理功能(无需特殊服务器或网站)。在你的工作区中运行DVC 实验会自动捕获相关的变化集(输入数据、源代码、超参数、产物等)。
其他工具通常侧重于通过保存实验产生的指标和产物来实现实验导航,并附带对代码版本的脆弱链接。而 DVC 的方法则基于 Git 构建,而非独立系统,从而保证了可复现性。
_DVC 实验按照项目版本(Git 提交、分支、标签等)组织,可以在终端、VS Code 扩展(如图所示)或 DVC Studio 中进行比较。
当你准备分享时,DVC Studio 可以成为团队项目、实验和模型的中心枢纽。DVC Studio 还能让你在云端运行实验。
使用 DVC 跟踪实验的主要优势:
- 快速迭代实验想法,自动记录数据依赖、代码、参数、产物、机器学习模型及其指标。
- 使用受控的执行机制;运行单个实验或排队多个实验(如有需要可并行执行)。
- 跟踪实时指标。
- 查看和比较基于参数或指标的结果;从缓存中恢复它们,或从头开始重新生成。
- 采用或继续使用 Git 工作流(分布式协作),以及 GitHub 等服务。
- 为你的实验提交 Pull Request,在 GitHub 等平台上进行评审,像团队协作开发代码一样协作实验。
准备好深入体验了吗?开始使用实验功能!
除了以下其他差异化特性外,DVC 实验的独特之处在于它提供了简单而灵活、以本地优先的体验。你的代码保持不变,你可以控制数据的存储位置和共享方式。DVC 还通过缓存提高了存储效率,节省了时间,避免重复的数据传输或临时重新训练模型。
DVC 实验 | 现有工具 | |
---|---|---|
用户界面 | IDE 和 终端 | Web(通常是 SaaS) |
日志记录 | 基于 Git | 自定义格式 |
存储 | 数据版本控制 | 记录产物和指标 |
执行 | dvc exp run | 代码 API(通常是 Python) |
协作 | 分布式 | 集中式 |
💡 请注意,其他实验跟踪工具可以与 DVC 互补,例如用于带有专业可视化功能的详细实验环境日志记录。
最后,DVC 完全语言无关,无论你使用 Jupyter 笔记本还是 Scala,CSV 数据框还是 HDFS,都能提供相同的功能。