Tutorial Lengkap DVC: Git untuk Data dan Model Machine Learning

# Tutorial Lengkap DVC: Git untuk Data dan Model Machine Learning DVC (Data Version Control) adalah open-source tool yang memperluas Git untuk menangani data, model, dan eksperimen ML. Dengan DVC, An...

By Ruby Abdullah · · tutorial
DVCMLOpsData Version ControlMachine LearningGitPipeline

Tutorial Lengkap DVC: Git untuk Data dan Model Machine Learning

DVC (Data Version Control) adalah open-source tool yang memperluas Git untuk menangani data, model, dan eksperimen ML. Dengan DVC, Anda dapat melakukan version control pada dataset besar dan model tanpa menyimpannya langsung di Git repository.

Mengapa DVC?

Masalah umum dalam ML projects:

  • Large files: Git tidak efisien untuk file besar (datasets, models)
  • Reproducibility: Sulit mereproduksi eksperimen tanpa tracking data version
  • Collaboration: Berbagi dataset besar antar tim sulit
  • Storage: Dataset besar memakan space di Git repository

Solusi DVC:
  • Version control untuk data dan model
  • Remote storage (S3, GCS, Azure, SSH)
  • Pipeline reproducibility
  • Experiment tracking
  • Integrasi seamless dengan Git

Instalasi

# Install DVC

pip install dvc

Install dengan remote storage support

pip install "dvc[s3]" # AWS S3

pip install "dvc[gs]" # Google Cloud Storage

pip install "dvc[azure]" # Azure Blob Storage

pip install "dvc[ssh]" # SSH/SFTP

pip install "dvc[all]" # Semua remotes

Verify installation

dvc version

Quick Start

1. Initialize DVC

# Pastikan sudah di Git repository

git init

dvc init

DVC akan membuat:

- .dvc/ directory

- .dvcignore file

git status

.dvc/.gitignore

.dvc/config

.dvcignore

git add .dvc .dvcignore

git commit -m "Initialize DVC"

2. Track Data Files

# Tambahkan file data ke DVC

dvc add data/dataset.csv

DVC akan membuat:

- data/dataset.csv.dvc (metadata file)

- Update .gitignore

Add .dvc file ke Git

git add data/dataset.csv.dvc data/.gitignore

git commit -m "Add dataset"

Untuk folder

dvc add data/images/

git add data/images.dvc data/.gitignore

git commit -m "Add images folder"

3. Setup Remote Storage

# AWS S3

dvc remote add -d myremote s3://mybucket/dvc-storage

Google Cloud Storage

dvc remote add -d myremote gs://mybucket/dvc-storage

Azure Blob Storage

dvc remote add -d myremote azure://mycontainer/dvc-storage

Local/Network storage

dvc remote add -d myremote /path/to/storage

SSH

dvc remote add -d myremote ssh://user@server/path/to/storage

Commit remote config

git add .dvc/config

git commit -m "Configure remote storage"

4. Push dan Pull Data

# Push data ke remote

dvc push

Pull data dari remote

dvc pull

Push/pull specific file

dvc push data/dataset.csv.dvc

dvc pull data/dataset.csv.dvc

Working with Data Versions

1. Update Data

# Setelah data berubah

dvc add data/dataset.csv

git add data/dataset.csv.dvc

git commit -m "Update dataset v2"

dvc push

2. Switch Data Versions

# Checkout ke versi sebelumnya

git checkout HEAD~1 data/dataset.csv.dvc

dvc checkout

Kembali ke latest

git checkout HEAD data/dataset.csv.dvc

dvc checkout

3. View Data History

# Lihat history

git log --oneline data/dataset.csv.dvc

Diff antara versi

dvc diff HEAD~1

Metrics diff

dvc metrics diff HEAD~1

DVC Pipelines

1. Membuat Pipeline

Pipeline didefinisikan dalam dvc.yaml:

# dvc.yaml

stages:

prepare:

cmd: python src/prepare.py

deps:

  • src/prepare.py
  • data/raw/
outs:

  • data/processed/

train:

cmd: python src/train.py

deps:

  • src/train.py
  • data/processed/
params:

  • train.nestimators
  • train.maxdepth
outs:

  • models/model.pkl
metrics:

  • metrics/trainmetrics.json:
cache: false

evaluate:

cmd: python src/evaluate.py

deps:

Artikel Terkait

Tutorial Kedro: Pipeline Data Science yang Reproducible dan Terstruktur

Kedro: Pipeline Data Science yang Reproducible dan Mudah Dirawat Sebagian besar proyek data science dimulai dari satu no...

ZenML: Framework Pipeline MLOps yang Modular dan Cloud-Agnostic

ZenML: Framework Pipeline MLOps yang Modular dan Cloud-Agnostic Pendahuluan Membangun model machine learning yang akurat...

Tutorial MLOps End-to-End Project: Dari Data ke Produksi

Tutorial 20: Proyek MLOps End-to-End Daftar Isi Pendahuluan Prasyarat Gambaran Proyek Versioning Data dengan DVC

Tutorial Lengkap Vertex AI: Platform ML Terpadu Google Cloud

Tutorial Lengkap Vertex AI: Platform ML Terpadu di Google Cloud Vertex AI adalah platform machine learning terpadu Googl...