データバージョニング

Data Versioning

データバージョニングとは

データバージョニングとは、データセットの変更履歴を追跡・管理し、任意の時点の状態に戻ることを可能にする手法のことです。ソースコードのバージョン管理(Git等)と同様のコンセプトをデータに適用し、実験の再現性確保、変更のトレーサビリティ、チームでの協働を支援します。機械学習プロジェクトにおけるMLOpsの重要な構成要素です。

表:データバージョニングの要点まとめ
ひとことで言うとデータセットの変更履歴を管理し、過去の状態に戻せるようにすること。
なぜ必要か「あのときのモデルを再現したい」ときに、当時のデータが必要になる。
注意点データは大容量。コードのように全部保存すると容量が爆発する。工夫が要る。

バージョニングの手法

データバージョニングの実現方法はいくつかあります。ファイルベースでは、データファイル自体をスナップショットとして保存します。ストレージ容量を節約するために、変更されたファイルのみを保存する差分バージョニングが一般的です。メタデータベースでは、データ自体は大容量ストレージに保存し、Git等でメタデータ(ハッシュ値、パス、バージョン情報)のみを管理します。DVC(Data Version Control)がこの手法の代表例です。

図:データバージョニングの効果
1データを更新追加・修正・削除
▶
2バージョンを記録どの時点の状態か
▶
3モデルと紐づけるどのデータで学習したか
▶
4過去に戻れる再現性を確保
▶
5原因追跡が可能精度低下の理由を特定

ガバナンスとの関係

データバージョニングはデータガバナンスの重要な要素です。コンプライアンス監査において、特定の時点でどのデータが使用されていたかを証明する必要がある場合、バージョン管理が不可欠です。また、モデルに問題が発生した際に、どのバージョンのデータで学習されたかを特定し、問題の原因を調査するためにも必要です。データバージョニングの方針(何をバージョン管理するか、保存期間、アクセス権限等)を組織として定め、運用することが推奨されます。