MLの学習実行とメタデータを記録し、UIで比較できるセルフホスト型のオープンソース実験トラッカー。Python SDKからデータを照会できます。
treeverse/dvc
Gitと連携してデータやモデルをバージョン管理し、再現可能なML実験を実行できるCLIツールとVS Code拡張機能。
- スター
- 15,967
- フォーク
- 1,343
- 未解決の Issue
- 225
- 最終コミット
- 昨日
これは何?
DVC(Data Version Control)は、機械学習プロジェクトの再現性を高めるためのツールです。大容量のデータファイルやモデルはクラウドまたはオンプレミスのリモートストレージに保存し、それらを参照する軽量なメタファイルをGitリポジトリにコミットすることで、コードとデータのバージョンを同期できます。
DVCでは、依存関係、コマンド、出力を持つステージとしてパイプラインを定義できます。入力が変更されると、影響を受けるステップだけが再実行されます。実験はサーバーを使わずにローカルのGitで追跡でき、パラメーター、メトリクス、プロットを比較、適用、共有して、他の人が実験を再現できるようにします。
オプションの依存関係を通じて、S3、Azure、Google Cloud、OSS、SSH、Google Driveをリモートストレージとして利用できます。VS Code拡張機能には実験の追跡とデータ管理のためのGUIが用意されていますが、コアのDVCパッケージは別途インストールする必要があります。
主な機能
- 01Gitにはポインターを保持しながら、大容量のデータファイルやモデルをバージョン管理する。
- 02変更の影響を受けるステージだけを再実行する、再現可能なパイプラインを定義する。
- 03サーバーを使わず、ローカルで実験を追跡、比較、適用する。
- 04S3、Azure、Google Cloud、SSHなどのリモートストレージにデータをプッシュ、プルする。
- 05実験の追跡とデータ管理にVS Code拡張機能を利用する。
ユースケース
- 大容量データセットをGitにコミットせず、チームメンバーと共有する。
- コミットをチェックアウトして対応するデータをプルし、同僚のモデル学習を再現する。
- 1つのGitリポジトリで多数のハイパーパラメーター実験を実行し、比較する。
- 変更があった部分だけを再実行する、複数ステップのMLパイプラインを構築する。
クイックスタート
- 1
pipでDVCをインストールする
pip install dvc - 2
Gitリポジトリ内のデータフォルダーをDVCで追跡する
dvc add images/ - 3
コードとデータを再現可能なパイプラインステージとして連携させる
dvc stage add -n featurize -d images/ -o features/ python featurize.py - 4
実験を実行して結果を比較する
dvc exp run -n exp-baseline
使う前に知っておきたいこと
- S3やAzureなどのオプションのリモートストレージバックエンドをインストールするには、追加の依存関係が必要です。
- VS Code拡張機能を使うには、コアのDVCツールを別途インストールする必要があります。
収録されている特集
トピック
よくある質問
- dvc とは?
- Gitと連携してデータやモデルをバージョン管理し、再現可能なML実験を実行できるCLIツールとVS Code拡張機能。 DVC(Data Version Control)は、機械学習プロジェクトの再現性を高めるためのツールです。大容量のデータファイルやモデルはクラウドまたはオンプレミスのリモートストレージに保存し、それらを参照する軽量なメタファイルをGitリポジトリにコミットすることで、コードとデータのバージョンを同期できます。
- dvc は無料で使えますか?ライセンスは?
- dvc は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dvc は今もメンテナンスされていますか?
- 活発にメンテナンス中。dvc の最終コミットは 2026年11月6日 です。
- dvc は何に使えますか?
- 大容量データセットをGitにコミットせず、チームメンバーと共有する。 コミットをチェックアウトして対応するデータをプルし、同僚のモデル学習を再現する。 1つのGitリポジトリで多数のハイパーパラメーター実験を実行し、比較する。 変更があった部分だけを再実行する、複数ステップのMLパイプラインを構築する。
- dvc のインストール方法は?
- pipでDVCをインストールする: pip install dvc Gitリポジトリ内のデータフォルダーをDVCで追跡する: dvc add images/ コードとデータを再現可能なパイプラインステージとして連携させる: dvc stage add -n featurize -d images/ -o features/ python featurize.py 実験を実行して結果を比較する: dvc exp run -n exp-baseline
- dvc はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/treeverse/dvc
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
メトリクス、ハイパーパラメータ、ハードウェア情報を記録する、クラウドまたはセルフホストで利用可能なオープンソースのAI学習トラッキング・可視化プラットフォーム。
モデルの学習からエージェントまで、独自またはクラウドのインフラ上で実行するML・AIワークフローをパイプラインとして構築できる、オープンソースのPythonプラットフォーム。
機械学習の実験、データセット、モデルを追跡・可視化・管理するためのPythonライブラリとホステッドプラットフォーム。
実験管理、データセットのバージョン管理、パイプライン、オーケストレーション、スケジューリング、モデルサービングを網羅するオープンソースのMLOps/LLMOpsスイート。
luigiを基盤とするPythonフレームワーク。自動キャッシュ、再現性、依存関係管理に対応した機械学習パイプラインを構築できます。