MOV お客さま探索ナビの
GCP ML開発フローについて
鈴木 隆史
AI本部 AIシステム部 MLエンジニアリンググループ
株式会社ディー・エヌ・エー
自己紹介
鈴木 隆史 | Takashi Suzuki
AI本部 AIシステム部 MLエンジニアリンググループ
前職では新卒でITメガベンチャーに入社し、サーバーサイドエンジニアとしてゲーム開発と
ビッグデータを活用したサービス分析をリード。
その後、大規模データ基盤の新規構築と運用保守などのデータエンジニアリング業務と、レ
コメンドアルゴリズムの設計開発やチャットボット開発などのMLエンジニアリング業務に
従事していた。
2019年にDeNAに入社し、オートモーティブ事業における機械学習の実験基盤やパイプライ
ンの設計開発を行っている。
2
アジェンダ
3
サービス
システム概要
ML開発フロー
1
2
3
まとめ4
サービス
4
1
タクシー配車アプリ MOV
5
お客さま探索ナビ
6
この車両にとって
最適な走行経路は何か?
システム概要
7
2
全体システム構成
8
9
コンポーネント概要
リアルタイム
データ処理
● 車両データのETL
● DWH
● データ前処理
需要供給予測
● 特徴量作成
● MLモデル予測
走行ルート推薦
● 最適方策の獲得
● 全体最適化
リアルタイム需要供給予測
10
直近の乗車数
周辺の乗車数
各種統計量
MLモデル
直後30分に発生
する乗車数
ML開発フロー
11
3
本番環境
● 推論パイプライン
● モデル精度監視
12
ML開発フロー
実験環境
● 分析/モデル開発
● 実験管理
CI/CD
本番環境
● 推論パイプライン
● モデル精度監視
13
ML開発フロー
実験環境
● 分析/モデル開発
● 実験管理
CI/CD
分析/モデル開発における課題
14
01
セキュアなクラウド環境
権限・証跡がきちんと管理され
ローカルPC以上に快適に
メンバーと共有しやすい環境
02
学習時のスケール
一番メモリを必要とするモデル学習時に
他タスクに影響ないように
スケールする環境
ユーザ認証Jupyter環境
● GKE構築でセキュア(SSL、IP制限)でスケールしやすい
● 個人認証(Cloud IAP)をサポート
● Notebookを共有しやすい
v.s. Datalab
● セキュア要件への柔軟さ
● 起動の速さ
セキュアなクラウド環境:JupyterHub
15
フルマネージド学習基盤
● 1分単位の起動時間課金
● Dockerカスタムイメージの学習をサポート
● ジョブ実行までidle timeが発生する
v.s. GKE
● 柔軟なインスタンス変更
● クラスタ作成不要の手軽さ
学習時のスケール:AI Platform Training Job
16
AI Platform
本番環境
● 推論パイプライン
● モデル精度監視
17
ML開発フロー
実験環境
● 分析/モデル開発
● 実験管理
CI/CD
実験管理における課題
18
01
各実験パラメータの管理
複数モデルの実験を行うため各実験のパラメータ管理が必要
comet.ml
- 豊富な視覚化/比較
- ハイパラ探索
- コード管理
- Git Integration
- 有料
各実験パラメータの管理
19
mlflow
- 視覚化/比較
- 簡易ハイパラ探索
- 無料
BigQuery
- 視覚化はDataPortal
- リストはDataConnector
- カスタムしやすい
本番環境
● 推論パイプライン
● モデル精度監視
20
ML開発フロー
実験環境
● 分析/モデル開発
● 実験管理
CI/CD
CI/CDにおける課題
21
01
コードの再現性
データサイエンティストから
MLエンジニアに渡された
コード・モデルの実行/再現の
担保
02
ロールバック
新しいモデルにバグが
あった場合の
以前のモデルに切り戻
したいとき
03
モデルのテスト
パイプラインに反映する前の
簡易な動作テストと
小規模データの検証テスト
コード・モデルの再現性
● コミュニケーションギャップの解消
● 再現性の担保
● GKEやTraining Jobのコンテナで利用しやすい
モデルのロールバック
● DockerのImage Tag/Digestでversion管理
● 切り戻す際には以前のImageへ
再現性とロールバック:Docker I/F
22
動作・検証テスト
● 時間の関係でCircleCIでチェックするのは動作・検証テストのみ
● 小規模データでモデルの有効性と実装エラーを検証
● 本番条件での連携と評価テストは専用Invoke
モデルの簡易テスト:pytest
23
本番環境
● 推論パイプライン
● モデル精度監視
24
ML開発フロー
実験環境
● 分析/モデル開発
● 実験管理
CI/CD
02
冪等性担保
パイプラインの再実行などにより
データ重複やモデルの精度ズレが
発生しないようにする
推論パイプラインにおける課題
25
01
複雑な依存関係
学習に利用する各種特徴量の作成と
データの前処理や推論や評価など
一連の依存関係を担保
マネージドAirflow
● 複雑な依存関係定義によりヒューマンエラー防止
● 冪等性なJob実行により再現性を担保
● 定期的にJobを実行してモデルを更新
● 重い処理はGKEやTraining Jobを利用
v.s. Kubeflow Pipeline
● 途中Jobから再実行可能
● 外部トリガー・外部リソースの利用が容易
● 評価指標は管理できない
パイプラインにおける課題:Cloud Composer
26
Cloud
Composer
本番環境
● 推論パイプライン
● モデル精度監視
27
ML開発フロー
実験環境
● 分析/モデル開発
● 実験管理
CI/CD
モデル精度監視における課題
28
01
モデルの経年劣化
日々変化するタクシー需要トレンドに追従して
新しいデータでモデルを再学習させ、精度をモニタリングしたい
モデル推論の精度を監視
● モデルの定期更新はComposerで担保
● モデル精度をカスタムメトリックでMonitoring
● ベースモデルと比較して悪ければ通知
モデルの経年劣化:Stackdriver Monitoring
29
Stackdriver
Monitoring
まとめ
30
4
MLOpsの立ち位置
● 業務ごとに専門性が増し、生産性向上のために分業化が進むと、個々人が把握できる
コンポーネントは減ってしまう
● 再現性の担保、依存関係の管理、精度やエラー監視する仕組みなどのMLOpsを事前
に準備することで、技術的負債を減らすことができる
● チームごとの課題を把握し、予めI/Fや方針を握っておくことが重要
大事にしていること
31
本説明会及び説明資料の内容は、発表日時点で入手可能な情報や判断に基づくも
のです。将来発生する事象等により内容に変更が生じた場合も、当社が更新や変更
の義務を負うものではありません。
また、本説明会及び説明資料に含まれる将来の見通しに関する部分は、多分に
不確定な要素を含んでいるため、実際の業績等は、さまざまな要因の変化等により、
これらの見通しと異なる場合がありますことをご了承ください。
株式会社ディー・エヌ・エー
32

MOV お客さま探索ナビの GCP ML開発フローについて

Editor's Notes

  • #7 乗車予測を立てることで空車となる時間を短縮し、歩合制の契約が多いタクシー運転手の収入を安定させる