SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Introduction to Argo
Kubeflow meetup #1 @hurutoriya 2018/09/26
今日のお話
● Speaker::自分
I am a 機械学習エンジニア not SRE
● Audience::皆様
○ 機械学習システム構築の困難性に直面した経験
○ k8s チョットデキル
$ whoami
● 上田隼也 :: @hurutoriya
● 株式会社メルカリ 機械学習エンジニア
● Machine Learning Casual Talks Co-Organizer
● https://shunyaueta.com/
最近の発表
機械学習システム構築に立ちはだかる壁
● 継続的再学習 (Continuous Learning)
● システムに必ずヒトが介在する (Human-in-the-loop)
● データは不変の存在ではない (Data is mutable)
引用 : Hidden Technical Debt in Machine Learning Systems (NIPS2015)
Kubeflow
● kubernetes 上で動く機械学習ツールキット
○ Goal: End to End の機械学習システムを提供
● Current Ver. : 0.2 (2018.12.16 に1.0リリース予定)
○ Simple : 数々の機能を Kubeflow上で提供
○ Portable : k8sが動く場所ならどこでも動く
○ Scalable : k8sの機能を使ってスケーラビリティも担保
Kubeflow overview
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 TFMA
TFDVT
Argoの守備範囲
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)
Argo: container-native workflows for Kubernetes
● ver. 2.2.0 (2018-08-30)
● コンテナネイティブなワークフローエンジン
○ 各ジョブはPodにより実行
● k8sのクラスター上で実行可能 (k8s 1.9 later)
● argo-ui: ワーク風呂のダッシュボードを提供
argo/readme
Workflow engine on ML System
● Argo, Airflow, Digdag
● データの前処理に関係する複雑なパイプラインの乱立
○ e.g. BigQuery→Proprocessing→Learning→Serving
○ グルーコード、設定ファイルの発生
● タスクスケジューリング
○ 継続的にモデルを学習させる
■ e.g. 一ヶ月ごとに値段推定のモデルを更新させたい
■ 時系列データを扱うモデルには必須
Container as a Package
● 同一処理をデータに依存せずに使いたい
■ e.g. データは異なるが、処理は同一
画像の特徴ベクトル
DeepFeature3
文章の特徴ベクトル
TF-IDF, word2vec
スタッキング
アンサンブル
データ α データ β
Validation
精度監視
環境依存性があるものをコンテナとして隔離
● Case: このパッケージを使いたいけど、環境依存が強くて組み
込めない..
○ コンテナを使うことで、環境依存性を隔離・隠蔽
● e.g.
Apache Beamの影響でPython2でのみ動くTFXを隔離実行
Go, R, Julias, Rust を使いたいなど(用法・容量は適切に)
Optimized Resource Allocation for workflow
● パイプラインは各段階により要求するスペックが異なる
● 各処理に必要十分なリソースを割り当てる
学習時:GPUモリモリ
推論時:CPUモリモリ (安価)
前処理
画像 or 文章
モデルの学習 推論
Argo: workflow
● 処理ごとにパラメータの変更可能
● CPU, Memoryをresourcesで設定可能
● データの共有が可能 (k8sのPVを利用)
● CI, CD 可能ですか?
● 定期実行 (開発中のArgo Eventsで実行可能)
○ k8s CronJob でも代用可能?
Argo: Basic Usage
● Features
○ DAG or Step based declaration of workflow
○ Artifact support
○ Step level input & outputs, ….more and more!
● argo: workflow
○ argo-ci
○ argo-cd
○ argo-events
Argo: Continuous Delivery
● argoproj/argo-cd: 宣言的かつGitOpsな継続的開発ツール
● v0.9.1
● ksonnet, kustomize, helm, etc.
● Pull Requestからデプロイ
Argo: Continuous Delivery
Argo: Continuous Integration
● argoproj/argo-ci: argoが提供するCIツール
● v1.0 alpha
● 現状 Github を通したCIが提供されている
● Automatically run each push/pull request.
● Github Webhook handler
Argo: Events
● argoproj/argo-events:スケジューリング・イベントトリガー
● v. 0.5-beta1
● Sensor: signals, triggers を包括する概念
○ signals: 駆動方法
■ Stream, Artifact, Calendar, Resource, Webhook.
○ triggers: 実行方法
■ inline, file, url.
まとめ
● Container as a package
● 各モジュールをコンテナとして隔離可能
● Resource allocation for ML Components
● Argo
○ k8sの実装なのでk8sと親和性が高い
○ ワークフローを宣言的に書ける
○ Dashboardに限界が見える?
○ まだまだ発展途上...
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
● Machine Learning Platform meetup
● Argo によるコンテナネイティブなデータパイプラインのワークフロー管理

