Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
GKE上でのMLバッチ運用のコツ エムスリー 株式会社 北川亮(@kitagry) #kyototechtalk
Slide 2
Slide 2 text
自己紹介 Vim, Go, k8sが好き 新卒4年目で現在AI・機械学習チームのチーム リーダー 今年の4月から京都オフィス所属になりました。エ ンジニア所属2人なので仲間が欲しい!!
Slide 3
Slide 3 text
現在のチームの特徴 ● チームで管理しているほぼすべてのバッチ・APIがGKE上で動いている ● チームで定期実行しているバッチは300個ほど ● バッチには数分で終わる小規模なものから数日かかる大規模なものまである
Slide 4
Slide 4 text
GKEで出てくる単語をおさらい ● Pod ○ コンテナのグループを表す ○ docker-composeくらいの認識で良いと思う ● Node ○ VMまたは物理マシンを表す ○ GCPならGCE・AWSならEC2・お家なら Raspberry Pi ● Node Pool ○ Nodeのグループ ○ 利用状況に応じてスケールイン・スケールア ウトを行う
Slide 5
Slide 5 text
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
Slide 6
Slide 6 text
この機能MLバッチでは致命的 半日かけて学習した内容がEvictionととも に破壊されてしまう。。。
Slide 7
Slide 7 text
この機能MLバッチでは致命的 半日かけて学習した内容がEvictionととも に破壊されてしまう。。。 MLバッチはある意味ではステートフル
Slide 8
Slide 8 text
safe-to-evictionという機能 ● evictionを制限するための機能 リソースにアノテーションをつけるだけで簡 単に設定可
Slide 9
Slide 9 text
safe-to-evictionという機能 ● evictionを制限するための機能 リソースにアノテーションをつけるだけで簡 単に設定可 やったか!?
Slide 10
Slide 10 text
safe-to-evictionの落とし穴 巨大なPodが動いているNodeに小さなPod が迷い込んできます。 Node Pool 巨大Node 巨大Pod 小さいPodが 迷い込む
Slide 11
Slide 11 text
safe-to-evictionの落とし穴 巨大なPodが正常に終了します。 このNode消して小さいNodeに移動してほ しいですよね? Node Pool 巨大Node
Slide 12
Slide 12 text
safe-to-evictionの落とし穴 小さなPodはsafe-to-evicitionのため、どい てくれません。 Node Pool 巨大Node Node だが断る 無事にクラウド破産 \(^o^)/
Slide 13
Slide 13 text
Podごとに使って良いNodeを決めることに。。 ● 大きなPodは大きいNodeへ ● 小さなPodは小さなNodeへ エンジニア側がある程度メモリどれくらい使 うかは与えないといけない。。 えーあいってやつでなんとかしたい。。。
Slide 14
Slide 14 text
この先の話はブログで!(10分短い) https://www.m3tech.blog/entry/ai-gke-ml-batch
Slide 15
Slide 15 text
まとめ ● MLバッチは実はステートフル ● ステートフルなシステムの運用は本質的に難しい ● Kubernetesの特殊な使い方を出来る環境はとても楽しい