SlideShare a Scribd company logo
2018-07-13
NTT ソフトウェアイノベーションセンタ
大嶋悠司
KubeFlow/Katib
ハイパーパラメータチューニング
自己紹介
大嶋 悠司 @overs_5121
NTT ソフトウェアイノベーションセンタ
OSS活動が主な業務の1つ
• GoBGP(ソフトウェアBGPルータ)
• Docker
• Docker/Infrakit (メンテナ)
• KubeFlow/Katib (オーナー/Approver)
Katibとは https://github.com/kubeflow/katib
• KubeFlowコミュニティが開発するプロジェクトの1つ
https://schd.ws/hosted_files/kccnceu18/d4/Kubeflow_Deep_Dive.pdf
Please star!
Inspired by Google Vizier(A Service for Black-Box Optimization)
[D. Golovin, B. Solnik et al. 2017]
● Googleが社内のBorg(Kubernetesの前身)前提に作ったシステムを参考
● 様々なタスクのハイパーパラメータチューニングを共通化
Katib
ちなみに
Katib:
‫ ﻛﺎﺗب‬アラビア語で書記官,秘書
元となったGoogle Vizierはアラビア語で宰相
Katib
パラメータ作るよ!
Suggestion = パラメータ作る
監視してダメそうな
やつ止めるよ
APIサーバだよ!
パラメータの範囲な
どのコンフィグ
Start Study
Client がKatib API を使ってタスクをスタート
______
______
______
Early Stopping
Early Stopping
Workers
Early Stopping
Early Stopping
Workers
Suggestion service 定義された空間からパラメータを生成
パラメータ生成
各パラメータを評価する Workerを起動
Suggestion
Suggestion要求
Early Stopping
Early Stopping
Workers
EarlyStopping Service が各ワーカを監視し,アルゴリズムに基づいて止
めるワーカを決定
ワーカを監視
見込みのないワーカを早期終了
EarlyStopping
How to use
Katib ManagerClient
Call GRPC APIs
• Create Study
• GetSuggestions
• RunTrials
• GetMetrics
K8s API Server
ハイパーパラメータを埋め込んだ学
習用のPodを生成
Get Logs
name: mnist-demo
owner: oshima
optimizationtype: 2
optimizationgoal: 0.99
parameterconfigs:
configs:
- name: --lr
parametertype: 1
feasible:
min: "0.01"
max: "0.03"
- name: --num-layers
…
サポートされているアルゴリズム
• Suggestion
• Random
• Grid
• HyperBand [L. Li, K. Jamieson et al.]
• Bayesian Optimization [E. Brochu, V. Cora et al.]
• EarlyStopping
• MedianStopping [D. Golovin, B. Solnik et al.]
全コンポーネントがKubernetesのdeployment, service として定義される
Katibはなにが優れているか
Manager
Random
Service
Random
Deploy
Random
Deploy
Random
Deploy
バックエンドのスケールが容易
Suggestion要求
全コンポーネントがKubernetesのdeployment, service として定義される
Katibはなにが優れているか
Manager
Random
Service
Random
Deploy
タスク実行中
Another
Service
Another
Deploy
サービスの追加・削除が他に影響を与えない
Katibコンセプト
• k8sと連携して大規模並列に評価
• パラメータチューニングのアルゴリズム自体のテストも容易に
• スケーラブルに
• 共通基盤として頑健に
Katib Manager
Suggestion
Service
EarlyStopping
Service
Katib DB
MySQL
Create/Get Resources
• Study
• Trial
• Worker
• ServiceParameter
K8S API Server
GetSuggestions
GetShouldStopWorkers
Run/Stop Worker
Get Metrics
ModelDB
Save/Get Model
Get/Create/Run Resouces
• Study
• Trial
• Worker
• ServiceParameter
APIs
Katib API: Interface for clients
Internal API: Interface for Internal service
今後
KubeFlow は 9月にv0.3  12月にv1.0予定
Katibは
• アーキテクチャサーチもサポートしたい!
• もっとハイレベルなAPIがほしい
• パラメータとパフォーマンスに紐付いたモデル管理
• などなど..
コントリビューター大募集中!
まとめ
• KatibはKubeFlowのハイパーパラメータチューニングフレームワー
ク
• Kubernetesと連携して大規模並列に実行
• スケーラブルかつ容易に拡張できるように設計されている

More Related Content