Más contenido relacionado

La actualidad más candente

PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...Preferred Networks
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術Preferred Networks
 
Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03Yaboo Oyabu
 
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)Yaboo Oyabu
 
Feature StoreをRustで実装した話
Feature StoreをRustで実装した話Feature StoreをRustで実装した話
Feature StoreをRustで実装した話emakryo
 
[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-Deep Learning JP
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSSyusuke shibui
 
JAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポート
JAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポートJAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポート
JAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポートDaisuke Nagao
 
LightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision treeLightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision treeYusuke Kaneko
 
Machine learning microservice_management
Machine learning microservice_managementMachine learning microservice_management
Machine learning microservice_managementyusuke shibui
 
2012 1203-researchers-cafe
2012 1203-researchers-cafe2012 1203-researchers-cafe
2012 1203-researchers-cafeToshiya Komoda
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programmingKiyotomoHiroyasu
 
ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングなおき きしだ
 
JAWS FESTA 2018 OSAKA AHAB
JAWS FESTA 2018 OSAKA AHABJAWS FESTA 2018 OSAKA AHAB
JAWS FESTA 2018 OSAKA AHAB陽平 山口
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話y-uti
 
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]DeNA
 
輪講_Sakiyama_20170601
輪講_Sakiyama_20170601輪講_Sakiyama_20170601
輪講_Sakiyama_20170601pflab
 
20171128分散深層学習とChainerMNについて
20171128分散深層学習とChainerMNについて20171128分散深層学習とChainerMNについて
20171128分散深層学習とChainerMNについてPreferred Networks
 

La actualidad más candente (20)

PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
How to Schedule Machine Learning Workloads Nicely In Kubernetes #CNDT2020 / C...
 
20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術20180729 Preferred Networksの機械学習クラスタを支える技術
20180729 Preferred Networksの機械学習クラスタを支える技術
 
Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03Google Cloud AI の紹介 @ GCPUG Nara #03
Google Cloud AI の紹介 @ GCPUG Nara #03
 
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)
機械学習プロジェクトにおける Cloud AI Platform の使い方 (2018-11-19)
 
Feature StoreをRustで実装した話
Feature StoreをRustで実装した話Feature StoreをRustで実装した話
Feature StoreをRustで実装した話
 
