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로 배우는 데이터 버저닝 입문

연습해 봅시다!

DVC로 배우는 데이터 버저닝 입문

Preparing Video For Download...