Správa verzí datových sad pomocí DVC

CI/CD pro Machine Learning

Ravi Bhadauria

Machine Learning Engineer

Proč je správa verzí dat důležitá

  • Verzování zajišťuje historický záznam změn dat
  • Správa verzí dat je klíčová
    • Reprodukovatelnost
    • Experimentování a iterace
    • Spolupráce
    • Sledování a ladění chyb
    • Monitorování a údržba modelů
    • Auditování a validace
CI/CD pro Machine Learning

Data Version Control (DVC)

  • DVC: nástroj pro správu verzí dat
    • Správa dat a experimentů
    • Podobný Gitu

Schéma správy verzí dat pomocí Gitu a DVC.

  • Git sleduje metadata, DVC spravuje verze dat
CI/CD pro Machine Learning

Úložiště DVC

  • Data uložena odděleně
    • SSH, HTTP/HTTPS, lokální souborový systém
    • Úložiště objektů AWS, GCP a Azure
  • Lokální instalace
pip install dvc
CI/CD pro Machine Learning

Inicializace DVC

  • Inicializace Gitu git init
  • Inicializace DVC
-> dvc init
Initialized DVC repository.
You can now commit the changes to git.
  • Nastaví soubory projektu DVC, připraveno ke správě verzí dat
.dvc
|- .gitignore
|- config
|- tmp
CI/CD pro Machine Learning

Přidávání souborů do DVC

  • Přidání datových souborů příkazem dvc add <file>
-> dvc add data.csv
  • Jsou generovány zástupné soubory .dvc s metadaty souboru
    • Každý sledovaný soubor má odpovídající soubor .dvc (data.csv -> data.csv.dvc)
    • Zaznamenáno do Gitu pro správu verzí dat
  • Mezipaměť DVC je naplněna v .dvc/cache
CI/CD pro Machine Learning

Datové soubory DVC

  • Datový soubor
-> cat data.csv
This is a sample data file.
  • Soubor data.csv.dvc
-> cat data.csv.dvc
 outs:
 - md5: ea9972ac9f8fa321ea74969e93acc196

size: 28
hash: md5
path: data.csv
CI/CD pro Machine Learning

Shrnutí

  • Správa verzí dat zajišťuje reprodukovatelnost a spolupráci
  • DVC: nástroj pro správu verzí dat, spolupracuje s Gitem
  • Inicializace pomocí dvc init, přidání souborů přes dvc add <file>
  • Soubory .dvc uchovávají metadata, Git sleduje verze
CI/CD pro Machine Learning

Pojďme si procvičit!

CI/CD pro Machine Learning

Preparing Video For Download...