什么是数据版本控制工具,为什么它们很重要?
数据版本控制工具可以帮助您为数据构建存储库、跟踪实验和模型血缘、减少错误并改进工作流程和与团队的协作。 这些工具对于组织数据版本控制和实现机器学习模型的轻松重现非常有帮助。
以下列表重点介绍了有用的数据版本管理工具及其特定优势。
1. DAGsHub
DAGsHub 使数据科学家和 ML 工程师能够高效地合作。 它集成了 Git、DVC、MLflow 和 Jenkins 等开源工具,因此您可以在一个地方跟踪和版本化代码、数据、模型、流水线和实验。
好处:
- 您的项目在一个地方:管理您的代码、notebooks、数据、模型、流水线和实验,并轻松连接到自动化插件,所有这些都使用开源工具和开放格式。
- 零配置:每个项目都配有免费的内置 DVC 数据存储和 MLflow 服务,具有团队访问控制。
- 区分、比较和审查任何内容:允许您拥有不同的 Jupyter notebooks、表格、图像、实验,甚至 MRI 数据,这样您就可以比较、审查并理解您的工作。
- 重现只需点击一下即可实现:在您的系统上获取实验的所有组件。
2. DVC
DVC 是用于数据科学和机器学习项目的开源工具,用于替代电子表格和文档共享工具。 除了替换临时数据文件后缀和前缀之外,它还替换了用于跟踪、移动和部署不同模型版本的临时脚本。
好处:
- 简单的命令行类 Git 体验
- 不需要维护或安装数据库
- 不依赖专有的在线服务
- 数据集和机器学习模型的管理和版本控制
- 将数据保存在 S3、Google cloud、Azure、阿里云、SSH 服务器、HDFS 甚至本地磁盘中
- 使项目具有可重复性、可共享性,并有助于回答有关如何构建模型的问题
- 协助管理带有 Git 标签/分支的实验和跟踪指标
3. Pachyderm
Pachyderm 是数据科学家用于版本控制、自动化、端到端数据流水线的工具。
好处:
- 容器化:建立在 Docker 和 Kubernetes 之上
- 可以运行您的流水线需要的任何语言或库,轻松将它们部署在任何云提供商或本地
- 版本控制:版本控制您的数据
- 可以随时询问系统数据是如何变化的,查看差异并还原
- 数据出处(又名数据血缘):跟踪数据的来源
- 跟踪创建结果的所有代码和数据
- 并行化:可以高效调度大规模并行工作负载
- 增量处理:了解您的数据是如何变化的,并且足够聪明,只处理新数据
4. lakeFS
一个开源数据湖管理平台,可将您的对象存储转换为类似 Git 的存储库(像管理代码一样管理数据湖)。 它使您能够像管理代码一样管理数据湖,并为您的数据运行并行流水线进行实验和 CI/CD。
好处:
- 可扩展:EB 级的数据版本控制
- 灵活:在任何存储服务中对数据运行 branch、commit、merge 等 git 操作
- 更快地开发:零拷贝的数据分支实现无冲突的实验,轻松协作
- 启用清洁的工作流:对CI/CD工作流使用预提交和合并钩子
- 弹性:通过恢复功能更快地从数据问题中恢复