L'utilisation d'une adresse IP privée pour vous connecter à vos tâches d'entraînement offre une sécurité réseau et une latence réseau inférieures à celles d'une adresse IP publique. Pour utiliser une adresse IP privée, vous devez faire appel à un cloud privé virtuel (VPC) pour appairer votre réseau avec n'importe quel type de tâche d'entraînement personnalisé Vertex AI. Cela permet à votre code d'entraînement d'accéder à des adresses IP privées au sein de vos réseaux Google Cloud ou sur site.
Ce guide explique comment exécuter des tâches d'entraînement personnalisé sur votre réseau une fois que vous avez configuré l'appairage de réseaux VPC pour appairer votre réseau avec une ressource Vertex AI CustomJob
, HyperparameterTuningJob
, ou une ressource TrainingPipeline
personnalisée.
Présentation
Avant d'envoyer une tâche d'entraînement personnalisé à l'aide d'une adresse IP privée, vous devez configurer l'accès aux services privés pour créer des connexions d'appairage entre votre réseau et Vertex AI. Si vous l'avez déjà configuré, vous pouvez utiliser vos connexions d'appairage existantes.
Ce guide couvre les tâches suivantes :
- Analyser les plages d'adresses IP à réserver pour un entraînement personnalisé
- Vérifiez l'état de vos connexions d'appairage existantes.
- Effectuer des entraînements personnalisés Vertex AI sur votre réseau
- Vérifier l'entraînement actif sur un réseau avant de démarrer l'entraînement sur un autre réseau.
- Vérifier que le code d'entraînement peut accéder aux adresses IP privées de votre réseau.
Réserver des plages d'adresses IP pour l'entraînement personnalisé
Lorsque vous réservez une plage d'adresses IP pour des producteurs de services, cette plage peut être utilisée par Vertex AI ainsi que par d'autres services. Ce tableau présente le nombre maximal de tâches d'entraînement parallèles que vous pouvez exécuter avec des plages réservées de /16 à /19, en supposant que la plage est utilisée presque exclusivement par Vertex AI. Si vous communiquez avec d'autres producteurs de services utilisant la même plage, allouez-en une plus grande pour les adapter, afin d'éviter l'épuisement des adresses IP.
Configurer la machine pour la tâche d'entraînement | Plage réservée | Nombre maximal de tâches parallèles | |
---|---|---|---|
Jusqu'à 8 nœuds. Par exemple : une instance dupliquée principale dans le premier pool de nœuds de calcul, 6 instances dupliquées dans le deuxième pool de nœuds de calcul, et un nœud de calcul dans le troisième pool de nœuds de calcul (pour agir en tant que serveur de paramètres). |
/16 | 63 | |
/17 | 31 | ||
/18 | 15 | ||
/19 | 7 | ||
Jusqu'à 16 nœuds. Par exemple : une instance dupliquée principale dans le premier pool de nœuds de calcul, 14 instances dupliquées dans le deuxième pool de nœuds de calcul et un nœud de calcul dans le troisième pool de nœuds de calcul (pour agir en tant que serveur de paramètres). |
/16 | 31 | |
/17 | 15 | ||
/18 | 7 | ||
/19 | 3 | ||
Jusqu'à 32 nœuds. Par exemple : une instance dupliquée principale dans le premier pool de nœuds de calcul, 30 instances dupliquées dans le deuxième pool de nœuds de calcul et un nœud de calcul dans le troisième pool de nœuds de calcul (pour agir en tant que serveur de paramètres). |
/16 | 15 | |
/17 | 7 | ||
/18 | 3 | ||
/19 | 1 |
Découvrez comment configurer des pools de nœuds de calcul pour l'entraînement distribué.
Vérifier l'état des connexions d'appairage existantes
Si vous disposez de connexions d'appairage existantes avec Vertex AI, vous pouvez les répertorier pour vérifier leur état :
gcloud compute networks peerings list --network NETWORK_NAME
Vous devriez voir que l'état de vos connexions d'appairage est ACTIVE
.
En savoir plus sur les connexions d'appairage actives
Réaliser un entraînement personnalisé
Lorsque vous réalisez un entraînement personnalisé, vous devez spécifier le nom du réseau auquel vous souhaitez que Vertex AI ait accès.
Selon votre mode d'entraînement personnalisé, spécifiez le réseau dans l'un des champs d'API suivants :
Si vous créez un
CustomJob
, spécifiez le champCustomJob.jobSpec.network
.Si vous utilisez Google Cloud CLI, vous pouvez utiliser l'option
--config
dans la commandegcloud ai custom-jobs create
pour spécifier le champnetwork
.Découvrez comment créer un
CustomJob
.Si vous créez un
HyperparameterTuningJob
, spécifiez le champHyperparameterTuningJob.trialJobSpec.network
.Si vous utilisez gcloud CLI, vous pouvez utiliser l'option
--config
de la commandegcloud ai hpt-tuning-jobs create
pour spécifier le champnetwork
.Découvrez comment créer un
HyperparameterTuningJob
.Si vous créez un
TrainingPipeline
sans réglages d'hyperparamètres, spécifiez le champTrainingPipeline.trainingTaskInputs.network
.Découvrez comment créer un
TrainingPipeline
personnalisé.Si vous créez un
TrainingPipeline
avec réglages d'hyperparamètres, spécifiez le champTrainingPipeline.trainingTaskInputs.trialJobSpec.network
.
Si vous ne spécifiez pas de nom de réseau, Vertex AI exécute votre entraînement personnalisé sans connexion d'appairage et sans accès aux adresses IP privées de votre projet.
Exemple : créer une CustomJob
avec gcloud CLI
L'exemple suivant montre comment spécifier un réseau lorsque vous utilisez gcloud CLI pour exécuter un CustomJob
qui utilise un conteneur prédéfini. Si vous effectuez un entraînement personnalisé d'une autre manière, ajoutez le champ network
comme décrit pour le type de job d'entraînement personnalisé que vous utilisez.
Créez un fichier
config.yaml
pour spécifier le réseau. Si vous utilisez un VPC partagé, utilisez le numéro de votre projet hôte VPC.Assurez-vous que le format du nom du réseau est correct :
PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)") cat <<EOF > config.yaml network: projects/PROJECT_NUMBER/global/networks/NETWORK_NAME EOF
Créez une application d'entraînement à exécuter sur Vertex AI.
Créez le fichier
CustomJob
en transmettant votre fichierconfig.yaml
:gcloud ai custom-jobs create \ --region=LOCATION \ --display-name=JOB_NAME \ --python-package-uris=PYTHON_PACKAGE_URIS \ --worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE \ --config=config.yaml
Pour savoir comment remplacer les espaces réservés dans cette commande, consultez la page Créer des tâches d'entraînement personnalisées.
Exécuter des tâches sur différents réseaux
Vous ne pouvez pas effectuer d'entraînement personnalisé sur un nouveau réseau lorsque l'entraînement personnalisé est encore en cours sur un autre réseau. Avant de basculer vers un autre réseau, vous devez attendre que tous les CustomJob
, les HyperparameterTuningJob
et les ressources TrainingPipeline
personnalisées que vous avez envoyés soient terminés, ou vous devez les annuler.
Tester l'accès aux tâches d'entraînement
Cette section explique comment vérifier qu'une ressource d'entraînement personnalisée peut accéder aux adresses IP privées de votre réseau.
- Créez une instance Compute Engine dans votre réseau VPC.
- Vérifiez vos règles de pare-feu pour vous assurer qu'elles ne limitent pas l'entrée du réseau de Vertex AI. Si tel est le cas, ajoutez une règle pour vous assurer que le réseau d'IA Vertex peut accéder à la plage d'adresses IP que vous avez réservée pour Vertex AI (et à d'autres producteurs de services).
- Configurez un serveur local sur l'instance de VM afin de créer un point de terminaison auquel un
CustomJob
Vertex AI peut accéder. - Créez une application d'entraînement Python à exécuter sur Vertex AI. À la place du code d'entraînement du modèle, créez du code qui accède au point de terminaison que vous avez configuré à l'étape précédente.
- Suivez l'exemple précédent pour créer une tâche
CustomJob
.
Problèmes courants
Cette section répertorie certains problèmes courants de configuration de l'appairage de réseaux VPC avec Vertex AI.
Lorsque vous configurez Vertex AI pour utiliser votre réseau, spécifiez le nom complet du réseau :
"projects/YOUR_PROJECT_NUMBER/global/networks/YOUR_NETWORK_NAME"
Assurez-vous qu'aucun entraînement personnalisé n'est en cours sur un réseau avant d'effectuer l'entraînement personnalisé sur un autre réseau.
Assurez-vous d'avoir alloué une plage d'adresses IP suffisante à tous les producteurs de services auxquels votre réseau se connecte, y compris Vertex AI.
Pour plus d'informations sur le dépannage, consultez le guide de dépannage sur l'appairage de réseaux VPC.
Étape suivante
- Apprenez-en plus sur l'appairage de réseaux VPC.
- Consultez la section Architectures de référence et bonnes pratiques pour la conception de VPC.