Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Kubeflowで何ができて何ができないのか #DEvFest18

12,550 views

Published on

2018/09/01 に発表した資料です。
GDG DevFest 18 Tokyo Machine Learning Session
site: https://tokyo2018.gdgjapan.org/ml
発表資料 Google Slide: https://docs.google.com/presentation/d/e/2PACX-1vQoGOjPBxkcPLnpRvI39OXbILRAu_Amea_Z9wvhs7pIH6bH5_KQFa4HIwYKGYU8w-x1C-0eiV-k9GCL/pub?start=false&loop=false&delayms=3000

Published in: Software
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... 1.DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Kubeflowで何ができて何ができないのか #DEvFest18

  1. 1. Kubeflowで何ができて何ができないのか?  上田隼也 @hurutoriya 2018/09/01
  2. 2. Outline 1. 機械学習システムの進化系譜 2. k8s ベースの機械学習ツールキット: Kubeflow 3. Kubeflowの現状と未来
  3. 3. $ whoami ● 上田隼也 :: @hurutoriya ● キカイガクシュウエンジニア ● Machine Learning Casual Talks Co-Organizer ● TFUG: @shuhei_fujiwara さんからお誘い ● https://shunyaueta.com/
  4. 4. 機械学習システムの進化系譜 Lv.1: 現場で耐えうる精度のモデルを作成する Lv.2: 機械学習をサービスインさせる Lv.3: 機械学習のモデルが連日連夜数百個走る...
  5. 5. 機械学習システムの進化系譜 Lv.1: 現場で耐えうる精度のモデルを作成する データが無いと死亡する とりあえず機械学習やりたい→即死 サービスが軌道に乗り、データを収集できる状態 → 機械学習適用のスタートライン
  6. 6. 機械学習システムの進化系譜 Lv.2: 機械学習をサービスインさせる 機械学習モデルができた後に立ちはだかる壁 引用 : Hidden Technical Debt in Machine Learning Systems (NIPS2015)
  7. 7. 機械学習システム構築に立ちはだかる壁 ● 継続的再学習 (Continuous Learning) ● システムに必ずヒトが介在する (Human-in-the-loop) ● データは不変の存在ではない (Data is mutable) 引用 : Hidden Technical Debt in Machine Learning Systems (NIPS2015)
  8. 8. 機械学習システムの進化系譜 Lv.2: 機械学習をサービスインさせる ● データ収集→特徴量抽出→データ検証 ● 各種ワークフロー管理 ● 推論結果のサービング環境 ● マシンリソース管理 ● モデルの精度トラッキング
  9. 9. 機械学習システムの進化系譜 Lv.2: 機械学習をサービスインさせる ● データ収集→特徴量抽出→データ検証 ● 各種ワークフロー管理 ● 推論結果のサービング環境 ● マシンリソース管理 ● モデルの精度トラッキング → やばい!! 一つの機械学習システムのコストが半端ない!!
  10. 10. 機械学習システムの進化系譜 Lv.3: 機械学習モデルが連日連夜数百個走る... Lv.2 である機械学習のサービスインの壁を取り払った世界 Google, Facebook, Uber, Airbnb, etc. 一例: Facebookの機械学習システムは、1日あたり合計200兆件以上の予測と、50億件を 超える翻訳を処理している。また同社のアルゴリズムは、毎日数百万件の偽アカウントを 自動的に削除しているという。 [引用]
  11. 11. 例) Facebookの機械学習基盤
  12. 12. Facebookにおける データ取得と実験結果管理
  13. 13. Lv.3 機械学習システムへの進化方法 ● 機械学習システムを量産可能な仕組みが必要 ● 機械学習基盤で解決 → Googleが提唱する概念 ● プロダクション運用までの時間が月単位から週単位へ ● TFXを使うことで Google Playのインストールが2% UP!! KDD Link here, KDD Video here, Paper Link here, Author Demo Video here .
  14. 14. Kubeflow ● kubernetes 上で動く機械学習ツールキット ○ Goal: End to End の機械学習システムを提供 ● Current Ver. : 0.2 (2018.12.16 に1.0リリース予定) ○ Simple : 数々の機能を Kubeflowで提供 ○ Portable : k8sが動く場所ならどこでも動く ○ Scalable : k8sの機能を使ってスケーラビリティも担保
  15. 15. High-level component overview of a machine learning platform.
  16. 16. High-level component overview of a machine learning platform. Focus
  17. 17. Workflow on Kubeflow Data Split Roll-out Serving Monitoring Logging Trainer Building a Model Model Validation Training at Scale Data ingestion Data Analysis Data Transfor- mation Data Validation Ref: Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google (Intermediate Skill Level)
  18. 18. Workflow on Kubeflow Data Split Roll-out Serving Monitoring Logging Trainer Building a Model Model Validation Training at Scale Data ingestion Data Analysis Data Transfor- mation Data Validation Ref: Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google (Intermediate Skill Level)
  19. 19. Argo: コンテナワークフローエンジン ● コンテナネイティブなワークフローエンジン ○ 各ジョブはポッドにより実行される ● CI, CDが可能 ● イベントトリガーが絶賛開発中 ○ スケジュールトリガー・定期実行はまだない...
  20. 20. Argo: コンテナワークフローエンジン
  21. 21. Argo: コンテナワークフローエンジン
  22. 22. Pachyderm: 複雑なデータパイプラインの管理 Data Split Roll-out Serving Monitoring Logging Trainer Building a Model Model Validation Training at Scale Data ingestion Data Analysis Data Transfor- mation Data Validation Ref: Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google (Intermediate Skill Level)
  23. 23. Jupyterhub: 協働可能なモデル作成 Data Split Roll-out Serving Monitoring Logging Trainer Building a Model Model Validation Training at Scale Data ingestion Data Analysis Data Transfor- mation Data Validation Ref: Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google (Intermediate Skill Level) Katib
  24. 24. Jupyterhub: 協働可能な Jupyter Notebook ● Data Scientist がモデル作成をNotebookで行う ● KubeflowではTensorFlowに分散学習基盤を提供 ○ Horovod & OpenMPIもサポート
  25. 25. ● CRD形式でTensorFlow以外のDeepLearningフレームワークの ジョブを実行可能 ○ Pytorch ○ Caffe2 ○ Chainer, etc. モデル: Pytorch, Caffe2, Chainer Operator
  26. 26. ● コンテナベースのハイパーパラメータチューニングツール ● Google Vizierと呼ばれるKDD2017で発表されたGoogleの ブラックボックス最適化の手法からインスパイア ● 特定のDLフレームワークに依存せずにチューニングが可能 a. Random b. Grid c. Hyperband d. Bayesian Optimization Katib: ハイパーパラメータチューニング
  27. 27. Katib: ハイパーパラメータチューニング
  28. 28. Serving: 推論結果をAPIとして提供 Data Split Roll-out Serving Monitoring Logging Trainer Building a Model Model Validation Training at Scale Data ingestion Data Analysis Data Transfor- mation Data Validation Ref: Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google (Intermediate Skill Level) TF Serving
  29. 29. ● TFモデルの推論結果をサービング TFの計算グラフで書かれたモデルを C++で書かれたシステムでデリバリー ● Django, Flaskは使わないんですか? ○ Pythonでのサービングはツラい.. ○ Googleが開発しているので期待大 TensorFlow Serving: 推論結果をサービング
  30. 30. ● 逆にTensorFlow Servingのツライところ ○ すべての処理をTensorFlowの 計算グラフに落とし込む必要がある ○ POCなら、Flaskが一番お手軽 ■ データのETLが楽 ■ scikit-learn 最高 TensorFlow Serving: 推論結果をサービング
  31. 31. ● 様々なパラダイムの推論結果をサービング ■ TF ■ Scikit-learn ■ R ■ Spark Seldon Core: マルチパラダイムのモデルをサポート
  32. 32. Overview of Kubeflow Data Split Roll-out Serving Monitoring Logging Trainer Building a Model Model Validation Training at Scale Data ingestion Data Analysis Data Transfor- mation Data Validation Ref: Kubeflow Deep Dive – David Aronchick & Jeremy Lewi, Google (Intermediate Skill Level) TF Serving Katib
  33. 33. Kubeflow Roadmap ● Ver. 1.0 (2018.12.16) ○ Demo: CI of Kubeflow ■ 新しいデータがロードされると継続的な学習 ■ モデル評価 ■ 良いモデルをプロダクションへロールアウト
  34. 34. Kubeflow Roadmap ● Ver. 1.0 (2018.12.16) ○ Demo: CI of Kubeflow ■ 新しいデータがロードされると継続的な学習 ■ モデル評価 ■ 良いモデルをプロダクションへロールアウト ほ、、、本当にできるんですか...?
  35. 35. Tensorflow Extend の世界がKubeflowに! ● Kubeflow0.2 ○ Adding TFX components TFMA & TFT !!! ■ TFXはTF Dev Summit 2018でOSS に!!
  36. 36. Kubeflow の(現状)ツライところ 基本的に発展途上なので、まだツラい ● k8sが辛い (現状ではあくまでPOC確認レベル) ● 各種ツールの学習コストが高い ● 0.2で各種コンポーネントが出揃ってきたが、歯抜け状態
  37. 37. Kubeflow への期待 コンテナベースの機械学習システムは新しいパラダイム ○ 特定の処理は同一だが、アプリケーション層が違うので重複 していた→コンテナベースなら分離して疎結合 ○ 各ワークフローで要求するスペックが全く違う ■ e.g. 画像認識ならGPU、テキストなら巨大なメモリ ■ 各処理をコンテナで分離 →マシンリソースの最適化 ○ Result: プロダクション投入までの高速化
  38. 38. Reference ● TFX: A TensorFlow-Based Production-Scale Machine Learning Platform ● Applied Machine Learning at Facebook: A Datacenter Infrastructure Perspective ● Introducing FBLearner Flow: Facebook’s AI backbone ● Machine Learning in Uber's Data Science Platforms ● Bighead: Airbnb’s End-to-End Machine Learning Platform ● Rules os ML: EN, JP ● Machine Learning Glossary by Google

×