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
GKEでのMLバッチ運用のコツ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ryo Kitagawa
June 25, 2024
1
190
GKEでのMLバッチ運用のコツ
Ryo Kitagawa
June 25, 2024
Tweet
Share
More Decks by Ryo Kitagawa
See All by Ryo Kitagawa
敵対的SRE: 300個のジョブをAIチーム全員で支える技術
kitagry
8
6.3k
MLバッチの監視
kitagry
1
580
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
Building AI with AI
inesmontani
PRO
1
800
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
BBQ
matthewcrist
89
10k
Google's AI Overviews - The New Search
badams
0
930
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.7k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Paper Plane (Part 1)
katiecoart
PRO
0
5.7k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Transcript
GKE上でのMLバッチ運用のコツ エムスリー 株式会社 北川亮(@kitagry) #kyototechtalk
自己紹介 Vim, Go, k8sが好き 新卒4年目で現在AI・機械学習チームのチーム リーダー 今年の4月から京都オフィス所属になりました。エ ンジニア所属2人なので仲間が欲しい!!
現在のチームの特徴 • チームで管理しているほぼすべてのバッチ・APIがGKE上で動いている • チームで定期実行しているバッチは300個ほど • バッチには数分で終わる小規模なものから数日かかる大規模なものまである
GKEで出てくる単語をおさらい • Pod ◦ コンテナのグループを表す ◦ docker-composeくらいの認識で良いと思う •
Node ◦ VMまたは物理マシンを表す ◦ GCPならGCE・AWSならEC2・お家なら Raspberry Pi • Node Pool ◦ Nodeのグループ ◦ 利用状況に応じてスケールイン・スケールア ウトを行う
Node Poolのありがたさ • Nodeのリソースが余っていると適切に 分配してNode数を減らしてくれる • Node課金の場合切り詰めて使ってく れると節約になってありがたい • ありがとうKubernetes
kubernetes/autoscalerのコードにはNodeの料金を計算してやすいものを 選択してくれるソースがあります https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscal er/cloudprovider/gce/gce_price_model.go
この機能MLバッチでは致命的 半日かけて学習した内容がEvictionととも に破壊されてしまう。。。
この機能MLバッチでは致命的 半日かけて学習した内容がEvictionととも に破壊されてしまう。。。 MLバッチはある意味ではステートフル
safe-to-evictionという機能 • evictionを制限するための機能 リソースにアノテーションをつけるだけで簡 単に設定可
safe-to-evictionという機能 • evictionを制限するための機能 リソースにアノテーションをつけるだけで簡 単に設定可 やったか!?
safe-to-evictionの落とし穴 巨大なPodが動いているNodeに小さなPod が迷い込んできます。 Node Pool 巨大Node 巨大Pod 小さいPodが 迷い込む
safe-to-evictionの落とし穴 巨大なPodが正常に終了します。 このNode消して小さいNodeに移動してほ しいですよね? Node Pool 巨大Node
safe-to-evictionの落とし穴 小さなPodはsafe-to-evicitionのため、どい てくれません。 Node Pool 巨大Node Node だが断る 無事にクラウド破産 \(^o^)/
Podごとに使って良いNodeを決めることに。。 • 大きなPodは大きいNodeへ • 小さなPodは小さなNodeへ エンジニア側がある程度メモリどれくらい使 うかは与えないといけない。。 えーあいってやつでなんとかしたい。。。
この先の話はブログで!(10分短い) https://www.m3tech.blog/entry/ai-gke-ml-batch
まとめ • MLバッチは実はステートフル • ステートフルなシステムの運用は本質的に難しい • Kubernetesの特殊な使い方を出来る環境はとても楽しい