Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
Search
camay
June 19, 2025
Technology
0
540
新卒3年目の後悔 〜機械学習モデルジョブの運用を頑張った話〜
白金鉱業 Meetup Vol.19@六本木(若手データサイエンティスト交流会)(
https://brainpad-meetup.connpass.com/event/354926/)の登壇資料です
camay
June 19, 2025
Tweet
Share
More Decks by camay
See All by camay
Databricks Lakebaseで見る、ML/LLMシステムでのPostgreSQLの使いどころ
kameitomohiro
0
460
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
520
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
390
SnowflakeとDatabricks両方でRAGを構築してみた
kameitomohiro
1
1.3k
SPCSでMLflow~初心者によるMLOps事始め~
kameitomohiro
0
190
Other Decks in Technology
See All in Technology
2025年の医用画像AI/AI×medical_imaging_in_2025_generated_by_AI
tdys13
0
290
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
390
テストセンター受験、オンライン受験、どっちなんだい?
yama3133
0
200
I tried making a solo advent calendar!
zzzzico
0
130
AIと融ける人間の冒険
pujisi
0
110
歴史から学ぶ、Goのメモリ管理基礎
logica0419
10
1.9k
AIエージェントを5分で一気におさらい!AIエージェント「構築」元年に備えよう
yakumo
1
140
AI with TiDD
shiraji
1
330
Cloud WAN MCP Serverから考える新しいネットワーク運用 / 20251228 Masaki Okuda
shift_evolve
PRO
0
130
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
59k
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
技術選定、下から見るか?横から見るか?
masakiokuda
0
170
Featured
See All Featured
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
58
41k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
Rails Girls Zürich Keynote
gr2m
95
14k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Heart Work Chapter 1 - Part 1
lfama
PRO
3
35k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Believing is Seeing
oripsolob
0
19
Deep Space Network (abreviated)
tonyrice
0
32
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
54
How to Talk to Developers About Accessibility
jct
1
94
Transcript
新卒3年目の後悔 〜機械学習モデルジョブの運用を頑張った話〜 DATUM STUDIO株式会社 データエンジニア部 亀井友裕 2025/6/19 白金鉱業 Meetup Vol.19@六
本木(若手データサイエンティスト交流会)
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 1
今回話すこと、話さないこと 話すこと 話さないこと 機械学習モデルの運用が辛かった話(経緯と結果、反省とか) 機械学習モデルの運用でうまくいった部分 (成功には再現性がないが、失敗には再現性がある)
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 2
自己紹介 亀井 友裕(社会人4年目) 会社 DATUM STUDIO 株式会社 主な 業務経験 データパイプラインの構築(Databricks) 需要予測モデルの運用(Databricks) RAGの精度改善(AWS) コミュニティ SnowVillage(Snowlfakeユーザー会) JEDAI(Databricksユーザー会) X @Camay119 (アイコンは→)
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 3
経緯 • 新卒2年目の終わり頃 • 機械学習モデル開発案件にジョイン • 1つの環境にて、2人のメンバーで開発を進める • 新卒3年目に入り、上記案件が運用フェーズに移行 • 運用メンバーのジョインを見据えて、環境を分離しよう!
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 4
環境分離をしました dev, stg, prdに環境分離(画像はイメージです) https://docs.databricks.com/aws/en/machine-learning/mlops/mlops-stacks
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 5
想定していた環境の使われ方 開発環境で動作確認 → 検証環境でテスト → 本番リリース というオーソドックスな流れを想定 具体的な運用ルールは決めず、とりあえず運用を開始 https://docs.databricks.com/aws/en/machine-learning/mlops/mlops-stacks ✓ 開発環境 * 機能の開発 & 軽い動作確認 ✓ 検証環境 * 本格的なテスト(あわよくば自動化) ✓ 本番環境 * バグが出ないようにしたい
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 6
よし!環境分離もできたし、運用頑張っていくぞ!!
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 3ヶ月後。。。
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 8
実際の環境の使われ方 やりたかったことが全く達成されない地獄のような開発フロー https://docs.databricks.com/aws/en/machine-learning/mlops/mlops-stacks ✓ 開発環境(想定内) * 機能の開発 & 軽い動作確認 ➢ 使われない検証環境(想定外) * 「devで動作確認したので大丈夫です」 ➢ バグが発生しまくる本番環境 (想定外 and ヤバい) * 正常性を担保するため、ジョブ実行 とダッシュボードを目検で確認 & slackにスクショ掲載(ツラい) *問題が発生すればhotfixで直す ➢ 無駄に煩雑なデプロイ手順 * 検証環境なんて使われてないのに、 なんでstg用のconfig書き換えて stgブランチにPR出すんだ...
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 9
モヤつきを言語化できないまま約6ヶ月運用を続け、 結局そのまま運用を別担当に引き継いでしまった...
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 10
一体何が悪かったんだろう…
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 11
PJ離脱から半年、 当時の状況を改めて整理して一つの結論にたどり着いた
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 12
それは…
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 13
https://docs.databricks.com/aws/en/machine-learning/mlops/mlops-stacks ✓ 開発環境(想定内) 機能の開発 & 軽い動作確認 ➢ 無駄に煩雑なデプロイ手順 * 検証環境なんて使われてないのに、 なんでstg用のconfig書き換えて stgブランチにPR出すんだ... ➢ バグが発生しまくる本番環境 (想定外 and ヤバい) * 正常性を担保するため、ジョブ実行 とダッシュボードを目検で確認 & slackにスクショ掲載(ツラい) *問題が発生すればhotfixで直す ➢ 使われない検証環境(想定外) * 「devで(新規機能の)動作確認を したので大丈夫です」 大体こいつが悪い
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 14
どういうこと? 新規機能の動作確認のみを実施し、既存機能や後続ジョブの正常確認はやったりやらなかったり… → 検証環境にて疎通確認することで防げたインシデントがたくさんあった 既存機能や後続ジョブの動作確認が、必須確認項目に 入っていない 要件が決まってからデプロイするまでのフローチャート 検証環境で「後続のジョブまで一度全部通す」というフローを 毎回通っていれば、たくさんのインシデントが防げたはず
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 15
どうしてこんなことに? 運用開始前の解像度の低さと、運用整備の仕組みづくりに工数を割けなかったのが主な原因 どういう経緯で こうなったのか どうして 改善されなかったのか 運用設計が甘かった 「環境分離をしよう!」という方針はあったが、具体的な運用ルールやデプロイフローが定義されていなかった 誤った成功体験 本番環境でバグが出たけどhotfixでリカバリができたので、「最悪hotfixでなんとかなる」という誤った成功体験が積み重なってしまった 運用整備の優先度が低かった 顧客要望度の高い新規機能開発が優先され、運用ルールの整備にまで手が回らなかった 場当たり(かつ手間がかかる)対応が定着してしまった 「とりあえず目検+Slackにスクショ貼り付けで故障率下がってそうだし、今はそれで十分」という暗黙の了解のもと、既存フローが定着してしまった
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 16
こうすればよかったんじゃないか? 初期設定と改善をサボらない どういう経緯で こうなったのか どうして 改善されなかったのか 運用設計が甘かった 「環境分離をしよう!」という方針はあったが、具体的な運用ルールやデプロイ手順が定義されていなかった → デプロイ・確認手順を最初に明文化しておくべきだった 誤った成功体験 本番でバグが出たけど、hotfixでリカバリができたので、「最悪hotfixでなんとかなる」という誤った成功体験が積み重なってしまった → hotfix対応が発生する度に、原因と再発防止の仕組みを考えるべきだった 運用整備の優先度が低かった 顧客要望度の高い新規機能開発が優先され、運用ルールの整備にまで手が回らなかった → 「品質維持のための整備作業」にも開発リソースを割り当てる運用計画にすべきだった 場当たり(かつ手間がかかる)対応が定着してしまった 「とりあえず目検+Slackにスクショ貼り付けで故障率下がってそうだし、今はそれで十分」という暗黙の了解のもと、既存フローが定着してしまった → 目検運用は一時的と定義して代替策を用意すべきだった
© 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. ご清聴ありがとうございました