0Pricing
MLOps Academy · レッスン

Gitだけではデータのバージョン管理ができない理由

ギガバイト規模のデータセットに対するGitの限界を学びます。

「Gitだけではデータのバージョン管理ができない理由」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。

コードは小さく、データは巨大

Gitはソースコード、つまり行単位で変更される小さなテキストファイル向けに作られています。一方、データセットは数GBのバイナリデータであることが多く、まったく性質が異なります。

Gitはすべてのバージョンを保存する

Gitは各ファイルの完全なスナップショットを永久に保持します。2GBのファイルを10回コミットすると、リポジトリの履歴は20GB近くまで膨らむ可能性があります。😬

バイナリの差分は役に立たない

Gitがテキストに強いのは、行単位の差分を表示できるからです。画像やparquetのようなバイナリファイルでは意味のある差分を作れず、新しいコピー全体を保存します。

クローンが困難になる

履歴がリポジトリに含まれるため、チームメンバーがクローンすると、過去のデータセットの全バージョンもダウンロードすることになります。単純なクローンに長時間かかり、ディスクも埋め尽くされます。

ホスティングの制限に引っかかる

GitHubは個々のファイルを100 MBまでに制限し、50 MBを超えると警告を表示します。実際のデータセットの多くはこの制限を大幅に超えるため、pushが拒否されます。

Git LFSにも限界がある

Git LFSは大きなファイルをポインターに置き換え、サイズの問題を軽減します。しかし、パイプライン、プロジェクトごとのリモート、再現可能なデータステージといったML向け機能はありません。

それでも再現性は必要

実験は、使用した正確なデータを再作成できて初めて信頼できます。Gitだけでは、コミットと特定のデータセットのスナップショットを確実に結び付けられません。

重要な考え方:ポインターを保存する

解決策は、データを示す小さなポインターファイルをGitに保存し、大きなデータ本体を安価なオブジェクトストレージに置くことです。Gitが追跡するのはデータ本体ではなくポインターです。

# Git tracks this small text pointer, not the 2GB file
outs:
- md5: a1b2c3d4e5f6...
  size: 2147483648
  path: data/train.csv

DVCの登場

DVC(Data Version Control)は、まさにこれを実現します。コードにはGitを使い、データには別のキャッシュとリモートを使うことで、データセットに対してGitと同様のコマンドを利用できます。

データとコードを同期させる

DVCでは、古いGitコミットをcheckoutすると、対応するデータバージョンも復元されます。コードとデータセットが、整合性のある1つの単位として一緒に移動します。

使い慣れたワークフロー

DVCはGitの考え方を取り入れています。データをadd、commit、push、checkoutします。Gitの基本を知っていれば、DVCもすでに半分理解できています。🎉

理解度チェック

大きなデータセットをそのままGitにコミットすると、なぜ問題が起きるのでしょうか。

まとめ

Gitはコードには適していますが、大きなバイナリデータでは履歴が膨らみ、サイズ制限にも達してしまいます。DVCは小さなポインターをGitに保存し、大きなデータを別の場所で同期管理します。

よくある質問

「Gitだけではデータのバージョン管理ができない理由」レッスンは無料ですか?

はい。「Gitだけではデータのバージョン管理ができない理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。

「Gitだけではデータのバージョン管理ができない理由」で何を学びますか?

ギガバイト規模のデータセットに対するGitの限界を学びます。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

MLOps Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Gitだけではデータのバージョン管理ができない理由」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このMLOps Academyレッスンでコードを書いて実行できますか?

はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Gitだけではデータのバージョン管理ができない理由
  2. DVCを初期化してデータセットを追跡する
  3. データをリモートストレージにプッシュする
  4. 以前のデータセットにロールバックする
← MLOps Academyに戻る