Google CloudがOpenRLなどのAIネイティブスタックを発表

Google CloudがOpenRLなどのAIネイティブスタックを発表、RLの事後学習や分散推論を支援

公開:
CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座

Google Cloudは、KubernetesとGKEにまたがるオープンソースのAIネイティブスタックの導入と拡充を発表しました。このスタックは、強化学習の事後学習を担うOpenRLや分散推論のllm-d 1.0、カーネルレベルのサンドボックスであるgVisorなど6つの要素に基づきます。[1]

この記事では、OpenRLなどの構成要素の役割と、GKEクラスタでRay Operatorを有効にした場合の動作、責任の分担を解説します。解決したい課題ごとに確かめる構成要素も、編集部が整理しました。[1][2]

目次
  1. OpenRLなど6つの構成要素
  2. OpenRLの事後学習でできること
  3. GKEのRay Operatorの動作
  4. GKEのRay Operator利用時の責任分担
  5. OpenRLなど構成要素の課題別の選び方

OpenRLなど6つの構成要素

Google CloudがKubernetesとGKEにまたがって導入・拡充する統合スタックは、6つの構成要素に基づきます。うち5つはCNCF Sandboxに位置付けられ、役割は以下の通りです。[1]

OpenRL:強化学習の事後学習を簡素化し、アクセラレータの使用率を最大化/llm-d 1.0:プレフィックスキャッシュ考慮のルーティングや分離型サービング、多層KVキャッシュ管理/Ray on GKE with KubeRay:分散Rayのライフサイクル管理や自動スケーリング/Agent Substrate:マルチターンのAIエージェントのワークフローにライフサイクル管理と実行先を提供/gVisor:マルチテナントのクラスタで信頼できないエージェントのコードを実行する際にシステムコールを強く分離/TorchTPU:上流のvLLMとSGLangで、Cloud TPUsとGPUにPyTorchのネイティブ対応を提供

llm-d 1.0(CNCF Sandbox)は、オープンな分散推論の制御プレーンです。Agent Substrate(CNCF Sandbox)は、オープンなオーケストレーションランタイムに当たります。

Ray on GKE with KubeRay(CNCF Sandbox)は、分散Rayの計算とデータ処理に向けたフレームワークです。Kueueによるスケジューリングも提供します。

OpenRLの事後学習でできること

OpenRLは、Googleが作成してCNCF Sandboxに提供した、Kubernetesネイティブの事後学習サービスです。ML研究者とプラットフォームチームの間の摩擦をなくすのが狙いです。[1]

ML研究者は、標準的な報酬関数を使い、PythonとPyTorchで素早く反復したいと考えます。一方でプラットフォームチームには、マルチテナントの統制やクォータの適用、予測可能なスケジューリングが必要です。

OpenRLのアーキテクチャの特徴

図1 OpenRLのアーキテクチャの特徴

研究者は、forward_backwardやoptim_step、sample、save_stateの4つを中心に学習コードをPythonで書きます。OpenRLがKubernetesのスケジューリングの流れへ変換するため、開発者はKubernetesの内部を学んだり、インフラのコードを管理したりする必要がありません。

OpenRLの設定不要のDRA

設定不要の動的リソース割り当て(DRA)では、OpenRLがモデルのコンテキスト長やバッチの次元、LoRAか完全なファインチューニングかを自動でプロファイルします。そのうえで、KubernetesネイティブのDRAクレームを使い、異なる種類のアクセラレータ群へワークロードを動的に詰め込む仕組みです。

OpenRLの設定不要のDRA

図2 OpenRLの設定不要のDRA


Python研修一覧はこちら

目的に合うPython研修を一覧形式から探したい方は、ぜひご利用ください。

Python研修を比較する

Java研修一覧はこちら

目的に合うJava研修を一覧形式から探したい方は、ぜひご利用ください。

Java研修を比較する

PHP研修一覧はこちら

目的に合うPHP研修を一覧形式から探したい方は、ぜひご利用ください。

PHP研修を比較する

新入社員研修

目的に合う新入社員研修を一覧形式から探したい方は、ぜひご利用ください。

新入社員研修を比較する

全ての研修からも探したい方はこちら

OpenRLの学習と推論の連携

OpenRLは、協調的な時分割によって、学習ステップとロールアウト推論を同じ物理アクセラレータ上で交互に実行します。計算中心の学習と応答の遅れに敏感なロールアウト生成で、専用の静的クラスタを分ける必要がありません。

OpenRLが避ける構成との違い

図3 OpenRLが避ける構成との違い

