DVC 功能与用例

DVC 数据版本管理入门

Ravi Bhadauria

Machine Learning Engineer

DVC 功能与用例

涵盖主题

  • 数据与模型的版本管理
  • DVC 流水线
  • 指标与图表跟踪

高级主题(未涉及)

  • 实验跟踪
  • 机器学习的 CI/CD
  • 数据注册表
DVC 数据版本管理入门

数据与模型的版本管理

通过绑定到特定 Git 提交来对数据和模型进行版本管理的示意图

1 https://dvc.org/doc/use-cases/versioning-data-and-models
DVC 数据版本管理入门

流水线

模型训练步骤的流水线示意图

  • dvc.yaml 中定义流水线
stages:
  train:
    cmd: python train.py

deps: - code/train.py - data/input_data.csv - params/params.json
outs: - model_output/model.pkl
  • dvc repro 运行。
DVC 数据版本管理入门

跟踪指标与图表

$ dvc metrics diff
Path                  Metric    HEAD     workspace    Change
dvclive/metrics.json  AUC       0.78912  0.18114      -0.60798
dvclive/metrics.json  TP        215      768          553

使用 DVC 图表比较多个 ML 实验的 AUC 指标

1 https://dvc.org/doc/command-reference/plots/diff
DVC 数据版本管理入门

实验跟踪

  • 运行实验并记录指标
    • dvc repro
    • dvc exp save
  • 或将两步合并为 dvc exp run
  • 实验是自定义 Git 引用
    • 避免臃肿的 Git 提交
    • 可用 dvc exp save 显式保存
  • dvc exp show 可视化
DVC 数据版本管理入门

机器学习的 CI/CD

用于 CI/CD 的 DVC 与 CML 概念图

1 Picture credits: https://dvc.org/doc/use-cases/ci-cd-for-machine-learning
DVC 数据版本管理入门

数据注册表

将 DVC 用作数据注册表的示意图

1 Picture credits: https://dvc.org/doc/use-cases/data-registry
DVC 数据版本管理入门

Passons à la pratique !

DVC 数据版本管理入门

Preparing Video For Download...