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
480
新卒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
Lakebaseを使ったAIエージェントを実装してみる
kameitomohiro
0
220
SnowflakeとDatabricks両方でRAGを構築してみた
kameitomohiro
1
910
SPCSでMLflow~初心者によるMLOps事始め~
kameitomohiro
0
160
Other Decks in Technology
See All in Technology
ML Pipelineの開発と運用を OpenTelemetryで繋ぐ @ OpenTelemetry Meetup 2025-07
getty708
0
330
alecthomas/kong はいいぞ
fujiwara3
6
1.2k
Bet "Bet AI" - Accelerating Our AI Journey #BetAIDay
layerx
PRO
1
130
[MIRU25] NaiLIA: Multimodal Retrieval of Nail Designs Based on Dense Intent Descriptions
keio_smilab
PRO
1
160
【Λ(らむだ)】最近のアプデ情報 / RPALT20250729
lambda
0
160
LLM開発を支えるエヌビディアの生成AIエコシステム
acceleratedmu3n
0
350
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
360
AI人生苦節10年で会得したAIがやること_人間がやること.pdf
shibuiwilliam
1
230
MCPと認可まわりの話 / mcp_and_authorization
convto
2
330
Kiroから考える AIコーディングツールの潮流
s4yuba
2
530
株式会社島津製作所_研究開発(集団協業と知的生産)の現場を支える、OSS知識基盤システムの導入
akahane92
1
1.3k
【CEDEC2025】大規模言語モデルを活用したゲーム内会話パートのスクリプト作成支援への取り組み
cygames
PRO
1
520
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.4k
YesSQL, Process and Tooling at Scale
rocio
173
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
BBQ
matthewcrist
89
9.8k
A better future with KSS
kneath
238
17k
Producing Creativity
orderedlist
PRO
346
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
4 Signs Your Business is Dying
shpigford
184
22k
RailsConf 2023
tenderlove
30
1.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
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. ご清聴ありがとうございました