[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-[DLHacks]Comet ML -機械学習のためのGitHub-
[DLHacks]Comet ML -機械学習のためのGitHub-
 
Jawsug hpc #2_reinvent2015
Jawsug hpc #2_reinvent2015Jawsug hpc #2_reinvent2015
Jawsug hpc #2_reinvent2015
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSS
 
JAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポート
JAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポートJAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポート
JAWS-UG HPC #2 LT 資料 NVIDIA GTC Japan 2015 レポート
 
LightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision treeLightGBM: a highly efficient gradient boosting decision tree
LightGBM: a highly efficient gradient boosting decision tree
 
Machine learning microservice_management
Machine learning microservice_managementMachine learning microservice_management
Machine learning microservice_management
 
2012 1203-researchers-cafe
2012 1203-researchers-cafe2012 1203-researchers-cafe
2012 1203-researchers-cafe
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programming
 
ぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニングぼくの実装した最弱のディープラーニング
ぼくの実装した最弱のディープラーニング
 
JAWS FESTA 2018 OSAKA AHAB
JAWS FESTA 2018 OSAKA AHABJAWS FESTA 2018 OSAKA AHAB
JAWS FESTA 2018 OSAKA AHAB
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
 
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
 
輪講_Sakiyama_20170601
輪講_Sakiyama_20170601輪講_Sakiyama_20170601
輪講_Sakiyama_20170601
 
20171128分散深層学習とChainerMNについて
20171128分散深層学習とChainerMNについて20171128分散深層学習とChainerMNについて
20171128分散深層学習とChainerMNについて
 

Similar a Introduction to argo

タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたTetsutaro Watanabe
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速するKohei KaiGai
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2Preferred Networks
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)RCCSRENKEI
 
kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14swkagami
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜京大 マイコンクラブ
 
加藤先生ご講演資料_20210824
加藤先生ご講演資料_20210824加藤先生ご講演資料_20210824
加藤先生ご講演資料_20210824直久 住川
 
技術系大学におけるGPU教育の一試行
技術系大学におけるGPU教育の一試行技術系大学におけるGPU教育の一試行
技術系大学におけるGPU教育の一試行智啓 出川
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会Kimikazu Kato
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄Yukio Saito
 
2015年度GPGPU実践基礎工学 第8回 並列計算の概念 (プロセスとスレッド)
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
2015年度GPGPU実践基礎工学 第8回 並列計算の概念 (プロセスとスレッド)智啓 出川
 
20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_HistoryKohei KaiGai
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介Yasuhiro Matsuo
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析Akinori Abe
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門Yosuke Onoue
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化Kazunori Sato
 
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界Shingo Kitayama
 

Similar a Introduction to argo (20)

タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみたタクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
タクシードライブレコーダーの動画処理MLパイプラインにkubernetesを使ってみた
 
(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する(JP) GPGPUがPostgreSQLを加速する
(JP) GPGPUがPostgreSQLを加速する
 
20130126 sc12-reading
20130126 sc12-reading20130126 sc12-reading
20130126 sc12-reading
 
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
続・PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜 #2
 
第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)第1回 配信講義 計算科学技術特論A (2021)
第1回 配信講義 計算科学技術特論A (2021)
 
kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14
 
プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜プログラムを高速化する話Ⅱ 〜GPGPU編〜
プログラムを高速化する話Ⅱ 〜GPGPU編〜
 
加藤先生ご講演資料_20210824
加藤先生ご講演資料_20210824加藤先生ご講演資料_20210824
加藤先生ご講演資料_20210824
 
GTC Japan 2017
GTC Japan 2017GTC Japan 2017
GTC Japan 2017
 
技術系大学におけるGPU教育の一試行
技術系大学におけるGPU教育の一試行技術系大学におけるGPU教育の一試行
技術系大学におけるGPU教育の一試行
 
2012-03-08 MSS研究会
2012-03-08 MSS研究会2012-03-08 MSS研究会
2012-03-08 MSS研究会
 
45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄45分で理解する 最近のスパコン事情 斉藤之雄
45分で理解する 最近のスパコン事情 斉藤之雄
 
2015年度GPGPU実践基礎工学 第8回 並列計算の概念 (プロセスとスレッド)
2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)2015年度GPGPU実践基礎工学 第8回 並列計算の概念(プロセスとスレッド)
2015年度GPGPU実践基礎工学 第8回 並列計算の概念 (プロセスとスレッド)
 
20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History20221116_DBTS_PGStrom_History
20221116_DBTS_PGStrom_History
 
AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介AWSとGPUインスタンスのご紹介
AWSとGPUインスタンスのご紹介
 
OCaml でデータ分析
OCaml でデータ分析OCaml でデータ分析
OCaml でデータ分析
 
