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
GOの機械学習システムを支えるMLOps事例紹介
Search
Takashi Suzuki
July 06, 2021
Technology
0
110
GOの機械学習システムを支えるMLOps事例紹介
2021/7/6に実施されたTier4 MoT Meetupの登壇資料
Takashi Suzuki
July 06, 2021
Tweet
Share
More Decks by Takashi Suzuki
See All by Takashi Suzuki
到着予想時間サービスの特徴量のニアリアルタイム化
t24kc
0
130
Kubernetes超入門
t24kc
0
130
AI予約サービスのMLOps事例紹介
t24kc
0
23
MLプロジェクトのリリースフローを考える
t24kc
0
13
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
t24kc
0
33
GOの実験環境について
t24kc
0
19
MOVの機械学習システムを支えるMLOps実践
t24kc
0
20
タクシー×AIを支えるKubernetesとAIデータパイプラインの信頼性の取り組みについて
t24kc
0
39
MOV お客さま探索ナビの GCP ML開発フローについて
t24kc
0
15
Other Decks in Technology
See All in Technology
shake-upを科学する
rsakata
7
810
american aa airlines®️ USA Contact Numbers: Complete 2025 Support Guide
aaguide
0
390
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
140
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
470
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
300
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
130
Operating Operator
shhnjk
1
620
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
21k
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
150
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
2
800
United airlines®️ USA Contact Numbers: Complete 2025 Support Guide
unitedflyhelp
0
330
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
110
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Balancing Empowerment & Direction
lara
1
440
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Building Adaptive Systems
keathley
43
2.7k
Navigating Team Friction
lara
187
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Transcript
Mobility Technologies Co., Ltd. GOの機械学習システムを支える MLOps事例紹介 開発本部 AI技術開発部 MLエンジニアリンググループ 鈴木
隆史
Mobility Technologies Co., Ltd. 自己紹介 2 鈴木 隆史 | Takashi
Suzuki 開発本部 AI技術開発部 MLエンジニアリンググループ • 2019年DeNA入社 機械学習の実験基盤やパイプラインの設計開発を担当 • 2020年Mobility Technologies転籍
Mobility Technologies Co., Ltd. 3
Mobility Technologies Co., Ltd. 4
Mobility Technologies Co., Ltd. GOのとある機械学習システムにおける、いくつかのMLOpsについてお話します • Test • Validation •
Deploy 今日話すこと 5
Mobility Technologies Co., Ltd. お客様探索ナビについて 01 6
Mobility Technologies Co., Ltd. プロダクトの課題設定 7 乗務員は歩合制 収入は 探客スキルに依存
Mobility Technologies Co., Ltd. お客様探索ナビとは 8 需要を予測して最適な 営業経路を提案
Mobility Technologies Co., Ltd. お客様探索ナビとは 9 需要を予測して最適な 営業経路を提案 需要供給予測 •
特徴量作成 • MLモデル推論 走行ルート推薦 • 最適方策の獲得 • 全体最適化 ベースとなる技術
Mobility Technologies Co., Ltd. 機械学習による需要供給予測 10 直近の乗車数 周辺の乗車数 各種統計量 MLモデル
直後30分に発生 する乗車数
Mobility Technologies Co., Ltd. 強化学習による走行ルート推薦 11 行動:進行方向 報酬:売上など 報酬 行動
環境 エージェント
Mobility Technologies Co., Ltd. MLシステムフロー 02 12
Mobility Technologies Co., Ltd. MLシステムのリアルタイムデータの重要性 13 • 時間帯による需要変化、タクシーの供給変化など、刻一刻と状況は変化する • 例:
突然の商業施設閉館による道路の需要減 高需要道路 低需要道路 施設閉館 Map data ©2021 Google
Mobility Technologies Co., Ltd. MLシステムのワークフロー 14 • 新鮮なデータで推論・学習(モデル更新)を行う必要がある 現在のモデルでリアルタイムデータに対し推論(短期の変化) 直近のデータを用いて学習・モデルを更新(中長期の変化)
前処理 推論 推論パイプライン (5分ごと) 統計値 作成 前処理 MLモデル更新パイプライン (1週ごと) 学習 バッチ推論 シミュレーション
Mobility Technologies Co., Ltd. MLモデル更新パイプライン(1週ごと) 15 統計値作成 前処理 学習 バッチ推論
AI Platform Training BigQuery
Mobility Technologies Co., Ltd. MLモデル更新パイプライン(1週ごと) 16
Mobility Technologies Co., Ltd. 推論パイプライン(5分ごと) 17
Mobility Technologies Co., Ltd. Test MLOps 03 18
Mobility Technologies Co., Ltd. MLシステムにおけるテストの難しさ 19 統計値 作成 前処理 学習
バッチ 推論 シミュレータ デプロイサイクル • 開始から終了まで10時間ほど要する • 学習など、ステップ単位でも1時間以上要するものも • BigQuery や GCS を含む複雑な依存関係 • 動作の保証だけでなく、精度も考慮する必要
Mobility Technologies Co., Ltd. MLシステムにおけるテストの難しさ 20 精度テスト - 最新 develop
image で定期実行 - 10時間ほど要する - プロダクションと同条件のデータ - 精度の面は監視・通知によってカバー - 問題なければ本番環境にデプロイ 動作テスト - ローカルもしくは CI で実行するテスト - 30分ほど要する - 最小限のダミーデータを用いる - 精度やデータノイズは一切見ない - パスすれば開発環境まで自動デプロイ
Mobility Technologies Co., Ltd. 動作テスト 21 Github + CircleCI +
PyTest によるテスト運用 • 運用ルール: PR を出す時は最低限テストをパスさせる • develop ブランチにマージされたら、 CI で最新イメージをビルド ◦ 開発環境 Airflow に自動デプロイ ◦ 精度含めたテストはパイプラインの定期実行で検知 ローカル開発環境 Push PyTest Job Deploy Job ※develop branch のみ ※全 branch Hook Composer Image Hash
Mobility Technologies Co., Ltd. 動作テスト 22 • 基本的にパイプラインの流れを最低限のデータで再現 • CircleCI
上での実行時間は30分弱 統計値作成 前処理 学習 バッチ推論 ※最小限のデータで実行 AI Platform は使わずローカルリソースで
Mobility Technologies Co., Ltd. Pytestの設計 23 • Setup/Teardown で一時データセットやバケットを用意 テスト実行ごとにハッシュ値を用意し、
BQ や GCS 上で被りがないように
Mobility Technologies Co., Ltd. Test MLOps まとめ 24 1. 動作テスト
- 開発サイクルにおけるテスト - Github + CircleCI + PyTestで最小限データと実行時間で動作確認 2. 精度テスト - 開発パイプラインにおけるテスト - 最新 develop branch に自動追従させ、定期実行 - 精度面は監視運用で検証
Mobility Technologies Co., Ltd. Validation MLOps 04 25
Mobility Technologies Co., Ltd. MLシステムにおける精度検証の難しさ 26 学習データのノイズや時期性 モデル精度の経年悪化 テストデータのノイズ等 正しい精度評価ができない
精度が悪いモデルを本番デプロイ 経路、UXに悪影響 検証項目
Mobility Technologies Co., Ltd. デプロイフローにおける精度検証 27 RMSE (Root Mean Squared
Error) • 道路ごとに、ある時間枠で何台のタクシーが通るか → 供給 • 道路ごとに、ある時間枠で何回の乗車が発生するか → 需要 • これらを2つのモデルで予測しており、その誤差を見る シミュレーション結果 • バッチ推論の結果を用いた経路に従うと、どれだけの営収となるか
Mobility Technologies Co., Ltd. デプロイフローにおける精度検証 28 統計値 作成 前処理 学習
バッチ 推論 BQの一時テーブルを利用して平均値がおかしな値でないかを確認 閾値は少し緩めだが、多段なので許容 統計値の Validation シミュレータ
Mobility Technologies Co., Ltd. デプロイフローにおける精度検証 29 学習したMLモデルが 検証データに対する RMSE が統計値よりも悪ければ弾く
学習時の Validation 統計値 作成 前処理 学習 バッチ 推論 シミュレータ
Mobility Technologies Co., Ltd. デプロイフローにおける精度検証 30 テストデータに対する RMSE がプロファイルよりも悪ければ弾く バッチ推論時の
Validation テストデータに対する RMSE が統計値よりも悪ければ弾く Monitoring で監視し、ここで弾かれたらアラートを飛ばす バッチ推論時の Validation 統計値 作成 前処理 学習 バッチ 推論 シミュレータ
Mobility Technologies Co., Ltd. デプロイフローにおける精度検証 31 統計値 作成 前処理 学習
バッチ 推論 シミュレータ シミュレーション結果が現行モデルを超えていなければ弾く シミュレータの Validation
Mobility Technologies Co., Ltd. Validation MLOps まとめ 32 1. モデルデプロイ時には多段Validation
- データ異常値によるモデルと統計値のズレを想定する - デプロイ時には多段Validationで精度を担保 - デプロイフローを1週毎に実施することで精度劣化を防ぐ
Mobility Technologies Co., Ltd. Deploy MLOps 05 33
Mobility Technologies Co., Ltd. • 手動デプロイと自動デプロイの選択 ◦ 手動にすれば質の悪いモデルデプロイは防げるが、人的コストがかか る ◦
自動デプロイの場合は、リリース時の精度担保をどうするか • 障害等により時間内にモデル推論が終わらなかった際のfallback • デプロイ後のモデル精度を監視する仕組み MLシステムにおけるデプロイ周りの難しさ 34
Mobility Technologies Co., Ltd. • 前項で話したとおり、デプロイ前に4段のValidationでモデル/統計値の精度 面チェックは実施済み • そのためValidation通過済みのモデルに関しては自動デプロイをしてもよい という判断へ
• その分、デプロイ後の精度監視を強化していく 自動デプロイ 35
Mobility Technologies Co., Ltd. 統計値によるフォールバック 36 デプロイ対象 • 推論結果が一定時間更新されない際、統計値を基にした経路が引かれる •
つまり推論パイプラインが止まっても、ナビは機能する(重要) • しかし推論を基にした経路のほうがシミュレーション営収が良い 場合がほとんど モデル推論バケット 推論パイプライン (5分ごと) 統計値バケット 経路生成API アップロード デプロイパイプライン (週ごと) アップロード 直近30分の結果があれば 推論データを参照
Mobility Technologies Co., Ltd. 統計値によるフォールバック 37 デプロイ対象 • 推論結果が一定時間更新されない際、統計値を基にした経路が引かれる •
つまり推論パイプラインが止まっても、ナビは機能する(重要) • しかし推論を基にした経路のほうがシミュレーション営収が良い 場合がほとんど モデル推論バケット 推論パイプライン (5分ごと) 統計値バケット 経路生成API 停止 デプロイパイプライン (週ごと) アップロード 直近30分の結果がなければ 統計値を参照
Mobility Technologies Co., Ltd. デプロイ済みモデルの精度劣化監視 38 評価パイプライン(1日1回) • 直近1日の推論結果を Ground
Truth (実際のログ)を用いて評価 • 推論 RMSE と統計値 RMSE をカスタム指標として Monitoring に送信 • 推論結果が統計値よりも悪かった場合にアラート発火 評価パイプライン (日ごと) カスタム指標 送信 Monitoring 精度が 悪ければ
Mobility Technologies Co., Ltd. Deploy MLOps まとめ 39 1. 統計値でシステム担保
- MLリアルタイム推論の停止前提に統計値でフォールバック 2. 監視パイプラインで事後精度の担保 - モデル推論が統計値よりも悪かった場合は通知 - 通知が続いた場合は、異常値などによるモデル精度劣化を検証
Mobility Technologies Co., Ltd. まとめ 06 40
Mobility Technologies Co., Ltd. 人的リソースの削減 • 枯れたMLシステムとなると、システム担保のための定常的なエンジニア工数削減が 重要になる • テスト、精度検証、デプロイ、監視まわりでしきい値や担保したい精度を定義すること
で、ほとんどのMLシステムは自動化が可能 まとめ 41
Mobility Technologies Co., Ltd. Appendix 42 お客様探索ナビのアルゴリズムやMLOps全般については DeNA TechConでの登壇資料をご覧ください https://www.slideshare.net/dena_tech/mov-mlops
https://www.slideshare.net/dena_tech/dena-techcon-2019- 132196217
Mobility Technologies Co., Ltd. 技術全般 Twitter @mot_techtalk Thank You! We
Are Hiring! 43 AI関連 Twitter @mot_ai_tech
confidential 文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Mobility Technologies Co., Ltd. 44