KubeCon NA 2024開催、前日の共催カンファレンスからAIワークロードのスケジューリングに関するセッションを紹介

KubeCon NA 2024開催、AIワークロードのスケジューリングに関するセッションを紹介する。

松下 康之 - Yasuyuki Matsushita

2025年2月19日 5:59

KubeCon+CloudNativeCon North America 2024が2024年11月12日から15日までの4日間、ユタ州ソルトレークシティーで開催された。KubeCon自体は3日間の会期だが、前日にはCo-located Eventとしてさまざまなミニカンファレンスが開催される。その中からCloudNative AI Dayのセッションを紹介する。

CloudNative AI Dayのロゴ

CloudNative AI Dayのロゴ

会場はこのぐらいの大きさ。参加者は100名を超えたぐらいだろう

会場はこのぐらいの大きさ。参加者は100名を超えたぐらいだろう

最初に紹介するのはKubernetes上で機械学習ジョブのスケジューリングを行うKubeRayだ。これはマルチクラスター、マルチクラウドに拡張するためのスケジューリング機能を提供するオープンソースソフトウェアだ。セッションを行ったのはサンフランシスコのベンチャー、ElotlのAnn Holler氏だ。ElotlはOracleやVMwareで経験を積んだエンジニアのMadhuri Yechuri氏が創業した企業で、機械学習のスケジューリングに特化したソフトウェアを開発している。Elotlの公式ページを見ると、Lunaと呼ばれるオートスケーラーやマルチクラスターのコントロールプレーンであるNovaがプラットフォームとして紹介されている。ここからもオンプレミスでGPUクラスターを運用している企業などにとっては、魅力的なソリューションと映ることだろう。

●Elotlの公式ページ:https://www.elotl.co/

セッションの動画は以下のリンクから参照してほしい。

●動画:SkyRay: Seamlessly Extending KubeRay to Multi-Cluster Multi-Cloud Operation

プレゼンターのHoller氏はチーフサイエンティストという肩書き

プレゼンターのHoller氏はチーフサイエンティストという肩書き

セッションは、SkyRayのベースとなっているRayとKubeRayに関する説明からスタートした。ここではRayを機械学習のジョブをスケールさせるためのフレームワーク、KubeRayについては、Rayのジョブが実行されるクラスターをKubernetesの上に実装するための仕組みと説明し、その上でSkyRayはシングルのクラスターからマルチクラスター、マルチクラウドに拡張するためのツールであると解説した。

SkyRayの前提となるRayとKubeRayを説明

SkyRayの前提となるRayとKubeRayを説明

SkyRayはKubeRayをマルチ環境に展開するためのツール

SkyRayはKubeRayをマルチ環境に展開するためのツール

ここではKubernetesのクラスター上に展開されたRayのジョブを、一つ上の階層を設けてそこにFleet Managerと呼ばれる別のコントロールプレーンが存在してクラスター間のスケジューリングを行うという内容がスライドに表記されているのがわかる。

SkyRayのFleet Managerの動作を解説

SkyRayのFleet Managerの動作を解説

そしてElotlが開発するNovaというソフトウェアをFleet Managerとして採用し、ジョブに設定されたポリシーに従ってジョブをクラスターのCPUおよびGPUに展開するのがSkyRayの主な動作となる。ここではGang-Schedulerについて簡単に説明を行った。Gang-Schedulingは複数のジョブをクラスターに配置する際、すべてのジョブが要求するリソースが空いた時のみスケジューリングを行うというものだ。複数のジョブが並列処理される際にジョブの一部だけが実行され、任意のジョブの他のコンポーネントが、リソースが空くのを待たされることでジョブ内の同期が取れなくなるという状態を避けるために機械学習では良く用いられるスケジューリングアルゴリズムであるという。

Fleet Managerとして使われるNovaがオートスケーラーと連携する部分の解説

Fleet Managerとして使われるNovaがオートスケーラーと連携する部分の解説

クラスターをジョブの要求に従ってスケールさせる機能について、Fleet Managerとして使われるNovaはこれもElotlが開発するLunaというオートスケーラーと連携することで柔軟なスケジューリングが可能になると説明した。このスライドで使われている図にはBin-Packing、Bin-Selectionが記載されており、GPUのスケジューリングのためのテクニックが使われていることがわかる。

SkyRayの使用例を解説

SkyRayの使用例を解説

ここではKubernetesを拡張するための仕組み、Custom Resource Definition(CRD)を使って、上位のコントロールプレーンであるNovaを操作できることを説明。

競合と思われるAnyScaleのイラストを使うElotl

競合と思われるAnyScaleのイラストを使うElotl

機械学習やRAGのアプリケーションのための学習や推論に応用できることを紹介したスライドでは主なユースケースが紹介されているが、興味深いのはここでAnyScaleのブログに使われているイラストが使われていることだろう。AnyScaleもKubernetes上でRayのジョブのスケジューリングを行う「AnyScale Operator for Kubernetes」というKubernetesを拡張するオペレーターフレームワークに準拠した拡張機能を発表しており、AnyScaleのブログではKubeRayとの比較が解説されている。KubeRayはAnyScaleのオペレーターと比較してセキュリティや安定性に欠けるなどの欠点があることなどを解説しており、AnyScaleとしては自社のソフトウェアを推進したいという意図が見て取れる。

●参考:Anyscale on Kubernetes: Simplifying AI Workloads on User-Managed Infrastructure

ElotlがNovaやLunaという自社製のコンポーネントを推したいのと同様に、AnyScaleも自社が開発したコンポーネントにユーザーを誘導して囲い込みたいという発想だろう。オープンソースとは言ってもテストや相互運用性を考えれば自社開発のソフトウェアが最優先されるのは当たり前だ。どちらを選択するのかはユーザーの責任ということになる。

この後は実際にkubectlコマンドの実行結果を見せ、クラスター内でのジョブの遷移などを説明した。利用のシナリオとして対話型のLLMモデルであるRAG(Retrieval Augmented Generation)の例を挙げて解説を行った。

RAGでの利用シナリオを解説。データ収集の部分はスタティック、生成の部分はダイナミック

RAGでの利用シナリオを解説。データ収集の部分はスタティック、生成の部分はダイナミック

ここではデータを収集してベクターデータベースなどに格納する部分は、CPUだけを使うジョブとしてスタティックはジョブとして実行し、回答を生成する部分はダイナミックなジョブとしてニーズに応じてスケールする形で実行することが解説されている。ジョブのタイプに合わせてスケジューリングの設定を変えることの必要性を強調した。

最後にまとめとして、KubeRayをマルチ環境に展開するソリューションとしてのSkyRayを紹介。

SkyRayのまとめ。Elotlのソリューションを使って欲しいという意図は明確だ

SkyRayのまとめ。Elotlのソリューションを使って欲しいという意図は明確だ

AnyScaleがKubeRayの競合としてAnyScale Operator for Kubernetesを2024年10月に紹介していることを考えるとRayの開発元であるAnyScaleが考えるマルチクラスター、マルチクラウドへの展開、オーケストレーションはどうなっていくのかに注目したい。AnyScaleとしてはApache Airflowの商用版であるAstronomerとRayの商用版のRayTurboでマネージドサービスの方向に行きたいように見えるが、オープンソースであることが大命題のKubeConとは水が合わないのかもしれない。

いずれにせよ機械学習に最適化されたスケジューリング問題はプラットフォームであるKubernetesにとっては大きな課題であり、これからもさまざまなプレイヤーが現れるに違いない。引き続き注視していきたい。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30