Yapc::Asia_2012
Yapc::Asia_2012Yapc::Asia_2012
Yapc::Asia_2012
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
 
FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化FPGAによる大規模データ処理の高速化
FPGAによる大規模データ処理の高速化
 
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
【OpenStackDaysTokyo】4-B1-3 自動化を支えるCICDパイプラインの世界
 

Más de Shunya Ueta

Introducing "Challenges and research opportunities in eCommerce search and re...
Introducing "Challenges and research opportunities in eCommerce search and re...Introducing "Challenges and research opportunities in eCommerce search and re...
Introducing "Challenges and research opportunities in eCommerce search and re...Shunya Ueta
 
Auto Content Moderation in C2C e-Commerce at OpML20
Auto Content Moderation in C2C e-Commerce at OpML20Auto Content Moderation in C2C e-Commerce at OpML20
Auto Content Moderation in C2C e-Commerce at OpML20Shunya Ueta
 
How to evaluate & manage machine learning model #daft
How to evaluate & manage machine learning model  #daftHow to evaluate & manage machine learning model  #daft
How to evaluate & manage machine learning model #daftShunya Ueta
 
How to break the machine learning system barrier ?
How to break the machine learning system barrier ?How to break the machine learning system barrier ?
How to break the machine learning system barrier ?Shunya Ueta
 
TFX: A tensor flow-based production-scale machine learning platform
TFX: A tensor flow-based production-scale machine learning platformTFX: A tensor flow-based production-scale machine learning platform
TFX: A tensor flow-based production-scale machine learning platformShunya Ueta
 
Applied machine learning at facebook a datacenter infrastructure perspective...
Applied machine learning at facebook  a datacenter infrastructure perspective...Applied machine learning at facebook  a datacenter infrastructure perspective...
Applied machine learning at facebook a datacenter infrastructure perspective...Shunya Ueta
 
C-IMAGE: city cognitive mapping through geo-tagged photos 解説
C-IMAGE: city cognitive mapping through geo-tagged photos 解説C-IMAGE: city cognitive mapping through geo-tagged photos 解説
C-IMAGE: city cognitive mapping through geo-tagged photos 解説Shunya Ueta
 
Self-turning Spectral Clustering (NIPS2004)
Self-turning Spectral Clustering (NIPS2004)Self-turning Spectral Clustering (NIPS2004)
Self-turning Spectral Clustering (NIPS2004)Shunya Ueta
 
Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)
Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)
Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)Shunya Ueta
 
Detecting Research Topics via the Correlation between Graphs and Texts
 Detecting Research Topics via the Correlation between Graphs and Texts Detecting Research Topics via the Correlation between Graphs and Texts
Detecting Research Topics via the Correlation between Graphs and TextsShunya Ueta
 
Fast normalized cut with linear constraint (CVPR2009)
Fast normalized cut with linear constraint (CVPR2009)Fast normalized cut with linear constraint (CVPR2009)
Fast normalized cut with linear constraint (CVPR2009)Shunya Ueta
 
"Spectral graph reduction for efficient image and streaming video segmentatio...
"Spectral graph reduction for efficient image and streaming video segmentatio..."Spectral graph reduction for efficient image and streaming video segmentatio...
"Spectral graph reduction for efficient image and streaming video segmentatio...Shunya Ueta
 
コミュニティサイトを爆速で作成し、お手軽に運用する方法
コミュニティサイトを爆速で作成し、お手軽に運用する方法コミュニティサイトを爆速で作成し、お手軽に運用する方法
コミュニティサイトを爆速で作成し、お手軽に運用する方法Shunya Ueta
 

Más de Shunya Ueta (13)

Introducing "Challenges and research opportunities in eCommerce search and re...
Introducing "Challenges and research opportunities in eCommerce search and re...Introducing "Challenges and research opportunities in eCommerce search and re...
Introducing "Challenges and research opportunities in eCommerce search and re...
 