最適化ステップごとに数ギガバイトのモデル重み全体を送ると、クラスタのネットワークが大きく飽和します。OpenRLはパラメーターの差分だけをロールアウト用ワーカーへ送り、ロールアウトのコールドスタートを解消します。

GKEのRay Operatorの動作

Ray on GKE with KubeRay(CNCF Sandbox)とGKEのRay Operatorの関係は、今回の発表に含まれていません。GKEのRay Operatorは、KubeRayに基づき、Rayクラスタやアプリケーションのデプロイと管理に使う機能です。[1][2]

GKEのRay Operatorの位置付け

図4 GKEのRay Operatorの位置付け

GKEクラスタでRay Operatorを有効にすると、GKEがKubeRayオペレーターを自動でインストールしてホストします。手順は「GKE で Ray オペレーターを有効にする」のページにあります。

KubeRayが提供するのは、Kubernetes上のRay Deploymentを管理するカスタムリソースです。例として、RayClusterやRayJob、RayServiceがあります。

KubeRayのカスタムリソースの例

図5 KubeRayのカスタムリソースの例

RayClusterカスタムリソースで指定するRayクラスタは、通常1つのヘッドPodと複数のワーカーPodの構成です。RayServiceでは、KubeRayがRayClusterを作成し、Ray Serveの構成どおりにアプリケーションをデプロイします。

RayJobでは、KubeRayがジョブ用のRayClusterと、そのヘッドPodへジョブを送信するKubernetes Jobを作成します。ジョブの正常完了後にRayClusterを自動でクリーンアップするKubeRayの構成は、リソースを効率的に管理するための手段です。

GKEのRay Operator利用時の責任分担

CNCF Sandboxに位置付けられているのは、AIネイティブスタックの6つの要素のうち5つです。該当するのは、OpenRLやllm-d 1.0、Ray on GKE with KubeRay、Agent Substrate、gVisorです。[1]

GKEのRay Operator利用時の責任分担の一部

図6 GKEのRay Operator利用時の責任分担の一部


Python基礎・実践(Django)

企業・法人向けのPython研修では、基礎から応用まで体系的に学べます。

Python研修の詳細

DX社員研修

企業・法人向けのDX研修では、実務に繋がるリスキリングでITレベルを向上させます。

DX研修の詳細

Javaエンジニア育成研修

企業・法人向けのJavaエンジニア育成研修では、Javaの基礎から応用まで確実に習得できます。

Java研修の詳細

新卒・新入社員向け研修

企業・法人に新入社員・新卒社員に向けたプログラミング研修を提供しています。

新入社員研修の詳細

コードキャンプのIT研修を全て見る

Googleが担う責任の範囲

Ray Operatorを使ってGKEでRayワークロードを実行する場合、KubeRayオペレーターの信頼性と稼働時間はGoogleが維持します。バージョンアップグレードの管理と、RayCluster、RayJob、RayServiceカスタムリソースを管理するKubeRay固有の機能も、Googleの責任に含まれます。[2]

Ray Operator利用時のGoogleの責任

図7 Ray Operator利用時のGoogleの責任

利用者が担う責任の範囲

Ray Operatorを使ってGKEでRayワークロードを実行する場合、利用者側の責任に含まれる項目は以下の通りです。

イメージ:GKEのRay Operator利用時、ヘッドPodとワーカーPodのコンテナイメージを利用者が維持/版の管理:GKEのRay Operator利用時、ヘッドPodとワーカーPodのバージョン管理と更新を利用者が維持/リソース要件:GKEのRay Operator利用時、CPUやGPU、メモリなどの構成を利用者が担う/クラスタの保護:GKEのRay Operator利用時、保護のベストプラクティスへの準拠を利用者が担う

Ray Operatorを使ってGKEでRayワークロードを実行する場合は、利用者側が担う責任を導入前に確かめます。KubeRayオペレーターの更新はGoogle、RayのヘッドPodとワーカーPodの更新は利用者が担う分担です。

OpenRLなど構成要素の課題別の選び方

Google Cloudは、従来のコンテナ基盤で強化学習の事後学習や状態を持つ分散推論、自律エージェントの実行を拡張する際の課題に、このスタックで対処しています。編集部は、課題ごとに確かめる候補となる構成要素を、以下のように整理しました。[1]

強化学習と推論で確かめる点

強化学習で学習とロールアウト生成を交互に行うと、GPUsやTPUsが学習の大半の時間で待機します。この状態に当てはまる場合は、OpenRL(CNCF Sandbox)の協調的な時分割が確かめる候補です。

強化学習の待機と確かめる候補

図8 強化学習の待機と確かめる候補

