“In many industries where giant data sets simply don’t exist, I think the focus has to shift from big data to good data. Having 50 thoughtfully engineered examples can be sufficient to explain to the neural network what you want it to learn.”
—Andrew Ng, CEO & Founder, Landing AI (source: IEEE Spectrum)
データサイエンスや機械学習プロジェクトが共通なデータ管理の苦しみことは
- データは分散されるが、マルチデータソースを統一バージョン管理は難しい
- ラージファイルデータセットのバージョン管理
- Gitはラージファイルバージョン管理はなさそう、1ファイルのサイズ上限100MB (File size limits on GitHub )
- データリネージトレーシング
- ...
DVC+ DagsHub
現在あるソリューションの一つはDVC + DagsHub
- DVCはデータにおけるバージョン管理ツール (Git必要)
- DagsHubはGitHubようなデータ管理バージョンであり、Gitウェアハウス、DVC、MLflowの3つの部分で構成されている。
詳しいチュートリアルは
ArtiVC、始動
も一つ新たな選択肢はArtiVCです。
AWS S3 object storageはよくラージファイフ保存のために使われているから、S3 storageを直接にバージョン管理すればいいじゃないですが、その考えの上でArtiVC open source プロジェクトが始動した。
ドキュメント
Redditで討論
特点は
- Command Lineツール(CLI)
- Git不要
- ローカルクローン不要
- S3 storageで直接にリポジトリをバージョン管理する
- 良いPerformance (追記) [Benchmark]
Quick Start
まずaws-cliをインストールすると、S3を使えるのため~/.aws/credentialsを準備する。
ArtiVCををインストールするやダウンロードする
brew tap infuseai/artivc
brew install artivc
コマンド
検証
art version
#version.BuildInfo{"Version":"...","GitCommit":"...","GitTreeState":"clean","GoVersion":"go..."}
リポジトリへPushする
cd /path/to/large/dataset
# ローカルディレクトリがS3リポジトリに繋がる
art init s3://mybucket/path/to/repo
# S3へデータPushする
art push
Tag
art tag v0.0.1
Log
art log
S3リポジトリからPullする
cd /path/to/pull
# ローカルディレクトリがS3リポジトリに繋がる
art init s3://mybucket/path/to/repo
# S3からデーPullする
art pull
Get
データをダウンロードのみ
art get -o /path/to/download s3://mybucket/path/to/repo
art get -o /path/to/download s3://mybucket/path/to/repo@v0.1.0
ArtiVC物語 (English)
ArtiVCはまた若いプロジェクトが、色々な成長可能性があるから、良ければCommunityに感想を語ってください。
InfuseAIについて
InfuseAI (インフューザーアイ)公式サイト |ブログ| GithHub | Discord | ツイッター | Newsletter