Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
DVCによるデータバージョン管理
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ringa_hyj
December 31, 2024
Technology
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DVCによるデータバージョン管理
Ringa_hyj
December 31, 2024
More Decks by Ringa_hyj
See All by Ringa_hyj
deeplakeによる大規模データのバージョン管理と深層学習フレームワークとの接続
ringa_hyj
0
120
Hydraを使った設定ファイル管理とoptunaプラグインでのパラメータ探索
ringa_hyj
0
250
ClearMLで行うAIプロジェクトの管理(レポート,最適化,再現,デプロイ,オーケストレーション)
ringa_hyj
0
290
Catching up with the tidymodels.[Japan.R 2021 LT]
ringa_hyj
3
890
多次元尺度法MDS
ringa_hyj
0
470
因子分析(仮)
ringa_hyj
0
230
階層、非階層クラスタリング
ringa_hyj
0
170
tidymodels紹介「モデリング過程料理で表現できる説」
ringa_hyj
0
700
深層学習をつかった画像スタイル変換の話と今までの歴史
ringa_hyj
0
510
Other Decks in Technology
See All in Technology
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.1k
2026_devsumi_ozono.pdf
o3
3
510
事業課題から技術的負債に向き合う
sansantech
PRO
2
1.9k
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.2k
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
2.7k
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
4
1.3k
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
8
3.7k
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.7k
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
170
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
31
26k
AI時代、データエンジニアが一番おもろい
genshun9
0
630
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
Designing for humans not robots
tammielis
254
26k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
280
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
My Coaching Mixtape
mlcsv
0
310
Raft: Consensus for Rubyists
vanstee
142
7.7k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
290
The untapped power of vector embeddings
frankvandijk
2
1.9k
Transcript
DVCの目的は・・・ 機械学習プロジェクトの再現可能性(reproducible)の確保 こんな経験はありませんか? • 過去に自分 or 他人が取り組んだ機械学習プロジェクトを再実行することになった • 実行したがナゼか当時の報告書の結果と一致しない ※原因はデータ・コード・パラメタに変更が発生したが、変更が残っていない等
紹介 1/5 はじめに
紹介 2/5 現状 • コードはgitで管理できるが、大規模なデータセットはgitでは管理が難しい(容量の制限) ➢ コードはgitで管理、データセットはローカルorクラウドストレージに保存 • データとコードの対応をバージョン管理する難しさ(ドキュメント作成の難しさ) ➢
どのコードでどのデータを使用したか、記録はドキュメント作成者の努力に依存する • チーム間でのデータ共有の難しさ(統一された保存先がない) ➢ データの保存場所だけでなく、実行フォルダへの配置方法などをドキュメントや口頭 で詳細に説明する • コード・パラメタ・データを変更した場合の性能比較が困難(結果ファイルの管理が大変) ➢ 変更の履歴、結果の比較をドキュメントとして保存 ➢ 結果ファイルをストレージへ保存 ➢ 手順に従ったとき、結果が一致するか目視でチェック 上記のようにコードとデータとそのバージョン管理にミスが発生す る状況ではプロジェクトの再現性が低下してしまいます 現状の解決策
DVCはGitと連携して動作する(特にデータ管理の)補完的なツールと してプロジェクトの実験再現性を確保するように設計されています 解決策 • 大きなデータファイルはGitの外で管理 • データやコード、モデルの重みなどに発生した差異をmd5ハッシュを使い検知 • dvc.yamlや.dvcなどのメタファイルのみをGitで追跡 •
Gitライクなコマンドでデータのバージョンを管理(add, checkout, pushなど) • 実データはキャッシュやストレージ(AWS S3, Google Cloud Storage, Azure Blob)に保 存 • データ処理から学習、評価までのパイプラインを定義可能 • コード・パラメタ・データの組み合わせごとの評価指標をコミット履歴やブランチをつか い比較することが可能 紹介 3/5 DVCによる解決策
git hub DVC remote storage git ローカルリポジトリ DVC cache ソースコード
DVCメタファイル ソースコード DVCメタファイル 実データ (データセット、モデル) 実データ (md5ハッシュによる重複削除) リモート環境 ローカル環境 git push git pull dvc push dvc pull dvc add dvc commit dvc checkout 紹介 4/5 DVCのデータ管理イメージ
前処理 pre.py 特徴量作成 feat.py 学習 train.py 評価 eval.py 実行パイプライン dvc.yaml
パラメタ params.yaml pre.py feat.py train.py eval.py 中間生成物 (特徴量、モデル) 実験結果 (metrics.json、plot.png) 紹介 5/5 • 依存ファイルの変化をmd5ハッシュで検知 • dvc reproコマンドでパイプラインに定義したスクリプトを順番に実行 • 結果の生成、比較を半自動化 パイプラインによる実行過程の再現