MLflow + Kubeflow MLプラットフォーム事例 #sparktokyo

1.3K Views

June 12, 19

スライド概要

2019年4月末に行われたSpark+AI Summit 2019の参加報告会の資料です。

profile-image

2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

ML flow + ubeflow K 2019/06/12 Spark eetup Tokyo #1 ML プラットフォーム事例 M 桑折 慧 ヤフー株式会社 ( ) 1

2.

発表者 桑折 慧 ( R ei, @2k0 i) Webフロントエンド ⇢ 学⼠(映像学) ⇢ Webインフラ ⇢ データインフラ / インフラ ヤフー株式会社 データ統括本部 データプラットフォーム本部 KO I K r ML '17 4 ⽉ 中途⼊社 adoop 運⽤・⾃動化 adoop3 プロダクション導⼊ H H ML P latform on ubernetes K opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 検証・導⼊ 2

3.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/2 3

4.

紹介事例 ow to Utilize flow and ubernetes to uild an nterprise latform H E ML K B ML P KeynoteでMLflowの先⾏事例として登壇 Winning the udience with A AI : H opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C ow omcast uilt n gile ata nd i latform t Scale C B A A D A A P A 4

5.

1. 課題・要件 2. アーキテクチャ 3. コンポーネント 4. 開発フロー opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 5

6.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/4 6

7.

課題 ・ モデルの管理・評価のトラッキングができていない ・モデルのパッケージ・デプロイ⼿法が標準化できていない ・デプロイにコード修正が必要 ⇢ 数⽇〜数週間を要する ・応答速度の担保のためにモデルの複雑さに制約がある opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 7

8.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/5 8

9.

要件 ・デプロイにあたってコード修正が不要であること ・モデルの学習・性能評価が容易であること ・モデル作成者⾃⾝がデプロイできること ・プロダクション環境でモデルのA/Bテストが実施できること ・各ステップでカスタムメトリクスが追加できること opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 9

10.

1. 課題・要件 2. アーキテクチャ コンポーネント 4. 開発フロー 3. opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 10

11.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/14 11

12.

ML パイプラインの抽象化モデル ストリーム処理基盤とWebアプリケーション基盤の間を流れる データ処理コンポーネントを共通化 opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 12

13.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/16 13

14.

ストリーム処理基盤 (Spark) ↳ Produce ⇢ MQ C メッセージキュー ⇣ onsumer ( afka onsumer、 inesis onsumer etc) K C K C ⇣ Consume 前処理・変換 ( ⇣ O データ変換・学習 ne-hot エンコーディング、T F -IDF 重み付け etc) モデルオーケストレーション ( / テスト、多腕バンディット、アンサンブル etc) ⇣ モデル呼び出し A B Webアプリケーション基盤 ( ubernetes) K ⇣ Produce ... opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 14

15.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/6 15

16.

前処理、特徴量作成、学習 ⇢ pache Spark モデル管理、トラッキング ⇢ flow パッケージ、モデルサービング ⇢ ubeflow A ML K opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 16

17.

課題・要件 2. アーキテクチャ 1. 3. コンポーネント 4. 開発フロー opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 17

18.

ML flow: achine earning ifecycle latform A M L L P https://mlflow.org/ ML flow Tracking ソースコード、各種パラメータ、モデルを収集・記録するロガー ML U I flow rojects P モデル⽣成にかかるコード、パラメータのパッケージ規格 学習環境のポータビリティを担保 ML /API/ flow M (D ocker+ naconda) A odels Trackingで保存したモデルの共通パッケージ規格( odel ) Spark lib、T / eras、pyTorch、sklearn、 ython関数、R関数などに対応 M ML F K P モデルのサービングに向けたポータビリティを担保 https://mlflow.org/docs/latest/_static/MLflow-logo-final-black.png Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. API 18

19.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/22 19

20.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/24 20

21.

A rgo CD https://argoproj.github.io/ KubernetesへのGitOpsデリバリーツール からのWebHookを受け取り、Kubernetesマニフェストを更新 Kubeflowコンポーネントの反映・更新 GitHub/GHE https://github.com/argoproj/argo/raw/master/argo.png Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 21

22.

Seldon ore C https://www.seldon.io/open-source/ ML モデルへのR E ST/gR PC API の付加、パッケージ、オーケストレーション 、 、 、 等に加えて flow odel に対応 推論のA/Bテスティング、バンディット、アンサンブル等の担保 現状では flow odelsに⽐べてカスタムメトリクス追加が容易なためこちらでパッケ ージング T eras pyTorch XGBoost sklearn F/K ML ML M API M https://github.com/SeldonIO/seldon-core/raw/master/doc/source/seldon.png Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. 22

23.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/20 23

24.

Ambassador https://www.getambassador.io/ L 7 API E ゲートウェイ nvoy ベース スケーリング、ロードバランシング、 ut A h / Z、 N ACL 制御などを付加 モデルサービングの応答性能・可⽤性を担保 性能要件からくるモデルサイズの制約から脱却 ocustロードテスト⇢ ris classifierで630~800 Reqs/sec/ L I https://github.com/datawire/ambassador/raw/master/docs/doc-images/ambassador-logo.svg Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. od ( W P H 構成⾮公表) 24

25.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/30 25

26.

課題・要件 2. アーキテクチャ 3. コンポーネント 1. 4. 開発フロー opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 26

27.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/26 27

28.

上でモデル開発、学習 flowで学習の評価・トラッキング 1. Databricks Spark 2. ML 2.5: atabricks ⇢ it ub nterprise リポジトリ同期 D 3. 最善の G E を rgo に記述・更新 から ockerイメージを更新 からSeldon oreを更新 ML 4. Argo CD 5. Argo CD H flow ackage P CD D opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C A C 28

29.

https://www.slideshare.net/databricks/how-to-utilize-mlflow-and-kubernetes-to-build-an-enterprise-ml-platform/28 29

30.

2.5: atabricks ⇢ it ub nterprise間は 制約のため独⾃にソースコードを同 期 ・コードの差分を rgo に同期 ・ flow odel の更新がなければ学習を実⾏ ・ flow odel のタグに変更があれば rgo appを更新・デプロイ D G A ML M API ML M API H E ACL CD 差分のJIRAチケットを作成 A ⇢ opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C 30

31.

ppendix: 開発画⾯キャプチャ ローカル開発時には の onsumer/ roducer odをテストデータでモック ubernetes on ocker for acにコンポーネント⼀式+上記 odをデプロイ ubeflow同梱の rafanaでメトリクス監視 A MQ K K D C P M MQ P G opyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved. C P 31

32.

https://youtu.be/cDtzu4WBzWA 32

33.

https://youtu.be/cDtzu4WBzWA 33

34.

https://youtu.be/cDtzu4WBzWA 34

35.

https://youtu.be/cDtzu4WBzWA 35

36.

https://youtu.be/cDtzu4WBzWA 36

37.

https://youtu.be/cDtzu4WBzWA 37

38.

https://youtu.be/cDtzu4WBzWA 38