Auto Content Moderation in C2C e-Commerce at OpML20
Auto Content Moderation in C2C e-Commerce at OpML20Auto Content Moderation in C2C e-Commerce at OpML20
Auto Content Moderation in C2C e-Commerce at OpML20
 
How to evaluate & manage machine learning model #daft
How to evaluate & manage machine learning model  #daftHow to evaluate & manage machine learning model  #daft
How to evaluate & manage machine learning model #daft
 
How to break the machine learning system barrier ?
How to break the machine learning system barrier ?How to break the machine learning system barrier ?
How to break the machine learning system barrier ?
 
TFX: A tensor flow-based production-scale machine learning platform
TFX: A tensor flow-based production-scale machine learning platformTFX: A tensor flow-based production-scale machine learning platform
TFX: A tensor flow-based production-scale machine learning platform
 
Applied machine learning at facebook a datacenter infrastructure perspective...
Applied machine learning at facebook  a datacenter infrastructure perspective...Applied machine learning at facebook  a datacenter infrastructure perspective...
Applied machine learning at facebook a datacenter infrastructure perspective...
 
C-IMAGE: city cognitive mapping through geo-tagged photos 解説
C-IMAGE: city cognitive mapping through geo-tagged photos 解説C-IMAGE: city cognitive mapping through geo-tagged photos 解説
C-IMAGE: city cognitive mapping through geo-tagged photos 解説
 
Self-turning Spectral Clustering (NIPS2004)
Self-turning Spectral Clustering (NIPS2004)Self-turning Spectral Clustering (NIPS2004)
Self-turning Spectral Clustering (NIPS2004)
 
Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)
Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)
Semi-Supervised Learning Using Gaussian Fields and Harmonic Functions (ICML2003)
 
Detecting Research Topics via the Correlation between Graphs and Texts
 Detecting Research Topics via the Correlation between Graphs and Texts Detecting Research Topics via the Correlation between Graphs and Texts
Detecting Research Topics via the Correlation between Graphs and Texts
 
Fast normalized cut with linear constraint (CVPR2009)
Fast normalized cut with linear constraint (CVPR2009)Fast normalized cut with linear constraint (CVPR2009)
Fast normalized cut with linear constraint (CVPR2009)
 
"Spectral graph reduction for efficient image and streaming video segmentatio...
"Spectral graph reduction for efficient image and streaming video segmentatio..."Spectral graph reduction for efficient image and streaming video segmentatio...
"Spectral graph reduction for efficient image and streaming video segmentatio...
 
コミュニティサイトを爆速で作成し、お手軽に運用する方法
コミュニティサイトを爆速で作成し、お手軽に運用する方法コミュニティサイトを爆速で作成し、お手軽に運用する方法
コミュニティサイトを爆速で作成し、お手軽に運用する方法
 