Kubernetes標準のラウンドロビンや最小接続数の振り分けでは、マルチターンのエージェント呼び出しが任意のPodに散らばり、KVキャッシュの局所性が失われます。この場合は、llm-d 1.0(CNCF Sandbox)のプレフィックスキャッシュを考慮したルーティングを確かめます。

KVキャッシュの課題と確かめる候補

図9 KVキャッシュの課題と確かめる候補

クラスタ運用と安全性で確かめる点

独自のRayやSlurmのような分離した計算クラスタをKubernetesと並行して運用すると、容量が分断され、保守の手間が増えます。Kubernetesと並行して独自のRayクラスタを運用している場合は、Ray on GKE with KubeRay(CNCF Sandbox)が確かめる候補です。

並行クラスタの課題とCNCF Sandboxの候補

図10 並行クラスタの課題とCNCF Sandboxの候補

共有環境でモデルが生成した信頼できないシェルコマンドやスクリプトを実行すると、クラスタがサンドボックスからの脱出や権限昇格の危険にさらされます。マルチテナントのクラスタでこうしたコードを実行する場合は、gVisor(CNCF Sandbox)のシステムコール分離を確かめます。

共有環境の実行の課題と確かめる候補

図11 共有環境の実行の課題と確かめる候補

出典

  1. ^ Google Cloud. 「The open AI-native stack on Kubernetes: From open models to distributed inference and agents」. https://cloud.google.com/blog/topics/developers-practitioners/the-open-ai-native-stack-on-kubernetes-from-open-models-to-distributed-inference-and-agents, (参照 26-11-10).
  2. ^ Google Cloud. 「Google Kubernetes Engine(GKE)上の Ray について」. https://docs.cloud.google.com/kubernetes-engine/docs/add-on/ray-on-gke/concepts/overview?hl=ja, (参照 26-11-10).

※本記事は公式の一次情報を基に編集しています。内容はAIで確認していますが、誤りや最新情報との差異がある場合は、以下フォームよりご報告ください。

修正・削除・掲載などの依頼はこちら
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。

企業・法人向けのIT・プログラミング・生成AI研修を探す、比較する - IT・プログラミングを知って学べるコネクトメディア CodeCampが提供するDX人材育成が可能なプログラミングやITが学べる公開講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプが提供する無料で学べるプログラミングスクール講座 - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア 3.5日の研修で、年間1,600時間の削減効果が見込まれる。東京きらぼしフィナンシャルグループのDX人材育成事例 - IT・プログラミングを知って学べるコネクトメディア 配属3ヶ月で30%の生産性向上を実現するいよぎんコンピュータサービスの新人研修に迫る - IT・プログラミングを知って学べるコネクトメディア 金融業界の業務効率化を加速するニッセイアセットマネジメントの生成AI×GAS活用研修事例 - IT・プログラミングを知って学べるコネクトメディア 【製造業のDX人材育成事例】デジタル人材の即戦力化を実現する、日本ガイシ株式会社の異動者向オンボーディング研修 - ITやプログラミングを知って学べるコネクトメディア フューチャーアーキテクト株式会社が実現した新入社員向けIT研修プログラムでタスクフォース制度が主体的な学びと成長を生み出す - IT・プログラミングを知って学べるコネクトメディア コードキャンプDX人材育成研修 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【IT新入社員研修】オンラインとオフラインの最適バランスを実現したFutureOneの導入事例 - IT・プログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/【新入社員研修】柔軟なハイブリッド型Java研修で実現した新卒20名の成長と成果|サークレイス株式会社 - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/現場により近いところにデジタルを根付かせるDX基礎講座研修|株式会社ブリヂストン - ITやプログラミングを知って学べるコネクトメディア コードキャンプIT・プログラミング研修事例/業務の効率化・DX推進に向けたIT人材育成への第一歩|株式会社カナエ - ITやプログラミングを知って学べるコネクトメディア 企業・法人向けのIT・プログラミング研修 - ITやプログラミングを知って学べるコネクトメディア

What's New

新着記事

対象者別で探す

子供(小学生・中学生・高校生)向け
プログラミング教室検索する

子供(小学生・中学生・高校生)がロボットやプログラミング言語を学ぶことができるオフラインからオンラインスクールを検索、比較することが可能です。

子供(小学生・中学生・高校生)
プログラミング教室検索する

ITやプログラムなどの
最新情報を検索する

日々、新しいITやプログラミング言語の情報が流れていきますが、特定の情報を時系列でニュースやコラムを確認することができます。

ITやプログラムなどの
最新情報を検索する