Upgrade to Pro — share decks privately, control downloads, hide ads and more …

先駆者に学ぶ MLOpsの実際

fetaro
August 21, 2020

先駆者に学ぶ MLOpsの実際

「MLOpsとはなにか?」という質問に対し、「データサイエンティストが、システム開発において、やらないことすべて」と定義した上で、MLOpsの説明、海外事例、「JapanTaxi」アプリでの事例を説明します

fetaro

August 21, 2020
Tweet

More Decks by fetaro

Other Decks in Technology

Transcript

  1. Mobility Technologies Co., Ltd.
    第1回 MLOps 勉強会 Tokyo
    先駆者に学ぶMLOpsの実践
    株式会社 Mobility Technologies
    渡部 徹太郎/齋藤 智輝
    2020/8/21

    View Slide

  2. Mobility Technologies Co., Ltd.
    2
    1. MLOpsとは
    Agenda
    3.到着時間予想PJにおけるMLOpsの実践
    2.海外事例紹介「MLOps NYC 19」

    View Slide

  3. Mobility Technologies Co., Ltd.
    MLOpsとは
    1
    3

    View Slide

  4. Mobility Technologies Co., Ltd.
    ⾃⼰紹介
    4
    ID :fetaro
    名前:渡部 徹太郎
    学生:東京工業大学でデータベースと情報検索の研究
    (@日本データベース学会)
    職歴:
    * 野村総合研究所(NRI)
    - オンライントレードシステム基盤
    - オープンソース技術部隊
    * リクルートテクノロジーズ
    - ビッグデータ分析基盤
    * Mobility Technologies
    - データエンジニア
    エディタ:emacs派→ InteliJ派
    趣味:麻雀、自宅サーバ
    著書

    View Slide

  5. Mobility Technologies Co., Ltd.
    MLOpsとは、システム開発において、
    データサイエンティストがやらないこと全て
    MLOpsとは
    5
    と定義して発表を続けます

    View Slide

  6. Mobility Technologies Co., Ltd.
    データサイエンティストがやること
    6
    n例:商品レコメンド
    ID 性別 年齢 ⽬的
    変数
    xxx ⼥ 20 … A
    yyy 男 30 … B
    特徴量⽣成
    データベース or CSV
    元データ
    推論モデル
    の実装
    学習
    データ
    { 0.1, 0.5, 0.4, …. , 1}
    { 0.1, 0.6, 0.6, …. , 0}
    推論
    モデル
    論⽂
    抽出
    推定済み
    モデル
    学習
    評価⽤
    データ
    精度 論⽂

    View Slide

  7. Mobility Technologies Co., Ltd.
    MLOpsがやること その1 環境整備・成果物管理
    7
    ID 性別 年齢 ⽬的
    変数
    xxx ⼥ 20 … A
    yyy 男 30 … B
    特徴量⽣成
    データウェアハウス
    元データ
    推論モデル
    の実装
    学習
    データ
    { 0.1, 0.5, 0.4, …. , 1}
    { 0.1, 0.6, 0.6, …. , 0}
    推論
    モデル
    論⽂
    抽出
    推定済み
    モデル
    学習
    評価⽤
    データ
    精度 論⽂
    データの準備
    アノテーションツール準備
    データの
    バージョン管理
    データの
    バージョン管理
    計算リソースの準備
    (GPU等)
    開発ツール準備
    ソースコード管理
    n データサイエンティストが研究開発するための環境を準備する。
    n また、実験の結果を管理する仕組みを準備するよよりよい。

    View Slide

  8. Mobility Technologies Co., Ltd.
    n 素晴らしい精度が出て、いよいよ本番システムに組み込む事が決まった。
    n しかし、本番データを⽤いたモデル推定には多くのやることがある。
    n データサイエンティストの成果物は、
    ⼊⼒が「データウェアハウス」で出⼒が「推定済みモデル」のバッチ処理コンポーネントとみなせる
    MLOpsがやること その2 本番データでのモデル推定
    8
    データ
    ウェア
    ハウス
    MLバッチ
    モデル これを本番システムに組み込む

    View Slide

  9. Mobility Technologies Co., Ltd.
    MLOpsがやること その2 本番データでのモデル推定
    9
    分析システム
    事業システム
    Webサイト
    ユーザ
    データ収集 データ
    レイク
    事業
    DB
    データ
    ウェア
    ハウス
    データ
    整備
    ML
    バッチ モデル
    アイテム
    検索・購⼊
    ログ
    nモデルを作るためには、事業システムからデータを収集しMLコンポーネントに
    渡す全体を作る必要がある
    n モデル推定のための計算リソースの確保(GPU等)も必要
    nこのシステムを運⽤し続ける必要がある。
    レポジトリ
    モデル
    保存

    View Slide

  10. Mobility Technologies Co., Ltd.
    n モデルができても、会社は1円も儲からない。利益向上につなげるためにはユーザにおすすめ商
    品を提⽰する必要がある
    n 推論APIを作る必要がある
    n ⼤量の負荷に耐えられるように分散処理は⽋かせない
    MLOpsがやること その3 推論結果のシステムへの組み込み
    分析システム
    事業システム
    Webサイト
    ユーザ
    推論API
    商品レコメ
    ンド枠
    レポジトリ
    モデル
    モデル
    推論API
    モデル
    推論API
    モデル
    ロードバランサ
    リリース
    管理
    リリース
    オンライ
    ンリクエ
    スト
    リリース
    ページアクセス
    おすすめ商品
    10

    View Slide

  11. Mobility Technologies Co., Ltd.
    nおすすめ商品を出して終わりではない
    n本当に効果があるのか?今でも効果があるのか効果のモニタリングが必要
    n レコメンドした場合としていない場合で⽐較(ABテスト)
    MLOpsがやること その4 効果モニタリング
    11
    分析システム
    可視化
    ツール
    事業システム
    推論
    API
    Web
    サイ

    ⾏動ログ
    購買ログ
    3.おすすめ商品
    1.カスタマの⾏動
    4.その後の⾏動 5.記録
    2.記録
    レコメンドあり
    レコメンドなし
    6.アラート
    データ
    ウェア
    ハウス
    ユーザ
    管理者
    精度レポート

    View Slide

  12. Mobility Technologies Co., Ltd.
    MLOpsとは、システム開発において、
    データサイエンティストがやらないこと全て
    MLOpsとは
    12
    たくさんやることがある
    参考資料
    JapanTaxiにおけるMLOps 〜機械学習の開発運⽤プロセス〜
    h"ps://www.slideshare.net/tetsutarowatanabe/japantaximl-ops
    JapanTaxiにおけるSagemaker+αによる機械学習アプリケーションの本番運⽤
    h"ps://www.slideshare.net/tetsutarowatanabe/japantaxisagemaker
    図解即戦⼒ビッグデータ分析システムのシステムと開発がしっかりわかる教科書
    h"ps://www.amazon.co.jp/dp/B07ZV863GY/ref=dp-kindle-redirect?_encoding=UTF8&btkr=1

    View Slide

  13. Mobility Technologies Co., Ltd.
    海外事例紹介
    「MLOps NYC 19」
    2
    13

    View Slide

  14. Mobility Technologies Co., Ltd.
    n 著名なStrata Data Conferenceの近くの会場で開催されたカンファレンス
    n 間違いなくStrataの参加者を取り込もうと狙ったカンファレンス
    n セッションは1並列だが、著名な企業の発表が多く内容の濃いカンファレンスだった
    n Uber, Netflix, Twitter, Walmart, Nike, New York Times, Google, Microsoft, Twitter, NVIDIA, Payoneer, Iguazio
    n 参加費は約$300
    「MLOps NYC 19」 にいってきました。
    14
    動画:https://www.youtube.com/playlist?list=PLH8M0UOY0uy6d_n3vEQe6J_gRBUrISF9m

    View Slide

  15. Mobility Technologies Co., Ltd.
    nモデル⽣成は全体のほんの⼀部
    Uberの発表
    15
    バッチデータ
    収集
    ストリーム
    データ収集
    特徴量
    ストア
    ディープラーニングによる
    モデル⽣成
    バッチ
    推論
    リアルタイム
    推論
    データレイク
    に書き戻し
    クライアント
    サービスに
    予測結果表⽰

    View Slide

  16. Mobility Technologies Co., Ltd.
    nMLプロジェクトの60%〜80%がプロダ
    クションにならずに頓挫している
    n 連携不⾜
    n IT担当、エンジニア、データ、そしてデータサ
    イエンスのチームの連携不⾜
    n データサイエンティストがエンジニアリングの
    知識不⾜
    n ビジネスの理解を得られない
    n データの品質が不明瞭
    n ビジネスとの握りが曖昧
    n ビジネスへの説明不⾜
    n MLのOps(運⽤)の難しさ
    n データサイエンティストが書いたコードは本番
    には採⽤できない
    n データのETLにかなり苦労する
    Walmartの発表
    16
    n3つのゴールデンルールを作った
    1. なぜ重要なのか?
    n だれかがそれに⾦を払うか
    n 「Cool」なプロダクトはいらない
    2. 説明できるか?
    n ビジネスの⾔葉で説明できるか
    3. 実装できるか?
    n 本番化する計画は明瞭か

    View Slide

  17. Mobility Technologies Co., Ltd.
    n MLのプロジェクト
    n データ探索(〜2週間)
    n プロトタイピング(6〜8週間)
    n 本番化 (12〜14週間)
    n リリース後のモデル更新 (〜8週間)
    n 課題
    n プロトタイピング、本番化、リリース後
    のモデル更新に時間がかかる
    n 解決法
    n 独⾃フレームワーク「Metaflow」の導⼊
    n Metaflowは以下の開発スタック全体を
    ラッピングしてくれる
    Netflixの発表
    17
    Metaflow

    View Slide

  18. Mobility Technologies Co., Ltd.
    nStrataカンファレンスの求⼈ボード
    データサイエンティスト並にデータエンジニアの求⼈が多い
    18

    View Slide

  19. Mobility Technologies Co., Ltd.
    ⽶国でも同じ悩みを抱えていており、
    データエンジニアの求⼈が増えている
    海外事例のまとめ
    19
    詳しくはこちらの資料も御覧ください
    MLOps NYC 19 & Strata Data Conference 2019 NewYork 注⽬セッションまとめ
    h"ps://www.slideshare.net/tetsutarowatanabe/ml-ops-nyc-19-strata-data-conference-2019-newyork-203911948

    View Slide

  20. Mobility Technologies Co., Ltd.
    到着時間予想PJにおける
    MLOpsの実践
    3
    20

    View Slide

  21. Mobility Technologies Co., Ltd.
    nID
    n @tstomoki
    n名前
    n 齋藤智輝
    n学⽣
    n 東京⼤学(学部・⼤学院)で船の研究をしていました
    n職歴
    n ヤフー株式会社
    n ナレッジパネルの開発
    n ユーザ位置情報を⽤いた研究開発
    n 株式会社バンク
    n 機械学習モデルの開発・導⼊
    n Mobility Technologies株式会社
    n AI技術開発部 アルゴリズムグループ
    ⾃⼰紹介
    21
    nエディタ
    n Emacs => Atom => Emacs + PyCharm
    n役割
    データサイエンティスト

    データエンジニア

    View Slide

  22. Mobility Technologies Co., Ltd.
    Mobility Technologiesとは
    22
    配⾞関連事業
    広告決済事業 乗務員向けソリューション事業
    DRIVE CHART・ドラレコ事業 次世代向けR&D事業
    Coming soon !!

    View Slide

  23. Mobility Technologies Co., Ltd.
    到着時間予測システム概要・⽤途
    23
    n「JapanTaxi」アプリや乗務員⽤端末、探⾞の際に機械学習モデルを使⽤
    乗務員向けアプリ
    X分
    探⾞範囲の算出
    (X分で到着できる⾞両に配⾞依頼)
    ユーザ向けアプリ

    View Slide

  24. Mobility Technologies Co., Ltd.
    nABテストなどによる効果検証
    n ユーザアプリ⽤API
    n 1%程度のキャンセル率低下
    n 乗務員⽤API
    n 20%以上の配⾞率増加
    到着時間予測システム効果検証
    24

    • キャンセル率
    • ユーザが注⽂した後、タクシーが到着する前にキャンセルしてしまう割合
    • 配⾞率
    • 注⽂に対して実際にタクシーを呼べた割合
    (近くにタクシーがいない、乗務員が了承してくれない場合に低下)

    View Slide

  25. Mobility Technologies Co., Ltd.
    データサイエンティストの担当プロセス
    25
    データマート
    特徴量
    変換⽤データ
    学習データ
    特徴量
    モデル構築⽤
    データ
    学習
    データ作成 モデル作成 Jupyter Notebookなどを
    データエンジニアにパス
    モデル評価

    View Slide

  26. Mobility Technologies Co., Ltd.
    26
    データマート
    特徴量
    変換⽤データ
    学習データ
    特徴量
    モデル構築⽤
    データ
    モデル作成
    データウェアハウス
    - ⾞両位置
    - 注⽂情報, etc.
    データ変換

    学習
    データ作成
    ② ③ ④
    モデル評価
    Google BigQuery
    Python Script
    Amazon S3
    Amazon SageMaker
    データエンジニアの担当プロセス (データ準備)

    View Slide

  27. Mobility Technologies Co., Ltd.
    データエンジニアの担当プロセス (成果物の管理)
    27
    - 推論⽤スクリプト
    - モデル構造
    - weights, etc.
    モデル成果物
    Google BigQuery
    Python Script
    Amazon S3
    Amazon SageMaker
    データマート
    特徴量
    変換⽤データ
    学習データ
    特徴量
    モデル構築⽤
    データ
    モデル作成
    データウェアハウス
    - ⾞両位置
    - 注⽂情報, etc.
    データ変換

    学習
    データ作成

    モデル成果物
    - 推論⽤スクリプト
    - モデル構造
    - weights, etc.
    ③ ④
    モデル評価
    モデル評価結果
    - 評価⽤⼊⼒
    - 評価ログ
    モデル評価結果
    - 評価サマリ
    - 評価詳細

    View Slide

  28. Mobility Technologies Co., Ltd.
    データエンジニアの担当プロセス (評価の可視化・判断)
    28
    - 推論⽤スクリプト
    - モデル構造
    - weights, etc.
    モデル成果物
    データマート
    特徴量
    変換⽤データ
    学習データ
    特徴量
    モデル構築⽤
    データ
    モデル作成
    データウェアハウス
    - ⾞両位置
    - 注⽂情報, etc.
    データ変換

    学習
    データ作成

    モデル成果物
    - 推論⽤スクリプト
    - モデル構造
    - weights, etc.
    ③ ④
    モデル評価
    モデル評価結果
    - 評価⽤⼊⼒
    - 評価ログ
    モデル評価結果
    - 評価サマリ
    - 評価詳細
    リリース
    判断
    リリース

    Google BigQuery
    Python Script
    Amazon S3
    Amazon SageMaker

    View Slide

  29. Mobility Technologies Co., Ltd.
    nサービスで参照できるも準備
    データエンジニアの担当プロセス(オンライン処理部分)
    29
    モデルエンドポイント
    ML Endpoint
    Gateway
    特徴量変換
    推論コンテナ
    Response
    App Server
    Request
    Amazon API Gateway
    Amazon Lambda
    Amazon SageMaker
    リリース

    View Slide

  30. Mobility Technologies Co., Ltd.
    データエンジニアの担当プロセス(リリース後の監視)
    30
    モデルエンドポイント
    Gateway
    特徴量変換
    推論コンテナ
    Request
    Response
    システム監視
    - エラー
    - リソース 利⽤率(CPU, Memory, Disk)
    - Model Latency, etc.
    ログ
    ログ
    App Server
    ※ ⾮常時に
    アラート送出
    ログ
    精度の詳細な可視化
    ML Endpoint
    Amazon API Gateway
    Amazon Lambda
    Amazon SageMaker
    Amazon CloudWatch
    Amazon Simple
    Notification Service
    nリリース後の監視システムまでを担当

    View Slide

  31. Mobility Technologies Co., Ltd.
    n機械学習モデルをサービスで運⽤するにはやることが多い
    n データサイエンティストがやらないこと全て(MLOpsの定義)
    n 定常的にモデル精度やヘルスチェックの必要性
    n本番⽤コードの品質維持
    n データサイエンティストが書いたコードは本番には採⽤できない
    n システムが落ちないような考え(エラーハンドリングなど)
    nサイエンティストの負担軽減
    n データサイエンティストが全て⾏うのは複雑、時間がかかる
    n データサイエンティストの負担を軽減することでより効率的な開発が可能
    まとめ
    31

    View Slide

  32. ⽂章·画像等の内容の無断転載及び複製等の⾏為はご遠慮ください。
    Mobility Technologies Co., Ltd.
    32
    仲間募集中!

    View Slide