データバージョニングとは
データバージョニングとは、データセットの変更履歴を追跡・管理し、任意の時点の状態に戻ることを可能にする手法のことです。ソースコードのバージョン管理(Git等)と同様のコンセプトをデータに適用し、実験の再現性確保、変更のトレーサビリティ、チームでの協働を支援します。機械学習プロジェクトにおけるMLOpsの重要な構成要素です。
| ひとことで言うと | データセットの変更履歴を管理し、過去の状態に戻せるようにすること。 |
|---|---|
| なぜ必要か | 「あのときのモデルを再現したい」ときに、当時のデータが必要になる。 |
| 注意点 | データは大容量。コードのように全部保存すると容量が爆発する。工夫が要る。 |
バージョニングの手法
データバージョニングの実現方法はいくつかあります。ファイルベースでは、データファイル自体をスナップショットとして保存します。ストレージ容量を節約するために、変更されたファイルのみを保存する差分バージョニングが一般的です。メタデータベースでは、データ自体は大容量ストレージに保存し、Git等でメタデータ(ハッシュ値、パス、バージョン情報)のみを管理します。DVC(Data Version Control)がこの手法の代表例です。
1データを更新追加・修正・削除
▶
2バージョンを記録どの時点の状態か
▶
3モデルと紐づけるどのデータで学習したか
▶
4過去に戻れる再現性を確保
▶
5原因追跡が可能精度低下の理由を特定
ガバナンスとの関係
データバージョニングはデータガバナンスの重要な要素です。コンプライアンス監査において、特定の時点でどのデータが使用されていたかを証明する必要がある場合、バージョン管理が不可欠です。また、モデルに問題が発生した際に、どのバージョンのデータで学習されたかを特定し、問題の原因を調査するためにも必要です。データバージョニングの方針(何をバージョン管理するか、保存期間、アクセス権限等)を組織として定め、運用することが推奨されます。