Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
JobSet超入門
Search
Hiroyuki Moriya
August 22, 2023
Programming
1.1k
1
Share
JobSet超入門
kubernetes meetup tokyo 60の登壇資料です。
Hiroyuki Moriya
August 22, 2023
More Decks by Hiroyuki Moriya
See All by Hiroyuki Moriya
少人数プロダクト開発において SRE業務を増やさない工夫
gekko0114
0
910
音声データ解析パイプラインの Software Engineering / Context Engineering
gekko0114
0
290
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
490
IVRyエンジニア忘年LT大会2024 LLM監視の最前線
gekko0114
1
400
kueueに新しいPriorityClassを足した話
gekko0114
0
790
Other Decks in Programming
See All in Programming
Rethinking API Platform Filters
vinceamstoutz
0
11k
3分でわかるatama plusのQA/about atama plus QA
atamaplus
0
130
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.7k
KagglerがMixSeekを触ってみた
morim
0
370
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
340
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
540
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
830
アーキテクチャモダナイゼーションとは何か
nwiizo
17
4.6k
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
160
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
160
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
510
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
410
The Spectacular Lies of Maps
axbom
PRO
1
680
Faster Mobile Websites
deanohume
310
31k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
エンジニアに許された特別な時間の終わり
watany
106
240k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
WENDY [Excerpt]
tessaabrams
9
37k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
370
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Music & Morning Musume
bryan
47
7.1k
Transcript
JobSet超入門 Hiroyuki Moriya
Self introduction ▶ GitHub: @Gekko0114 ▶ Software Engineer ▶ 趣味でk8s関連のOSSの調査
▶ 技術系のイベント初登壇です
今日話すこと ▶ kubernetes-sigs/JobSetがどんなものかを簡単に紹介します ▶ 開発途上のOSS(version 0.2.0)で日本語資料がほとんどありません ▶ 今回の内容は未実装の機能も含みます ▶ 今後の方針によって機能が変更される可能性もあります
JobSet開発の背景 ▶ k8sは、AI/ML関連のJob向けの機能開発に力を入れてこなかった ▶ PodとDeployment/StatefulSetのような存在がJobには無い ▶ AI/MLをk8s上で管理するOSSが開発されてきた (kubeflowなど) ▶ kubeflowでは、フレームワークで共通の機能が、重複実装されている
JobSetで何をしたい? ▶ 複数のJobを管理できるCRD ▶ フレームワーク間で共通の機能を、重複せずに実装したい ▶ 個別のフレームワークに必要な機能も備えたい
JobSetで何をしたい?(詳しく) ▶ 複数templateの同時実行:ML分散学習はDriverとworkerが必要 ▶ network設定:Job間のnetworkを良い感じにしたい ▶ Scaling:HPAが動作してほしい ▶ Startup sequence:ジョブの実行順序も定義したい
▶ フレームワーク(PyTorch, tensorflow etc)毎に必要な設定を管理
ジョブの実行順序の制御とは? ▶ フレームワークによって、起動したいPodの順番が決まっている ▶ 例1: RayやSparkだと、Driverを最初に起動しないといけない ▶ 例2: MPIだと、Workerを最初に起動しないといけない
フレームワーク毎に必要な設定とは? ▶ kubeflowではtraining-operator等がうまくやってくれている ▶ 例:tensorflowのTF_CONFIG, PyTorchのinit_process_group
JobSetでこれらの問題を解決しよう! ▶ kubeflowがうまくやってる点(フレームワーク毎の対応)もなんとかする
JobSetでカバーする機能 ▶ 複数templateの同時実行が可能 ▶ network設定:headless serviceが良い感じにしてくれる ▶ Scaling:HPAがちゃんと動く ▶ Startup
sequence:ジョブの実行順を定義可能予定 ▶ JobSetConfig:フレームワーク毎に設定ファイルを用意する予定 など
Yaml ▶ replicatedJobsにJob を書く
まとめ ▶ JobSetの開発が進めば、ML/AI workflowが簡易化されるかも ▶ 開発途上なのでcontribution chance ▶ コメントあればお願いします!
ご清聴ありがとうございました! ▶ 参考資料 ▶ JobSetAPI https://docs.google.com/document/d/1WqjSeFOrMneGS1wlC5cmhtHrpF2rErh-EIfkVN7rBrA/edit ▶ Repo https://github.com/kubernetes-sigs/jobset
参考:TFJob ▶ tf.distributeによる分散学習をサポート(参考) ▶ TF_CONFIG (chief, worker, ps, evaluator)の設定など
参考:PyTorchJob ▶ DataParallel, DistributedDataParallel, DistributedElastic ▶ 各分散処理向けの実装が必要 ▶ 例1: DistributedDataParallel実行のためのinit_process_group
▶ 例2: DistributedElasticのためのrendezvous