treeverse/dvc

🦉 Data Versioning and ML Experiments

何を解決するか

DVC(Data Version Control)は、機械学習プロジェクトにおける再現性の課題に対処します。Gitでは扱えないほど大きなデータセットやMLモデルをバージョン管理できる一方で、バージョン管理のメタデータはGitに保持されるため、コード、データ、モデルの特定のバージョンが常にリンクされていることが保証されます。

動作方法

DVCはGitの上にレイヤーを構築します。実際のデータファイルやモデルファイルはGitリポジトリ外の別々のキャッシュに保存され、Gitには軽量なプレースホルダーファイルが配置されます。このキャッシュを共有・バックアップするため、DVCはS3、Azure、Google Cloud、およびSSH経由のオンプレミスネットワークストレージなど、さまざまなリモートストレージプラットフォームをサポートしています。

また、コードとデータをつなぐ計算グラフ(パイプライン)を定義する仕組みも提供します。これらのパイプラインは各ステップの依存関係と出力を指定し、DVCが変更の影響を受けるステップのみを実行できるようにします。

対象ユーザー

実験を追跡し、データやモデルをバージョン管理し、再現可能なMLパイプラインで共同作業を行う必要がある機械学習エンジニアやデータサイエンティスト。

主な特徴

  • データ用Git:専用サーバーを必要とせずに、データアーティファクトやモデルをバージョン管理し共有可能。
  • 軽量なパイプライン:変更の影響を受けるステップのみを実行するバージョン管理されたデータパイプライン。
  • ローカルでの実験追跡:ローカルのGitリポジトリ内でハイパーパラメータ、メトリクス、パフォーマンスプロットを直接追跡・比較可能。
  • クラウドストレージ統合:S3、Azure、GCSなどのクラウドプロバイダーとのシームレスなデータのプッシュ・プル。
  • VS Code拡張機能:IDE内での実験追跡とデータ管理用のGUI。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト