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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Hiroyuki Moriya
August 22, 2023
Programming
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JobSet超入門
kubernetes meetup tokyo 60の登壇資料です。
Hiroyuki Moriya
August 22, 2023
More Decks by Hiroyuki Moriya
See All by Hiroyuki Moriya
クライアントの声を聞け
gekko0114
0
27
少人数プロダクト開発において SRE業務を増やさない工夫
gekko0114
0
1k
音声データ解析パイプラインの Software Engineering / Context Engineering
gekko0114
0
340
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
530
IVRyエンジニア忘年LT大会2024 LLM監視の最前線
gekko0114
1
430
kueueに新しいPriorityClassを足した話
gekko0114
0
820
Other Decks in Programming
See All in Programming
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
740
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
160
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
270
テーブルをDELETEした
yuzneri
0
150
プロポーザルを書いてもらう
pvcresin
0
560
改善しないと、タスクが回らない。 “てんこ盛りポジション” を引き継いだ情シスの、入社3ヶ月の業務改善録
krm963
0
280
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
170
in-process GraphQL のすすめ #ginzajs
izumin5210
4
1.4k
運用ダッシュボードの設計を誰も教えてくれないのだけどみなさんどうしてるんですか? - チームに監視するという文化を根付かせるための第一歩を踏みたい -
satoshi256kbyte
1
130
Cloudflare is Agents
chimame
0
170
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
220
FastAPI の並行処理モデルを完全に理解する
hoto17296
1
360
Featured
See All Featured
Balancing Empowerment & Direction
lara
6
1.2k
Are puppies a ranking factor?
jonoalderson
2
3.8k
Visualization
eitanlees
152
17k
GraphQLとの向き合い方2022年版
quramy
50
15k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
400
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Site-Speed That Sticks
csswizardry
13
1.5k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
270
Into the Great Unknown - MozCon
thekraken
41
2.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Automating Front-end Workflow
addyosmani
1369
210k
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