Criar um cluster do Ray na Vertex AI

É possível criar um cluster do Ray na Vertex AI usando o console ou o SDK da Vertex AI para Python.

Antes de começar, leia a Visão geral do Ray na Vertex AI e configure todas as ferramentas necessárias como pré-requisito.

Console

  1. No console do Google Cloud, acesse a página do Ray na Vertex AI.

    Acessar a página do Ray na Vertex AI

  2. Clique em Criar cluster para abrir o painel Criar cluster.

  3. Para cada etapa no painel Criar cluster, revise ou substitua as informações do cluster padrão. Clique em Continuar para concluir cada etapa:

    1. Em Nome e região, especifique um Nome e escolha uma Região para o cluster.

    2. Em Configurações de computação, especifique a configuração do cluster do Ray no nó principal da Vertex AI, incluindo tipo de máquina, tipo e contagem do acelerador, tipo e tamanho de disco e contagem de réplicas. Em Opções avançadas, especifique a chave de criptografia.

    3. Em Rede, especifique a rede de peering VPC que você quer usar com o Ray na Vertex AI.

      Se você ainda não tiver configurado a conexão de acesso a serviços particulares na sua rede VPC, clique em Configurar conexão. No painel Criar uma conexão de acesso a serviços particulares, conclua e clique em Continuar para cada uma das etapas a seguir:

      1. Ative a API Service Networking.

      2. Em Alocar um intervalo de IP, é possível selecionar, criar ou permitir que o Google aloque automaticamente um intervalo de IP.

      3. Em Criar uma conexão, revise as informações de Rede e Intervalo de IP alocado.

      4. Clique em Criar conexão.

  4. Clique em Criar.

SDK do Ray na Vertex AI

Em um ambiente Python interativo na rede VPC, use o seguinte para criar o cluster do cluster do Ray na 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
)

Em que:

  • CLUSTER_NAME: um nome para o cluster do Ray na Vertex AI que precisa ser exclusivo em todo o projeto.

  • NETWORK é o nome completo da sua rede VPC com peering, no formato de projects/PROJECT_NUMBER/global/networks/VPC_NAME.

  • PROJECT_NUMBER é o número do projeto do Google Cloud.

Você verá a seguinte saída até que o status mude para 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

Observações:

  • O primeiro nó é usado como o nó principal.

  • Os tipos de máquina da TPU não são compatíveis.

A seguir