Data Version Control でデータセットをバージョン管理する

Machine Learning のための CI/CD

Ravi Bhadauria

Machine Learning Engineer

データのバージョン管理が重要な理由

  • バージョン管理により、データ変更の履歴を記録できます
  • データのバージョン管理は重要です
    • 再現性
    • 実験と反復
    • コラボレーション
    • バグ追跡とデバッグ
    • モデルの監視とメンテナンス
    • 監査と検証
Machine Learning のための CI/CD

Data Version Control (DVC)

  • DVC: Data Version Control ツール
    • データと実験を管理
    • Git に似たツール

Git と DVC によるデータバージョン管理の概念図.png

  • Git はメタデータを追跡し、DVC はデータのバージョン管理を担当
Machine Learning のための CI/CD

DVC のストレージ

  • データは別の場所に保存されます
    • SSH、HTTP/HTTPS、ローカルファイルシステム
    • AWS、GCP、Azure のオブジェクトストレージ
  • ローカルにインストール
pip install dvc
Machine Learning のための CI/CD

DVC の初期化

  • Git を初期化 git init
  • DVC を初期化
-> dvc init
Initialized DVC repository.
You can now commit the changes to git.
  • DVC プロジェクトファイルを設定し、データのバージョン管理の準備を整えます
.dvc
|- .gitignore
|- config
|- tmp
Machine Learning のための CI/CD

DVC へのファイル追加

  • dvc add <file> コマンドでデータファイルを追加します
-> dvc add data.csv
  • ファイルのメタデータを含む .dvc プレースホルダーが生成されます
    • DVC で追跡される各ファイルには対応する .dvc ファイルがあります(data.csv -> data.csv.dvc)
    • Git にコミットしてデータバージョンを管理します
  • DVC キャッシュは .dvc/cache に格納されます
Machine Learning のための CI/CD

DVC のデータファイル

  • データファイル
-> cat data.csv
This is a sample data file.
  • data.csv.dvc ファイル
-> cat data.csv.dvc
 outs:
 - md5: ea9972ac9f8fa321ea74969e93acc196

size: 28
hash: md5
path: data.csv
Machine Learning のための CI/CD

まとめ

  • データのバージョン管理により、再現性とコラボレーションが実現します
  • DVC: Git と連携してデータのバージョン管理を行うツール
  • dvc init で DVC を初期化し、dvc add <file> でファイルを追加します
  • .dvc ファイルはメタデータを保存し、Git がバージョンを追跡します
Machine Learning のための CI/CD

練習しましょう!

Machine Learning のための CI/CD

Preparing Video For Download...