Vertex AI で Ray クラスタを作成する

Vertex AI に Ray クラスタを作成するには、コンソールまたは Vertex AI SDK for Python を使用します。

始める前に、Ray on Vertex AI の概要を読み、前提条件となるすべてのツールを設定してください。

コンソール

  1. Google Cloud コンソールで、[Vertex AI での Ray] ページに移動します。

    [Vertex AI での Ray] ページに移動

  2. [クラスタを作成] をクリックして [クラスタの作成] パネルを開きます。

  3. [クラスタの作成] パネルの各ステップで、デフォルトのクラスタ情報を確認または置き換えます。[続行] をクリックして、各手順を完了します。

    1. [名前とリージョン] で名前を指定し、クラスタのリージョンを選択します。

    2. [コンピューティング設定] で、マシンタイプ、アクセラレータ タイプと数、ディスクタイプとサイズ、レプリカ数など、Vertex AI のヘッドノードの Ray クラスタの構成を指定します。[詳細オプション] で暗号鍵を指定できます。

    3. [ネットワーキング] に、Ray on Vertex AI で使用する VPC ピアリング ネットワークを指定します。

      VPC ネットワークにプライベート サービス アクセス接続をまだ設定していない場合は、[接続を設定] をクリックします。[プライベート サービス アクセス接続の作成] パネルで、次の各ステップを完了して [続行] をクリックします。

      1. Service Networking API を有効にします。

      2. [IP 範囲を割り振る] で、IP 範囲を選択または作成できます。また、IP 範囲が自動的に割り振られるように設定することもできます。

      3. [接続を作成する] で、[ネットワーク] と [割り振られている IP 範囲] の情報を確認します。

      4. [接続を作成] をクリックします。

  4. [作成] をクリックします。

Ray on Vertex AI SDK

VPC ネットワーク内のインタラクティブな Python 環境から、次のコマンドを使用して Vertex AI の Ray クラスタを作成します。

import ray
import vertex_ray
from google.cloud import aiplatform
from vertex_ray import Resources

# Define a default CPU cluster, machine_type is n1-standard-8, 1 head node and 1 worker node
head_node_type = Resources()
worker_node_types = [Resources()]

# Or define a GPU cluster.
head_node_type = Resources(
  machine_type="n1-standard-8",
  node_count=1,
)

worker_node_types = [Resources(
  machine_type="n1-standard-8",
  node_count=2,  # Can be > 1
  accelerator_type="NVIDIA_TESLA_K80",
  accelerator_count=1,
)]

aiplatform.init()
# Initialize Vertex AI to retrieve projects for downstream operations.
# Create the Ray cluster on Vertex AI
CLUSTER_RESOURCE_NAME = vertex_ray.create_ray_cluster(
  head_node_type=head_node_type,
  network=NETWORK,
  worker_node_types=worker_node_types,
  python_version="3.10",  # Optional
  ray_version="2.9",  # Optional
  cluster_name = CLUSTER_NAME
)

ここで

  • CLUSTER_NAME: Vertex AI の Ray クラスタの名前。プロジェクト全体で一意にする必要があります。

  • NETWORK: ピアリングされた VPC ネットワークの完全な名前(projects/PROJECT_NUMBER/global/networks/VPC_NAME 形式)。

  • PROJECT_NUMBER は Google Cloud プロジェクト番号です。

ステータスが RUNNING に変わるまで、次の出力が表示されます。

[Ray on Vertex AI]: Cluster State = State.PROVISIONING
Waiting for cluster provisioning; attempt 1; sleeping for 0:02:30 seconds
...
[Ray on Vertex AI]: Cluster State = State.RUNNING

次の点にご注意ください。

  • 最初のノードがヘッドノードとして使用されます。

  • TPU マシンタイプはサポートされていません。

次のステップ