用 Data Version Control 进行数据集版本管理

面向机器学习的 CI/CD

Ravi Bhadauria

Machine Learning Engineer

为何要进行数据版本管理

  • 版本管理保留数据变更的历史记录
  • 数据版本管理很关键
    • 可复现性
    • 实验与迭代
    • 协作
    • 缺陷追踪与调试
    • 模型监控与维护
    • 审计与验证
面向机器学习的 CI/CD

Data Version Control(DVC)

  • DVC:Data Version Control 工具
    • 管理数据与实验
    • 类似 Git

用 Git 和 DVC 进行数据版本管理的概念图.png

  • Git 追踪元数据,DVC 处理数据版本
面向机器学习的 CI/CD

DVC 存储

  • 数据单独存储
    • SSH、HTTP/HTTPS、本地文件系统
    • AWS、GCP、Azure 对象存储
  • 本地安装
pip install dvc
面向机器学习的 CI/CD

初始化 DVC

  • 初始化 Git:git init
  • 初始化 DVC
-> dvc init
Initialized DVC repository.
You can now commit the changes to git.
  • 创建 DVC 项目文件,准备开始对数据做版本管理
.dvc
|- .gitignore
|- config
|- tmp
面向机器学习的 CI/CD

向 DVC 添加文件

  • dvc add <file> 添加数据文件
-> dvc add data.csv
  • 生成包含文件元数据的 .dvc 占位文件
    • 每个被 DVC 追踪的文件有对应的 .dvc 文件(data.csv -> data.csv.dvc
    • 提交到 Git 管理数据版本
  • DVC 缓存存放于 .dvc/cache
面向机器学习的 CI/CD

DVC 数据文件

  • 数据文件
-> cat data.csv
This is a sample data file.
  • data.csv.dvc 文件
-> cat data.csv.dvc
 outs:
 - md5: ea9972ac9f8fa321ea74969e93acc196

size: 28
hash: md5
path: data.csv
面向机器学习的 CI/CD

小结

  • 数据版本管理保障可复现与协作
  • DVC:配合 Git 的数据版本管理工具
  • dvc init 初始化,用 dvc add <file> 添加文件
  • .dvc 文件存元数据,Git 追踪其版本
面向机器学习的 CI/CD

Vamos praticar!

面向机器学习的 CI/CD

Preparing Video For Download...