PDF
DatadogでAWS監視やってみた
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
PPTX
Fitnesse を用いたテストの効率化について
PDF
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
PPTX
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
DatadogでAWS監視やってみた
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
Fitnesse を用いたテストの効率化について
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
コンテナセキュリティにおける権限制御(OCHaCafe5 #3 Kubernetes のセキュリティ 発表資料)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴

What's hot (20)

PDF
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
PDF
分散システムの限界について知ろう
PDF
分散トレーシング技術について(Open tracingやjaeger)
PDF
BuildKitの概要と最近の機能
PDF
Dockerからcontainerdへの移行
PPTX
BuildKitによる高速でセキュアなイメージビルド
PDF
Git超入門_座学編.pdf
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
今なら間に合う分散型IDとEntra Verified ID
PPTX
Argo CD Deep Dive
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PPTX
Kubernetes introduction
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
PDF
AlmaLinux と Rocky Linux の誕生経緯&比較
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
PDF
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
PPTX
コンテナネットワーキング(CNI)最前線
PPTX
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
分散システムの限界について知ろう
分散トレーシング技術について(Open tracingやjaeger)
BuildKitの概要と最近の機能
Dockerからcontainerdへの移行
BuildKitによる高速でセキュアなイメージビルド
Git超入門_座学編.pdf
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
今なら間に合う分散型IDとEntra Verified ID
Argo CD Deep Dive
コンテナの作り方「Dockerは裏方で何をしているのか?」
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetes introduction
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
AlmaLinux と Rocky Linux の誕生経緯&比較
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
CyberAgent における OSS の CI/CD 基盤開発 myshoes #CICD2021
コンテナネットワーキング(CNI)最前線
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
Ad

Similar to Katib (20)

PDF
2018 07-19dist
PDF
KubeFlowでどこまでいける?
PDF
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
PDF
2018 07-23
PDF
GitHub Actions で CI/CD
PDF
KubeFlow MeetUp #1 Katibよもやま話
PDF
PTLのお仕事とリリースパイプラインの裏側
PPTX
SpringOne Platform Replay -Pivotal Cloud Foundry-
PDF
GitHub最新情報キャッチアップ 2023年6月
PDF
新しいOpenShiftのしくみを調べてみた
PDF
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
PDF
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
PPTX
Docker Meetup tpkyo #30 kubecon recap
PDF
【初心者向け】API を使ってクラウドの管理を自動化しよう
PDF
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
PPTX
第六回Jenkins勉強会
PDF
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
PDF
serverless openstack 101
PDF
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
PDF
20170417_Netadashi_KubeCon
2018 07-19dist
KubeFlowでどこまでいける?
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
2018 07-23
GitHub Actions で CI/CD
KubeFlow MeetUp #1 Katibよもやま話
PTLのお仕事とリリースパイプラインの裏側
SpringOne Platform Replay -Pivotal Cloud Foundry-
GitHub最新情報キャッチアップ 2023年6月
新しいOpenShiftのしくみを調べてみた
[External] 2021.12.15 コンテナ移行の前に知っておきたいこと @ gcpug 湘南
地味だけど劇的に便利になるGitHubリポジトリ設定あれこれ
Docker Meetup tpkyo #30 kubecon recap
【初心者向け】API を使ってクラウドの管理を自動化しよう
CI/CD Pipeline を考える 〜KubeCon 2017 + CyberAgent の最大公倍数〜
第六回Jenkins勉強会
OpenStack Vancouver Summit Report presented at nttgroup meeting in Japanese
serverless openstack 101
[OracleCodeTokyo2019] Kubernetesで実現する運用自動化の新しいアプローチとは
20170417_Netadashi_KubeCon
Ad

More from Yuji Oshima (7)

PDF
MLCT#12 使われる機能目指して 測ったり試したり
PPTX
KubernetesでGPUクラスタを管理したい
PPTX
Infrakitの話とk8s+GPUの話
PPTX
Infrakit Docker_Tokyo_meetup
PDF
Docker1.12イングレスロードバランサ
PDF
runC概要と使い方
PDF
近頃のDockerネットワーク
MLCT#12 使われる機能目指して 測ったり試したり
KubernetesでGPUクラスタを管理したい
Infrakitの話とk8s+GPUの話
Infrakit Docker_Tokyo_meetup
Docker1.12イングレスロードバランサ
runC概要と使い方
近頃のDockerネットワーク

Katib