DVC 功能與使用情境

使用 DVC 進行資料版本控管入門

Ravi Bhadauria

Machine Learning Engineer

DVC 功能與使用情境

本章重點

  • 資料與模型版本控管
  • DVC Pipelines
  • 監控指標與圖表

進階主題(本章不涵蓋)

  • 實驗追蹤
  • 機器學習的 CI/CD
  • Data registry
使用 DVC 進行資料版本控管入門

資料與模型版本控管

透過綁定特定 Git 提交來為資料與模型進行版本控管的示意圖

1 https://dvc.org/doc/use-cases/versioning-data-and-models
使用 DVC 進行資料版本控管入門

管線(Pipelines)

模型訓練步驟的管線示意圖

  • 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

DVC 與 CML 應用於 CI/CD 的概念圖

1 Picture credits: https://dvc.org/doc/use-cases/ci-cd-for-machine-learning
使用 DVC 進行資料版本控管入門

Data registry

DVC 作為資料登錄中心的示意圖

1 Picture credits: https://dvc.org/doc/use-cases/data-registry
使用 DVC 進行資料版本控管入門

一起來練習吧!

使用 DVC 進行資料版本控管入門

Preparing Video For Download...