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. ⾃⼰紹介 4 ID :fetaro 名前:渡部 徹太郎

    学生:東京工業大学でデータベースと情報検索の研究 (@日本データベース学会) 職歴: * 野村総合研究所(NRI) - オンライントレードシステム基盤 - オープンソース技術部隊 * リクルートテクノロジーズ - ビッグデータ分析基盤 * Mobility Technologies - データエンジニア エディタ:emacs派→ InteliJ派 趣味:麻雀、自宅サーバ 著書
  2. 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} 推論 モデル 論⽂ 抽出 推定済み モデル 学習 評価⽤ データ 精度 論⽂
  3. 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 また、実験の結果を管理する仕組みを準備するよよりよい。
  4. Mobility Technologies Co., Ltd. n 素晴らしい精度が出て、いよいよ本番システムに組み込む事が決まった。 n しかし、本番データを⽤いたモデル推定には多くのやることがある。 n データサイエンティストの成果物は、

    ⼊⼒が「データウェアハウス」で出⼒が「推定済みモデル」のバッチ処理コンポーネントとみなせる MLOpsがやること その2 本番データでのモデル推定 8 データ ウェア ハウス MLバッチ モデル これを本番システムに組み込む
  5. Mobility Technologies Co., Ltd. MLOpsがやること その2 本番データでのモデル推定 9 分析システム 事業システム

    Webサイト ユーザ データ収集 データ レイク 事業 DB データ ウェア ハウス データ 整備 ML バッチ モデル アイテム 検索・購⼊ ログ nモデルを作るためには、事業システムからデータを収集しMLコンポーネントに 渡す全体を作る必要がある n モデル推定のための計算リソースの確保(GPU等)も必要 nこのシステムを運⽤し続ける必要がある。 レポジトリ モデル 保存
  6. Mobility Technologies Co., Ltd. n モデルができても、会社は1円も儲からない。利益向上につなげるためにはユーザにおすすめ商 品を提⽰する必要がある n 推論APIを作る必要がある n

    ⼤量の負荷に耐えられるように分散処理は⽋かせない MLOpsがやること その3 推論結果のシステムへの組み込み 分析システム 事業システム Webサイト ユーザ 推論API 商品レコメ ンド枠 レポジトリ モデル モデル 推論API モデル 推論API モデル ロードバランサ リリース 管理 リリース オンライ ンリクエ スト リリース ページアクセス おすすめ商品 10
  7. Mobility Technologies Co., Ltd. nおすすめ商品を出して終わりではない n本当に効果があるのか?今でも効果があるのか効果のモニタリングが必要 n レコメンドした場合としていない場合で⽐較(ABテスト) MLOpsがやること その4

    効果モニタリング 11 分析システム 可視化 ツール 事業システム 推論 API Web サイ ト ⾏動ログ 購買ログ 3.おすすめ商品 1.カスタマの⾏動 4.その後の⾏動 5.記録 2.記録 レコメンドあり レコメンドなし 6.アラート データ ウェア ハウス ユーザ 管理者 精度レポート
  8. 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
  9. 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
  10. Mobility Technologies Co., Ltd. nモデル⽣成は全体のほんの⼀部 Uberの発表 15 バッチデータ 収集 ストリーム

    データ収集 特徴量 ストア ディープラーニングによる モデル⽣成 バッチ 推論 リアルタイム 推論 データレイク に書き戻し クライアント サービスに 予測結果表⽰
  11. 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 本番化する計画は明瞭か
  12. 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
  13. 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
  14. 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役割 データサイエンティスト 兼 データエンジニア
  15. Mobility Technologies Co., Ltd. nABテストなどによる効果検証 n ユーザアプリ⽤API n 1%程度のキャンセル率低下 n

    乗務員⽤API n 20%以上の配⾞率増加 到着時間予測システム効果検証 24 ※ • キャンセル率 • ユーザが注⽂した後、タクシーが到着する前にキャンセルしてしまう割合 • 配⾞率 • 注⽂に対して実際にタクシーを呼べた割合 (近くにタクシーがいない、乗務員が了承してくれない場合に低下)
  16. Mobility Technologies Co., Ltd. データサイエンティストの担当プロセス 25 データマート 特徴量 変換⽤データ 学習データ

    特徴量 モデル構築⽤ データ 学習 データ作成 モデル作成 Jupyter Notebookなどを データエンジニアにパス モデル評価
  17. Mobility Technologies Co., Ltd. 26 データマート 特徴量 変換⽤データ 学習データ 特徴量

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

    モデル構造 - weights, etc. モデル成果物 Google BigQuery Python Script Amazon S3 Amazon SageMaker データマート 特徴量 変換⽤データ 学習データ 特徴量 モデル構築⽤ データ モデル作成 データウェアハウス - ⾞両位置 - 注⽂情報, etc. データ変換 ① 学習 データ作成 ② モデル成果物 - 推論⽤スクリプト - モデル構造 - weights, etc. ③ ④ モデル評価 モデル評価結果 - 評価⽤⼊⼒ - 評価ログ モデル評価結果 - 評価サマリ - 評価詳細
  19. Mobility Technologies Co., Ltd. データエンジニアの担当プロセス (評価の可視化・判断) 28 - 推論⽤スクリプト -

    モデル構造 - weights, etc. モデル成果物 データマート 特徴量 変換⽤データ 学習データ 特徴量 モデル構築⽤ データ モデル作成 データウェアハウス - ⾞両位置 - 注⽂情報, etc. データ変換 ① 学習 データ作成 ② モデル成果物 - 推論⽤スクリプト - モデル構造 - weights, etc. ③ ④ モデル評価 モデル評価結果 - 評価⽤⼊⼒ - 評価ログ モデル評価結果 - 評価サマリ - 評価詳細 リリース 判断 リリース ⑤ Google BigQuery Python Script Amazon S3 Amazon SageMaker
  20. Mobility Technologies Co., Ltd. nサービスで参照できるも準備 データエンジニアの担当プロセス(オンライン処理部分) 29 モデルエンドポイント ML Endpoint

    Gateway 特徴量変換 推論コンテナ Response App Server Request Amazon API Gateway Amazon Lambda Amazon SageMaker リリース ⑤
  21. 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リリース後の監視システムまでを担当
  22. Mobility Technologies Co., Ltd. n機械学習モデルをサービスで運⽤するにはやることが多い n データサイエンティストがやらないこと全て(MLOpsの定義) n 定常的にモデル精度やヘルスチェックの必要性 n本番⽤コードの品質維持

    n データサイエンティストが書いたコードは本番には採⽤できない n システムが落ちないような考え(エラーハンドリングなど) nサイエンティストの負担軽減 n データサイエンティストが全て⾏うのは複雑、時間がかかる n データサイエンティストの負担を軽減することでより効率的な開発が可能 まとめ 31