Introduction to argo

  • 1. Introduction to Argo Kubeflow meetup #1 @hurutoriya 2018/09/26
  • 2. 今日のお話 ● Speaker::自分 I am a 機械学習エンジニア not SRE ● Audience::皆様 ○ 機械学習システム構築の困難性に直面した経験 ○ k8s チョットデキル
  • 3. $ whoami ● 上田隼也 :: @hurutoriya ● 株式会社メルカリ 機械学習エンジニア ● Machine Learning Casual Talks Co-Organizer ● https://shunyaueta.com/
  • 5. 機械学習システム構築に立ちはだかる壁 ● 継続的再学習 (Continuous Learning) ● システムに必ずヒトが介在する (Human-in-the-loop) ● データは不変の存在ではない (Data is mutable) 引用 : Hidden Technical Debt in Machine Learning Systems (NIPS2015)
  • 6. Kubeflow ● kubernetes 上で動く機械学習ツールキット ○ Goal: End to End の機械学習システムを提供 ● Current Ver. : 0.2 (2018.12.16 に1.0リリース予定) ○ Simple : 数々の機能を Kubeflow上で提供 ○ Portable : k8sが動く場所ならどこでも動く ○ Scalable : k8sの機能を使ってスケーラビリティも担保
  • 7. Kubeflow overview 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 TFMA TFDVT
  • 8. Argoの守備範囲 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)
  • 9. Argo: container-native workflows for Kubernetes ● ver. 2.2.0 (2018-08-30) ● コンテナネイティブなワークフローエンジン ○ 各ジョブはPodにより実行 ● k8sのクラスター上で実行可能 (k8s 1.9 later) ● argo-ui: ワーク風呂のダッシュボードを提供 argo/readme
  • 10. Workflow engine on ML System ● Argo, Airflow, Digdag ● データの前処理に関係する複雑なパイプラインの乱立 ○ e.g. BigQuery→Proprocessing→Learning→Serving ○ グルーコード、設定ファイルの発生 ● タスクスケジューリング ○ 継続的にモデルを学習させる ■ e.g. 一ヶ月ごとに値段推定のモデルを更新させたい ■ 時系列データを扱うモデルには必須
  • 11. Container as a Package ● 同一処理をデータに依存せずに使いたい ■ e.g. データは異なるが、処理は同一 画像の特徴ベクトル DeepFeature3 文章の特徴ベクトル TF-IDF, word2vec スタッキング アンサンブル データ α データ β Validation 精度監視
  • 12. 環境依存性があるものをコンテナとして隔離 ● Case: このパッケージを使いたいけど、環境依存が強くて組み 込めない.. ○ コンテナを使うことで、環境依存性を隔離・隠蔽 ● e.g. Apache Beamの影響でPython2でのみ動くTFXを隔離実行 Go, R, Julias, Rust を使いたいなど(用法・容量は適切に)
  • 13. Optimized Resource Allocation for workflow ● パイプラインは各段階により要求するスペックが異なる ● 各処理に必要十分なリソースを割り当てる 学習時:GPUモリモリ 推論時:CPUモリモリ (安価) 前処理 画像 or 文章 モデルの学習 推論
  • 14. Argo: workflow ● 処理ごとにパラメータの変更可能 ● CPU, Memoryをresourcesで設定可能 ● データの共有が可能 (k8sのPVを利用) ● CI, CD 可能ですか? ● 定期実行 (開発中のArgo Eventsで実行可能) ○ k8s CronJob でも代用可能?
  • 15. Argo: Basic Usage ● Features ○ DAG or Step based declaration of workflow ○ Artifact support ○ Step level input & outputs, ….more and more! ● argo: workflow ○ argo-ci ○ argo-cd ○ argo-events
  • 16. Argo: Continuous Delivery ● argoproj/argo-cd: 宣言的かつGitOpsな継続的開発ツール ● v0.9.1 ● ksonnet, kustomize, helm, etc. ● Pull Requestからデプロイ
  • 18. Argo: Continuous Integration ● argoproj/argo-ci: argoが提供するCIツール ● v1.0 alpha ● 現状 Github を通したCIが提供されている ● Automatically run each push/pull request. ● Github Webhook handler
  • 19. Argo: Events ● argoproj/argo-events:スケジューリング・イベントトリガー ● v. 0.5-beta1 ● Sensor: signals, triggers を包括する概念 ○ signals: 駆動方法 ■ Stream, Artifact, Calendar, Resource, Webhook. ○ triggers: 実行方法 ■ inline, file, url.
  • 20. まとめ ● Container as a package ● 各モジュールをコンテナとして隔離可能 ● Resource allocation for ML Components ● Argo ○ k8sの実装なのでk8sと親和性が高い ○ ワークフローを宣言的に書ける ○ Dashboardに限界が見える? ○ まだまだ発展途上...
  • 21. 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 ● Machine Learning Platform meetup ● Argo によるコンテナネイティブなデータパイプラインのワークフロー管理