Crea una instancia A3 Ultra o A4


En este documento, se describe cómo crear instancias con GPUs conectadas de las series de máquinas A3 Ultra o A4. Para obtener más información sobre cómo crear instancias con GPUs conectadas, consulta Descripción general para crear una instancia con GPUs conectadas.

Antes de comenzar

  • Para revisar las limitaciones y los pasos de requisitos previos adicionales para crear instancias con GPUs conectadas, como seleccionar una imagen de SO y verificar la cuota de GPU, consulta Descripción general para crear una instancia con GPUs conectadas.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Roles obligatorios

Para obtener los permisos que necesitas para crear instancias, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para crear instancias. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para crear instancias:

  • compute.instances.create en el proyecto
  • Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
  • Para usar una instantánea a fin de crear la VM, haz lo siguiente: compute.snapshots.useReadOnly en la instantánea
  • Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos: compute.instanceTemplates.useReadOnly en la plantilla de instancias
  • Para asignar una red heredada a la VM, ejecuta compute.networks.use en el proyecto.
  • Si deseas especificar una dirección IP estática para la VM: compute.addresses.use en el proyecto
  • Para asignar una dirección IP externa a la VM cuando se usa una red heredada, ejecuta compute.networks.useExternalIp en el proyecto
  • A fin de especificar una subred para tu VM: compute.subnetworks.use en el proyecto o en la subred elegida
  • Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, compute.subnetworks.useExternalIp en el proyecto o en la subred elegida.
  • Para configurar los metadatos de la instancia de VM para la VM, compute.instances.setMetadata en el proyecto.
  • Para configurar etiquetas en la VM, haz lo siguiente: compute.instances.setTags en la VM
  • Para configurar etiquetas en la VM, haz lo siguiente: compute.instances.setLabels en la VM
  • A fin de configurar una cuenta de servicio para que la VM use: compute.instances.setServiceAccount en la VM
  • Crear un disco nuevo para la VM: compute.disks.create en el proyecto
  • Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa compute.disks.use en el disco.
  • Para conectar un disco existente en modo de solo lectura, haz lo siguiente: compute.disks.useReadOnly en el disco

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Crea una instancia A3 Ultra o A4

Las instancias A3 Ultra o A4 están disponibles a través de las siguientes opciones de creación, cada una de las cuales tiene diferentes procedimientos de creación, disponibilidad de recursos y precios. Identifica qué opción quieres usar según tu carga de trabajo.

  • Si necesitas ejecutar cargas de trabajo de IA y AA de larga duración, como el entrenamiento y la inferencia de modelos grandes que requieren la latencia más baja, te recomendamos que crees VMs o clústeres que puedan usar las funciones y los servicios disponibles en el Director de clústeres. Con Cluster Director, puedes reservar máquinas con una asignación densa que proporcionan programación consciente de la topología y supervisión y mantenimiento mejorados de esta capacidad reservada. Para obtener más información sobre Cluster Director, consulta Cluster Director en la documentación de Hypercomputer de IA.

    Si deseas obtener instrucciones para crear instancias A3 Ultra o A4, consulta Descripción general de la creación de VMs y clústeres en la documentación de Hypercomputer de IA.

  • Si necesitas ejecutar cargas de trabajo de IA y AA de prioridad más baja, elige una de las siguientes opciones:

    • Si tus cargas de trabajo pueden iniciarse en cualquier momento y necesitan una cantidad exacta de VMs para iniciarse, puedes usar solicitudes de cambio de tamaño en un grupo de instancias administrado (MIG). Con las solicitudes de cambio de tamaño del MIG, le solicitas a Compute Engine que agregue VMs de una sola vez a tu MIG cada vez que los recursos solicitados estén disponibles. Estas VMs pueden ejecutarse durante un máximo de siete días. Debido a que los recursos se entregan desde un grupo seguro, tienes más probabilidades de obtener GPUs en comparación con una solicitud a pedido.

      Para obtener más información sobre las solicitudes de cambio de tamaño de MIG, consulta Acerca de las solicitudes de cambio de tamaño en un MIG.

    • Si tus cargas de trabajo son tolerantes a interrupciones de disponibilidad, puedes obtener descuentos significativos con las VMs Spot. Aunque puedes crear y borrar VMs Spot según sea necesario, estas son recursos finitos que pueden no estar disponibles en todo momento, y Compute Engine puede interrumpir (detener o borrar automáticamente) las VMs Spot en cualquier momento. Para obtener más información sobre las VMs Spot, consulta VMs Spot.

      Para obtener instrucciones para crear instancias A3 Ultra o A4 con VMs Spot, consulta la siguiente sección Crea una instancia A3 Ultra o A4 con VMs Spot en este documento.

Crea una instancia A3 Ultra o A4 con VMs Spot

