Installer un partage NFS pour l'entraînement personnalisé

Vous pouvez configurer vos tâches d'entraînement personnalisées pour qu'elles installent des partages NFS (Network File System) dans le conteneur où s'exécute votre code. Cela permet à vos tâches d'accéder à des fichiers distants comme s'ils étaient locaux, ce qui permet un débit élevé et une faible latence.

Ce guide explique comment installer un partage NFS lors de l'exécution d'un job d'entraînement personnalisé.

Avant de commencer

  1. Créez un partage NFS dans un cloud privé virtuel (VPC). Votre partage doit être accessible sans authentification.

    Vous pouvez utiliser une instance Filestore en tant que partage NFS. Si vous utilisez Filestore, sélectionnez l'accès privé aux services comme mode de connexion lorsque vous créez une instance. Pour obtenir un exemple, consultez la page Créer des instances dans la documentation Filestore.

  2. Suivez les instructions de la page Configurer l'appairage de réseaux VPC pour appairer Vertex AI avec le VPC qui héberge votre partage NFS.

Informations NFS pour l'entraînement personnalisé

Lorsque vous créez une tâche d'entraînement personnalisée qui installe un partage NFS, vous devez spécifier les éléments suivants :

  • Nom du réseau auquel Vertex AI peut accéder. La façon dont vous spécifiez le nom du réseau varie en fonction du type de tâche d'entraînement personnalisée. Pour en savoir plus, consultez la section Réaliser un entraînement personnalisé.

  • Votre configuration NFS, dans le champ WorkerPoolSpec. Incluez les champs suivants :

    Champ Description
    nfsMounts.server Adresse IP de votre serveur NFS. Il doit s'agir d'une adresse privée dans votre VPC.
    nfsMounts.path Chemin d'accès au partage NFS. Il doit s'agir d'un chemin absolu commençant par /.
    nfsMounts.mountPoint Point d'installation local. Il doit s'agir d'un nom de répertoire UNIX valide. Par exemple, si le point d'installation local est sourceData, spécifiez le chemin d'accès /mnt/nfs/sourceData à partir de votre instance de VM d'entraînement.

    Pour en savoir plus, consultez la section Où spécifier les ressources de calcul.

Exemple : créer une tâche personnalisée à l'aide de gcloud CLI

  1. Suivez les étapes de la section Créer une application d'entraînement Python pour un conteneur prédéfini pour créer une application d'entraînement à exécuter sur Vertex AI.

  2. Créez un fichier nommé config.yaml qui décrit les paramètres du réseau et et de l'installation NFS pour votre job d'entraînement. Utilisez le format suivant :

    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
    

    Remplacez les éléments suivants :

    • PROJECT_NUMBER : ID de votre projet Google Cloud

    • NETWORK_NAME : nom de votre VPC privé ou partagé.

    • MACHINE_TYPE : identifiant de votre type de machine virtuelle.

    • PYTHON_PACKAGE_EXECUTOR_IMAGE_URI or PRE_BUILT_CONTAINER_IMAGE_URI : URI d'une image de conteneur dans Artifact Registry qui exécutera le package Python fourni. Vertex AI fournit un large éventail d'images d'exécuteurs dotées de packages préinstallés permettant de répondre aux différents cas d'utilisation des utilisateurs.

    • PYTHON_PACKAGE_URIS : liste d'URI Cloud Storage séparés par une virgule. Ils spécifient les fichiers de package Python qui composent le programme d'entraînement et ses packages dépendants. Le nombre maximal d'URI de package est de 100.

    • PYTHON_MODULE : nom du module Python à exécuter après l'installation des packages.

    • NFS_SERVER_IP : adresse IP de votre serveur NFS.

    • NFS_SHARE_NAME : chemin d'accès au partage NFS, qui est un chemin absolu commençant par /.

    • LOCAL_FOLDER : point d'installation local (nom du répertoire UNIX).

    Vérifiez que le format du nom de votre réseau est correct et que votre partage NFS existe bien dans le réseau spécifié.

  3. Créez votre tâche personnalisée et transmettez votre fichier config.yaml au paramètre --config.

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

    Remplacez les éléments suivants :

    • LOCATION: spécifiez la région dans laquelle créer la tâche.

    • JOB_NAME : nom de la tâche personnalisée.

Limites

  • Vous devez installer votre partage NFS à l'aide d'une adresse IP interne à votre VPC. L'utilisation d'URL publiques n'est pas autorisée.

  • Les tâches d'entraînement installent les partages NFS sans authentification et échouent si un nom d'utilisateur et un mot de passe sont requis.

    Pour sécuriser vos données, définissez des autorisations sur votre partage NFS. Si vous utilisez Filestore, consultez la section Contrôle des accès dans la documentation de Filestore.

  • Vous ne pouvez pas exécuter simultanément deux tâches d'entraînement qui installent des partages NFS à partir de différents réseaux VPC. Cela est dû aux restrictions concernant l'appairage de réseaux.