Crea un clúster de Ray en Vertex AI

Puedes crear un clúster de Ray en Vertex AI mediante la consola o el SDK de Vertex AI para Python.

Antes de comenzar, asegúrate de leer la descripción general de Ray en Vertex AI y configurar todas las herramientas de requisitos previos que necesitas.

Console

  1. En la consola de Google Cloud, ve a la página Ray en Vertex AI.

    Ir a la página de Ray en Vertex AI

  2. Haz clic en Crear clúster para abrir el panel Crear clúster.

  3. Para cada paso del panel Crear clúster, revisa o reemplaza la información del clúster predeterminada. Haz clic en Continuar para completar cada paso:

    1. En Nombre y región, especifica un Nombre y elige una región para tu clúster.

    2. En Configuración de Compute, especifica la configuración del nodo principal del clúster de Ray en Vertex AI, incluidos el tipo de máquina, el tipo y el recuento de aceleradores, el tipo y el tamaño del disco y el recuento de réplicas. En Opciones avanzadas, puedes especificar la clave de encriptación.

    3. En Herramientas de redes, especifica la red de intercambio de tráfico de VPC que deseas usar con Ray en Vertex AI.

      Si aún no configuraste la conexión de acceso privado a servicios para tu red de VPC, haz clic en Configurar conexión. En el panel Crear una conexión de acceso a servicios privados, completa y haz clic en Continuar para cada uno de los siguientes pasos:

      1. Habilita la AAPI de Service Networking.

      2. En Asigna un rango de IP, puedes seleccionar, crear o permitir que Google asigne un rango de IP de forma automática.

      3. En Crear una conexión, revisa la información sobre Red y Rango de IP asignado.

      4. Haz clic en Crear conexión (Create connection).

  4. Haz clic en Crear.

SDK de Ray en Vertex AI

Desde un entorno interactivo de Python dentro de la red de VPC, usa lo siguiente para crear el clúster de Ray en Vertex AI:

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
)

Aquí:

  • CLUSTER_NAME: Es un nombre para el clúster de Ray en Vertex AI que debe ser único en todo el proyecto.

  • NETWORK es el nombre completo de tu red de VPC con intercambio de tráfico, en el formato projects/PROJECT_NUMBER/global/networks/VPC_NAME.

  • PROJECT_NUMBER es el número de proyecto de Google Cloud.

Deberías ver el siguiente resultado hasta que el estado cambie a 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

Ten en cuenta lo siguiente:

  • El primer nodo se usa como el nodo principal.

  • Los tipos de máquinas de TPU no son compatibles.

¿Qué sigue?