Para crear una instancia A3 Ultra o A4 con VMs Spot, completa los pasos de las siguientes secciones:

  1. Crea redes de VPC.
  2. Crea la VM Spot.
  3. Prepara una VM Spot con GPUs conectadas para usarla.

Crea redes de VPC

Para el tipo de máquina A4 o A3 Ultra, debes crear tres redes de VPC para las siguientes interfaces de red:

  • 2 redes de VPC para las interfaces de red (NIC) gVNIC Se usan para la comunicación de host a host.
  • Se requiere 1 red de VPC con el perfil de red RDMA para las NIC CX7. Esta red debe tener 8 subredes, una para cada NIC CX7, y se usa para la comunicación de GPU a GPU.

Para obtener más información sobre la disposición de las NIC, consulta Revisa el ancho de banda de la red y la disposición de las NIC.

Configura las redes de forma manual siguiendo las guías de instrucciones o automáticamente con la secuencia de comandos proporcionada.

Guías de instrucciones

Para crear las redes, puedes usar las siguientes instrucciones:

Para estas redes de VPC, te recomendamos que configures la unidad de transmisión máxima (MTU) en un valor mayor. Para el tipo de máquina A4 o A3 Ultra, la MTU recomendada es de 8896 bytes. Para revisar la configuración de MTU recomendada para otros tipos de máquinas de GPU, consulta Configuración de MTU para tipos de máquinas de GPU.

Secuencia de comandos

Para crear las redes, puedes usar la siguiente secuencia de comandos.

Para estas redes de VPC, te recomendamos que configures la unidad de transmisión máxima (MTU) en un valor mayor. Para el tipo de máquina A4 o A3 Ultra, la MTU recomendada es de 8896 bytes. Para revisar la configuración de MTU recomendada para otros tipos de máquinas de GPU, consulta Configuración de MTU para tipos de máquinas de GPU.

  #!/bin/bash

  # Create standard VPCs (network and subnets) for the gVNICs
  for N in $(seq 0 1); do
    gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
      --subnet-mode=custom \
      --mtu=8896

    gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
      --network=GVNIC_NAME_PREFIX-net-$N \
      --region=REGION \
      --range=10.$N.0.0/16

    gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
      --network=GVNIC_NAME_PREFIX-net-$N \
      --action=ALLOW \
      --rules=tcp:0-65535,udp:0-65535,icmp \
      --source-ranges=10.0.0.0/8
  done

  # Create SSH firewall rules
  gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
    --network=GVNIC_NAME_PREFIX-net-0 \
    --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=IP_RANGE

  # Assumes that an external IP is only created for vNIC 0
  gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
    --network=GVNIC_NAME_PREFIX-net-0 \
    --action=ALLOW \
    --rules=icmp \
    --source-ranges=IP_RANGE

  # List and make sure network profiles exist
  gcloud compute network-profiles list

  # Create network for CX-7
  gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
    --network-profile=ZONE-vpc-roce \
    --subnet-mode custom \
    --mtu=8896

  # Create subnets.
  for N in $(seq 0 7); do
    gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
      --network=RDMA_NAME_PREFIX-mrdma \
      --region=REGION \
      --range=10.$((N+2)).0.0/16 # offset to avoid overlap with gVNICs
  done
  

Reemplaza lo siguiente:

  • GVNIC_NAME_PREFIX: Es el prefijo de nombre personalizado que se usará para las subredes y las redes de VPC estándar de las gVNIC.
  • RDMA_NAME_PREFIX: El prefijo de nombre personalizado que se usará para las subredes y la red de VPC con el perfil de red RDMA para las NIC CX7.
  • ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
  • REGION: La región en la que deseas crear las subredes. Esta región debe corresponder a la zona especificada. Por ejemplo, si tu zona es europe-west1-b, tu región es europe-west1.
  • IP_RANGE: Es el rango de IP que se usará para las reglas de firewall de SSH.

Crea la VM Spot

Para crear la VM Spot, usa uno de los siguientes métodos:

