Slide 1

Slide 1 text

受託分析屋がKubeflow を使って思うこと 2018/9/26 Kubeflow Meetup #1 (Cloud Native Meetup Tokyo #5) Taketoshi Kazusa @tkazusa

Slide 2

Slide 2 text

自己紹介 • 上総 虎智 Taketoshi Kazusa • Github: tkazusa / Twitter: @tkazusa • BrainPad Inc. 分析官 • 最近のおもちゃ Kubeflow 0.1

Slide 3

Slide 3 text

自己紹介 • 上総 虎智 Taketoshi Kazusa • Github: tkazusa / Twitter: @tkazusa • BrainPad Inc. 分析官 • 最近のおもちゃ

Slide 4

Slide 4 text

今日のお題 KubeCon CloudNativeCon Europe 2018

Slide 5

Slide 5 text

今日のお題

Slide 6

Slide 6 text

今日のお題

Slide 7

Slide 7 text

Continuous integration & deployment of models • Every night my model is automatically retrained on my latest logs • If the new model is better it is automatically pushed into production

Slide 8

Slide 8 text

MLシステム継続的デプロイこんな感じ? アプリケーション エンジニア データサイエンティスト MLエンジニア Experiment Jobs (Training) ML Service Services App image ML Training image ユーザー ・data ・model ・config Storage k8a k8a Container Repository

Slide 9

Slide 9 text

MLシステム継続的デプロイこんな感じ? Experiment Jobs (Training) ML Service Services App image ML Training image ・data ・model ・config Storage k8a k8a Container Repository アプリケーション エンジニア データサイエンティスト MLエンジニア ユーザー

Slide 10

Slide 10 text

MLシステム継続的デプロイこんな感じ? Experiment Jobs (Training) ML Service Services App image ML Training image ・data ・model ・config Storage k8a k8a Container Repository アプリケーション エンジニア データサイエンティスト MLエンジニア ユーザー

Slide 11

Slide 11 text

なんか良さげ けど、これで全部いける?

Slide 12

Slide 12 text

Serving自動でいいんでしたっけ? Experiment Jobs (Training) ML Service Services App image ML Training image ・data ・model ・config Storage k8a k8a Container Repository アプリケーション エンジニア データサイエンティスト MLエンジニア ユーザー

Slide 13

Slide 13 text

ワンクッション挟みたくなる Experiment Jobs (Training) ML Service Services App image ML Training image ・data Storage k8a k8a ・メトリクスひとつじゃない ・セグメントごとの指標 ・機械学習の公平性 ・学習(実験)時の試行錯誤の 結果を一覧で見たい ・model ・config Serving model ・model ・config ・model ・config Container Repository アプリケーション エンジニア データサイエンティスト MLエンジニア ユーザー

Slide 14

Slide 14 text

ワンクッション挟みたくなる アプリケーション エンジニア データサイエンティスト MLエンジニア Experiment Jobs (Training) ML Service Services App image ML Training image ユーザー ・data Storage k8a k8a ・メトリクスひとつじゃない ・セグメントごとの指標 ・機械学習の公平性 ・Train時の試行錯誤の結果を 一覧で見たい ・model ・config Serving model ・model ・config ・model ・config Experiment Management

Slide 15

Slide 15 text

ワンクッション挟みたくなる アプリケーション エンジニア データサイエンティスト MLエンジニア Experiment Jobs (Training) ML Service Services App image ML Training image ユーザー ・data Storage k8a k8a ・メトリクスひとつじゃない ・セグメントごとの指標 ・機械学習の公平性 ・Train時の試行錯誤の結果を 一覧で見たい ・model ・config Serving model ・model ・config ・model ・config IntegrateされるTFMA 一瞬、話題になったCometML 話題にすらならいmlflow

Slide 16

Slide 16 text

TensorFlow Model Analysis (TFMA) • モデルをデプロイする場合に必要な評価を探索的にも行える • ああ

Slide 17

Slide 17 text

