Funkcje i przypadki użycia DVC

Wprowadzenie do wersjonowania danych z DVC

Ravi Bhadauria

Machine Learning Engineer

Funkcje i przypadki użycia DVC

Omawiane tematy

  • Wersjonowanie danych i modeli
  • Potoki DVC
  • Śledzenie metryk i wykresów

Tematy zaawansowane (nieomawiane)

  • Śledzenie eksperymentów
  • CI/CD dla uczenia maszynowego
  • Rejestr danych
Wprowadzenie do wersjonowania danych z DVC

Wersjonowanie danych i modeli

Schemat wersjonowania danych i modeli powiązanych z commitami Git

1 https://dvc.org/doc/use-cases/versioning-data-and-models
Wprowadzenie do wersjonowania danych z DVC

Potoki

Schemat potoku kroku trenowania modelu

  • Definiowanie potoku w dvc.yaml
stages:
  train:
    cmd: python train.py

deps: - code/train.py - data/input_data.csv - params/params.json
outs: - model_output/model.pkl
  • Uruchamianie za pomocą dvc repro.
Wprowadzenie do wersjonowania danych z DVC

Śledzenie metryk i wykresów

$ 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

Porównanie metryk AUC między eksperymentami ML przy użyciu wykresów DVC

1 https://dvc.org/doc/command-reference/plots/diff
Wprowadzenie do wersjonowania danych z DVC

Śledzenie eksperymentów

  • Uruchamianie eksperymentu i logowanie metryk
    • dvc repro
    • dvc exp save
  • Alternatywnie: oba kroki naraz dvc exp run
  • Eksperymenty to niestandardowe referencje Git
    • Zapobiegają nadmiernemu rozrostowi commitów
    • Jawne zapisy za pomocą dvc exp save
  • Wizualizacja za pomocą dvc exp show
Wprowadzenie do wersjonowania danych z DVC

CI/CD dla uczenia maszynowego

Schemat koncepcyjny DVC i CML w CI/CD

1 Picture credits: https://dvc.org/doc/use-cases/ci-cd-for-machine-learning
Wprowadzenie do wersjonowania danych z DVC

Rejestr danych

Schemat użycia DVC jako rejestru danych

1 Picture credits: https://dvc.org/doc/use-cases/data-registry
Wprowadzenie do wersjonowania danych z DVC

Czas na ćwiczenia!

Wprowadzenie do wersjonowania danych z DVC

Preparing Video For Download...