Console

  1. En la consola de Google Cloud , ve a la página Crear una instancia.

    Ir a Crear una instancia

    Aparecerá la pantalla Create an instance, que muestra el panel Machine configuration.

  2. En el panel Configuración de la máquina, completa los siguientes pasos:

    1. Especifica un nombre para tu instancia. Consulta la convención de asignación de nombres de recursos.
    2. Selecciona la región y la zona en las que deseas reservar la capacidad. Consulta la lista de regiones y zonas de GPU disponibles.
    3. Haz clic en la pestaña GPUs y, luego, completa los siguientes pasos:
      1. En la lista Tipo de GPU, selecciona el tipo de GPU.
        • Para instancias A4, selecciona NVIDIA B200.
        • Para instancias de A3 Ultra, selecciona NVIDIA H200 141GB.
      2. En la lista Cantidad de GPU, selecciona 8.
  3. En el menú de navegación, haz clic en SO y almacenamiento. En el panel SO y almacenamiento que aparece, completa los siguientes pasos:

    1. Haz clic en Cambiar. Se abrirá el panel Configuración del disco de arranque.
    2. En la pestaña Imágenes públicas, selecciona una imagen recomendada. Para obtener una lista de imágenes recomendadas, consulta Sistemas operativos.
    3. Para confirmar las opciones del disco de arranque, haz clic en Seleccionar.
  4. Para crear una instancia con varias NIC, completa los siguientes pasos. De lo contrario, para crear una instancia de NIC única, omite estos pasos.

    1. En el menú de navegación, haz clic en Herramientas de redes. En el panel Networking que aparece, completa los siguientes pasos:

      1. En la sección Interfaces de red, completa los siguientes pasos:

      2. Borra la interfaz de red predeterminada. Para borrar la interfaz, haz clic en Borrar.

      3. Haz clic en Agregar una interfaz de red. Usa esta opción para agregar las redes gVNIC y RDMA que creaste en la sección anterior. Cuando agregues las redes, recuerda lo siguiente:

        • Especifica tus redes host en las listas Red y Subred, y establece la lista Tarjeta de interfaz de red en gVNIC.
        • Especifica tus redes de GPU en las listas Red y Subred, y establece la lista Tarjeta de interfaz de red en MRDMA para estas redes.
  5. En el menú de navegación, haz clic en Opciones avanzadas. En el panel Advanced que aparece, completa los siguientes pasos:

    1. En la sección Modelo de aprovisionamiento, selecciona Spot en la lista Modelo de aprovisionamiento de VM.

    2. Opcional: Para especificar la acción que se debe realizar cuando Compute Engine interrumpe la instancia (detener [predeterminada] o borrar), completa los siguientes pasos:

      1. Expande la sección Configuración avanzada del modelo de aprovisionamiento de VMs.
      2. En la lista Finalización de VM, selecciona una opción.
  6. Para crear y, luego, iniciar la instancia, haz clic en Crear.

gcloud

Para crear la VM, usa el comando gcloud compute instances create.

gcloud compute instances create VM_NAME  \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --zone=ZONE \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-4,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-5,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-6,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-7,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION

Reemplaza lo siguiente:

  • VM_NAME: el nombre de la VM.
  • MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas de GPU.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para obtener una lista de los sistemas operativos compatibles, consulta Detalles de los sistemas operativos.
  • IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO.
  • ZONE: Es la zona en la que está disponible el tipo de máquina que deseas usar. Para obtener información sobre las regiones, consulta Zonas y regiones de GPU.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las redes de VPC y las subredes estándar que usan gVNIC.
  • RDMA_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las redes de VPC y las subredes que usan NIC RDMA.
  • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

REST

Para crear la VM, realiza una solicitud POST al método instances.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "machineType":"projects/PROJECT_ID/zones/ZONE/machineTypes/MACHINE_TYPE",
  "name":"VM_NAME",
  "disks":[
    {
      "boot":true,
      "initializeParams":{
        "diskSizeGb":"DISK_SIZE",
        "diskType":"hyperdisk-balanced",
        "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
      },
      "mode":"READ_WRITE",
      "type":"PERSISTENT"
    }
  ],
  "networkInterfaces": [
    {
      "accessConfigs": [
        {
          "name": "external-nat",
          "type": "ONE_TO_ONE_NAT"
        }
      ],
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
      "nicType": "GVNIC",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-4"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-5"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-6"
    },
    {
      "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
      "nicType": "MRDMA",
      "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-7"
    }
  ],
  "scheduling":
  {
    "provisioningModel": "SPOT",
    "instanceTerminationAction": "TERMINATION_ACTION"
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que deseas crear la VM.
  • ZONE: Es la zona en la que está disponible el tipo de máquina que deseas usar. Para obtener información sobre las regiones, consulta Zonas y regiones de GPU.
  • MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas de GPU.
  • VM_NAME: el nombre de la VM.
  • DISK_SIZE: Es el tamaño del disco de arranque en GB.
  • IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para obtener una lista de los sistemas operativos compatibles, consulta Detalles de los sistemas operativos.
  • NETWORK_PROJECT_ID: Es el ID del proyecto de la red.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las redes de VPC y las subredes estándar que usan gVNIC.
  • REGION: Es la región de la subred.
  • RDMA_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las redes de VPC y las subredes que usan NIC RDMA.
  • TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya sea STOP (predeterminada) o DELETE.

Prepara una VM Spot con GPUs conectadas para usarla

Para preparar una VM Spot con GPU conectadas para usarla, completa los siguientes pasos:

  1. Para permitir que una instancia use sus GPUs adjuntas, esta requiere controladores de GPU. A menos que hayas especificado una imagen que ya incluya los controladores de GPU necesarios, sigue los pasos para instalar los controladores de GPU.
  2. Para preparar una VM Spot para usarla, completa los siguientes pasos:

¿Qué sigue?