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
  • 2 手順をまとめて実行: 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...