数据科学团队常常面临着数据和机器学习模型进行版本化管理的问题。我们应该如何一起跟踪数据、源代码和ML模型中的变化呢?组织和存储这些文件和目录变更的最佳方式是什么呢?

数据科学项目的复杂性指数上升

该领域的另一个问题与簿记有关:如何能够识别过去的数据输入和过程,以了解其结果、进行知识共享或进行调试呢?

数据版本控制(DVC) 允许您在 Git 提交中获取数据和模型的版本,同时将它们存储在本地或云存储中。 同时,它还提供了一种在这些不同数据内容之间切换的机制。结果就是您可以遍历的数据、代码和 ML 模型的单一历史记录

DVC为您匹配正确版本的数据、代码和模型

DVC 通过编码实现数据版本控制。您只需一次生成简单的元文件,用来描述要跟踪的数据集、ML制品等。这个元数据可以放在 Git 中代替大文件。之后,您就可以使用 DVC 创建数据快照、恢复以前的版本、重现实验、记录不断变化的指标等等!

当您使用 DVC 时,您的数据文件和目录的唯一版本会以有条理的方式缓存(防止文件重复)。
工作数据存储与您的工作空间分开以保持项目轻巧,但是通过 DVC 会自动处理文件链接以保持连接。

使用 DVC 的好处包括:

  • 轻量级:DVC 是一个免费的开源命令行工具,不需要数据库、服务器或任何其他特殊服务。
  • 一致性:使用稳定的文件名让您的项目保持可读性—它们不需要进行修改,因为它们相当于变量数据。不需要像 data/20190922/labels_v7_final 这样的复杂路径,也不需要在源代码中不断编辑这些路径。
  • 高效的数据管理:为您的数据和模型(例如:SFTPS3HDFS等)使用熟悉且经济高效的存储解决方案 — 不受 Git 托管限制。 DVC 优化了大文件的存储和传输。
  • 协作:轻松分发您的项目开发结果并在内部和远程共享其数据,或者在其他地方重复使用。
  • 数据合规性:在 Git pull请求时尝试查看数据的修改。审核项目不可变的历史记录以了解数据集或模型何时获得批准以及为什么获得批准。。
  • GitOps:将您的数据科学项目与以 Git 驱动万物的方式连接起来。 Git 工作流为高级的 CI/CD 工具(如:CML)、专门的模式(如:数据注册表)和其他最佳实践打开了大门。

总之,数据科学和机器学习是一个持续迭代的过程,其中数据、模型和代码的生命周期以不同的速度发生变化。 DVC 可帮助您管理和执行它们。而这仅仅是个开始。 DVC 还支持多种开箱即用的高级功能:构建、运行和版本控制数据流水线、以及卓有成效的实验管理等。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