Activa un recurso compartido de NFS para el entrenamiento personalizado

Puedes configurar los trabajos de entrenamiento personalizados para activar los recursos compartidos del sistema de archivos de red (NFS) en el contenedor en el que se ejecuta el código. Esto permite que los trabajos accedan a archivos remotos como si fueran locales, lo que permite una alta capacidad de procesamiento y una latencia baja.

En esta guía, se muestra cómo activar un recurso compartido de NFS cuando se ejecuta un trabajo de entrenamiento personalizado.

Antes de comenzar

  1. Crea un recurso compartido de NFS en una nube privada virtual (VPC). El recurso compartido debe ser accesible sin autenticación.

    Puedes usar una instancia de Filestore como tu recurso compartido de NFS. Si usas Filestore, selecciona Acceso privado al servicio como el modo de conexión cuando crees una instancia. Para ver un ejemplo, consulta Crea instancias en la documentación de Filestore.

  2. Sigue las instrucciones en Cómo configurar el intercambio de tráfico entre redes de VPC para intercambiar tráfico entre Vertex AI y la VPC que aloja tu recurso compartido de NFS.

Información de NFS para el entrenamiento personalizado

Cuando creas un trabajo de entrenamiento personalizado que activa un recurso compartido de NFS, debes especificar lo siguiente:

  • El nombre de la red a la que accede Vertex AI. La forma en que especificas el nombre de la red varía según el tipo de trabajo de entrenamiento personalizado. Para obtener más información, consulta Realiza entrenamientos personalizados.

  • Tu configuración de NFS en el campo WorkerPoolSpec. Incluye los siguientes campos:

    Campo Descripción
    nfsMounts.server La dirección IP de tu servidor NFS. Debe ser una dirección privada en tu VPC.
    nfsMounts.path La ruta del recurso compartido de NFS. Esta debe ser una ruta de acceso absoluta que comience con /.
    nfsMounts.mountPoint El punto de activación local. Debe ser un nombre de directorio UNIX válido. Por ejemplo, si el punto de activación local es sourceData, especifica la ruta de acceso /mnt/nfs/sourceData de tu instancia de VM de entrenamiento.

    Para obtener más información, consulta Dónde especificar recursos de procesamiento.

Ejemplo: Crea un trabajo personalizado con la CLI de gcloud

  1. Sigue los pasos de la página Crea una aplicación de entrenamiento de Python para un contenedor compilado previamente a fin de compilar una aplicación de entrenamiento que se ejecute en Vertex AI.

  2. Crea un archivo llamado config.yaml que describa la configuración de activación de NFS y de red para tu trabajo de entrenamiento. Usa el siguiente formato:

    network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME
    workerPoolSpecs:
        - machineSpec:
            machineType: MACHINE_TYPE
          replicaCount: 1
          pythonPackageSpec:
            executorImageUri: PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI
            packageUris:
              -  PYTHON_PACKAGE_URIS
            pythonModule: PYTHON_MODULE
          nfsMounts:
            - server: NFS_SERVER_IP
              path: NFS_SHARE_NAME
              mountPoint: LOCAL_FOLDER
    

    Reemplaza lo siguiente:

    • PROJECT_NUMBER: El ID del proyecto de tu proyecto de Google Cloud.

    • NETWORK_NAME: es el nombre de tu VPC privada o compartida.

    • MACHINE_TYPE: es el identificador de tu tipo de máquina virtual.

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI: es el URI de una imagen de contenedor en Artifact Registry que ejecutará el paquete de Python proporcionado. Vertex AI proporciona una amplia variedad de imágenes de ejecutores con paquetes preinstalados para satisfacer los diversos casos de uso de los usuarios.

    • PYTHON_PACKAGE_URIS: es una lista separada por comas de URI de Cloud Storage que especifican los archivos de paquetes de Python que conforman el programa de entrenamiento y sus paquetes dependientes. La cantidad máxima de URI de paquete es 100.

    • PYTHON_MODULE: es el nombre del módulo de Python que se ejecutará después de instalar los paquetes.

    • NFS_SERVER_IP: es la dirección IP de tu servidor NFS.

    • NFS_SHARE_NAME: es la ruta del recurso compartido de NFS, que es una ruta de acceso absoluta que comienza con /.

    • LOCAL_FOLDER: es el punto de activación local (nombre del directorio de UNIX).

    Asegúrate de que el nombre de tu red tenga el formato correcto y de que el recurso compartido de NFS exista en la red especificada.

  3. Crea tu trabajo personalizado y pasa tu archivo config.yaml al parámetro --config.

    gcloud ai custom-jobs create \
      --region=LOCATION \
      --display-name=JOB_NAME \
      --config=config.yaml
    

    Reemplaza lo siguiente:

    • LOCATION: Especifica la región en la que se creará el trabajo.

    • JOB_NAME: es un nombre para el trabajo personalizado.

Limitaciones

  • Debes activar el recurso compartido de NFS mediante una dirección IP que sea interna de la VPC; no se permite el uso de URL públicas.

  • Los trabajos de entrenamiento activan los recursos compartidos de NFS sin autenticación y fallarán si se requieren un nombre de usuario y una contraseña.

    Para proteger tus datos, establece permisos en el recurso compartido de NFS. Si usas Filestore, consulta Control de acceso en la documentación de Filestore.

  • No puedes ejecutar dos trabajos de entrenamiento que activen recursos compartidos de NFS desde diferentes redes de VPC al mismo tiempo. Esto se debe a la restricción de intercambio de tráfico entre redes.