Experiment management tools • いつ、だれが、どのスクリプト、どんなハイパラで学習させて、ど んな評価になったのか?が一覧性を持って管理したい • なんなら、必要に応じて検索できて欲しい

Slide 18

Slide 18 text

Experiment management tools • いつ、だれが、どのスクリプト、どんなハイパラで学習させて、ど んな評価になったのか?が一覧性を持って管理できる • 必要に応じて検索ができる

Slide 19

Slide 19 text

Experiment management tools • いつ、だれが、どのスクリプト、どんなハイパラで学習させて、ど んな評価になったのか?が一覧性を持って管理できる • 必要に応じて検索ができる Katibでいける? 大嶋さんに聞き たくなった。

Slide 20

Slide 20 text

Experiment management tools • いつ、だれが、どのスクリプト、どんなハイパラで学習させて、ど んな評価になったのか?が一覧性を持って管理できる • 必要に応じて検索ができる デ、データ。。。

Slide 21

Slide 21 text

Experiment management tools • いつ、だれが、どのスクリプト、どんなハイパラで学習させて、ど んな評価になったのか?が一覧性を持って管理できる • 必要に応じて検索ができる

Slide 22

Slide 22 text

欲しくない? 僕は欲しい。

Slide 23

Slide 23 text

人間挟んでServingで終わり? アプリケーション エンジニア データサイエンティスト MLエンジニア Experiment Jobs (Training) ML Service Services App image ML Training image ユーザー ・data Storage k8a k8a ・model ・config Serving model ・model ・config ・model ・config Container Repository

Slide 24

Slide 24 text

Serveし終わったモデルってどうしてる? アプリケーション エンジニア データサイエンティスト MLエンジニア Experiment Jobs (Training) ML Service Services App image ML Training image ユーザー ・data Storage k8a k8a ・model ・config Serving model ・model ・config ・model ・config Serving model Serving model Serving model ・モデルの挙動に対する説明責任 ・機械学習の公平性 ・再現性の担保 ・過去のモデル/データ/コ ンフィグの版管理 Container Repository

Slide 25

Slide 25 text

過去に作ってServeしたモデルってどうしてる? アプリケーション エンジニア データサイエンティスト MLエンジニア Experiment Jobs (Training) ML Service Services App image ML Training image ユーザー ・data Storage k8a k8a ・model ・config Serving model ・model ・config ・model ・config Serving model Serving model Serving model ・モデルの挙動に対する説明責任 ・機械学習の公平性 ・再現性の担保 ・過去のモデル/データ/コ ンフィグの版管理 Model Management

Slide 26

Slide 26 text

過去に作ってServeしたモデルってどうしてる? アプリケーション エンジニア データサイエンティスト MLエンジニア Experiment Jobs (Training) ML Service Services App image ML Training image ユーザー ・data Storage k8a k8a ・model ・config Serving model ・model ・config ・model ・config Serving model Serving model Serving model ・モデルの挙動に対する説明責任 ・機械学習の公平性 ・再現性の担保 ・過去のモデル/データ/コ ンフィグの版管理 まだない?

Slide 27

Slide 27 text

試行錯誤中。

Slide 28

Slide 28 text

まとめ • “Continuous integration & deployment of models“をシンプルに実 装できるならまじ良さげ • けど、毎日再学習&良ければPushが最適解じゃ無い場合もある • Experiment ManagementやModel Management、Model Analysis に期待しているけど、まだもうちょっと先になるのかな • もしくは他のツールとの組み合わせ?試行錯誤中

Slide 29

Slide 29 text

ありがとうございました http://www.brainpad.co.jp/recruit/ 株式会社ブレインパッドの採用情報見て下さい

Slide 30

Slide 30 text

参考情報 • https://schd.ws/hosted_files/kccnceu18/d4/Kubeflow_Deep_Dive.pdf • https://medium.com/tensorflow/introducing-tensorflow-model- analysis-scaleable-sliced-and-full-pass-metrics-5cde7baf0b7b • https://www.mlflow.org/docs/latest/tracking.html#tracking-ui