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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Hiroyuki Moriya
August 22, 2023
Programming
1.2k
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
970
音声データ解析パイプラインの Software Engineering / Context Engineering
gekko0114
0
310
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
500
IVRyエンジニア忘年LT大会2024 LLM監視の最前線
gekko0114
1
410
kueueに新しいPriorityClassを足した話
gekko0114
0
790
Other Decks in Programming
See All in Programming
Agentic AI in the Frontend: Architectures with Open Standards @iJS London 2026
manfredsteyer
PRO
0
100
Transactional Change Stream Processing With Debezium and Apache Flink
gunnarmorling
1
120
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
300
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
1.1k
[BalkanRuby 2026] Drop your app/services!
palkan
3
670
ふつうのFeature Flag実践入門
irof
0
110
cloudnative conference 2026 flyle
azihsoyn
1
210
20260514 - build with ai 2026 - build LINE Bot with Gemini CLI
line_developers_tw
PRO
0
470
過去のレビュー知見をSkillsで資産化した話
pkshadeck
PRO
1
2.3k
Agentic AI & UI: Arcitecture, HITL, Emerging Standards
manfredsteyer
PRO
0
130
Cloudflare で始める Data Platform
ta93abe
0
300
AlarmKitで明後日起きれるアラームアプリを作る
trickart
0
150
Featured
See All Featured
Prompt Engineering for Job Search
mfonobong
0
320
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
We Are The Robots
honzajavorek
0
230
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Scaling GitHub
holman
464
140k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Context Engineering - Making Every Token Count
addyosmani
9
900
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
A Soul's Torment
seathinner
6
2.8k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
210
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