Mettre à niveau l'environnement d'une instance de notebooks gérés par l'utilisateur

Les instances de notebooks gérées par l'utilisateur Vertex AI Workbench sont des instances Deep Learning VM Image dans lesquelles les environnements de notebook JupyterLab sont activés et prêts à être utilisés. Cette page explique comment mettre à niveau l'environnement d'une instance de notebooks gérés par l'utilisateur.

Motifs de la mise à niveau

Vous pouvez être amené à mettre à niveau l'environnement de votre instance de notebooks gérés par l'utilisateur pour l'une des raisons suivantes :

  • Pour utiliser les nouvelles fonctionnalités qui ne sont disponibles que dans une version plus récente de votre environnement.

  • Pour bénéficier des mises à jour de framework, des mises à jour de packages et des corrections de bugs intégrées dans une version plus récente de votre environnement.

Méthodes de mise à niveau

Deux méthodes permettent de mettre à niveau une instance de notebooks gérés par l'utilisateur :

  • Mise à niveau automatique : activez la mise à niveau automatique lorsque vous créez une instance de notebooks gérés par l'utilisateur. Pendant une période récurrente que vous spécifiez, Vertex AI Workbench vérifie si votre instance peut être mise à niveau et, le cas échéant, met à niveau votre instance.

  • Mise à niveau manuelle : si une instance de notebooks gérés par l'utilisateur existante respecte les conditions de la mise à niveau, vous pouvez mettre à niveau l'instance manuellement.

Conditions requises et limites

La rétrocompatibilité avec vos notebooks gérés par l'utilisateur n'est pas garantie. Effectuez une copie de vos données avant de mettre à niveau une instance de notebooks gérés par l'utilisateur.

Pour déterminer si vous pouvez mettre à niveau une instance de notebooks gérés par l'utilisateur spécifique, consultez les exigences et limitations suivantes :

  • L'API Notebooks doit être activée dans le projet Google Cloud de l'instance. Pour en savoir plus, consultez les sections Répertorier les services activés et Activer une API.

  • La version de l'environnement de l'instance de notebooks gérés par l'utilisateur doit être une version M54 ou ultérieure.

  • L'instance de notebooks gérés par l'utilisateur doit avoir été créée à l'aide de l'API Notebooks ou doit avoir été enregistrée avec l'API Notebooks.

  • Si votre instance de notebooks gérés par l'utilisateur est basée sur des conteneurs, Vertex AI Workbench met à niveau le système d'exploitation. La version d'image dépend de l'image spécifique extraite par votre fichier Dockerfile.

    Pour vous assurer que la mise à niveau utilise la version la plus récente de l'image, envisagez d'utiliser le tag latest dans votre fichier Dockerfile.

Si la mise à niveau de votre instance n'est pas possible dans votre cas, envisagez de migrer vos données vers une nouvelle instance de notebooks gérés par l'utilisateur.

Fonctionnement de la mise à niveau

Les instances de notebooks gérés par l'utilisateur pouvant être mises à niveau sont des instances à deux disques, avec un disque de démarrage et un disque de données. Le processus met à niveau le disque de démarrage vers une nouvelle image tout en conservant les données sur le disque de données.

Quels composants sont mis à niveau ou conservés ?

Le tableau suivant indique les composants de votre instance de notebooks gérés par l'utilisateur qui sont mis à niveau et ceux qui sont conservés.

Composant Résultat de la mise à niveau
Frameworks de machine learning Mis à niveau
Données de machine learning Conservés
Dépendances préinstallées Mis à niveau
Bibliothèques installées par l'utilisateur Par défaut, doit être réinstallé (voir Bibliothèques installées par l'utilisateur).
Fichiers locaux dans le répertoire /home/jupyter Conservés
Fichiers locaux dans tout autre répertoire /home/ Aucune conservation
Packages de système d'exploitation préinstallés Mis à niveau
Packages de système d'exploitation installés par l'utilisateur Aucune conservation
Pilotes de GPU Mis à niveau
Notebooks Conservés
Configurations utilisateur Conservés

Bibliothèques installées par l'utilisateur

Par défaut, les instances de notebooks gérées par l'utilisateur stockent les bibliothèques pip et Conda dans le disque de démarrage, qui est remplacé lors d'une mise à niveau. Lorsque vous installez des bibliothèques pip, vous pouvez inclure l'option --user pour les installer dans le répertoire /home/jupyter/, où elles sont conservées lors d'une mise à niveau.

Par défaut, si vous installez des bibliothèques pip ou Conda dans un noyau créé à partir d'un conteneur personnalisé, les bibliothèques ne persistent que pendant l'exécution du noyau. Chaque fois que le noyau est redémarré, ces bibliothèques doivent être réinstallées. Pour installer des bibliothèques persistantes dans un conteneur personnalisé, incluez les installations de bibliothèques dans votre fichier Dockerfile. Lorsque vous installez des bibliothèques pip dans un noyau créé à partir d'un conteneur personnalisé, vous pouvez inclure l'option --user afin que les bibliothèques persistent jusqu'au redémarrage de l'instance.

Versions d'environnement

Vertex AI Workbench met régulièrement à jour les environnements (consultez les notes de version de Deep Learning VM), mais les environnements ne sont pas tous mis à jour à chaque nouvelle version. Vertex AI Workbench ne met à niveau une instance que s'il existe une version plus récente de l'environnement pour l'image de VM sur laquelle votre instance est basée.

Pour savoir comment créer une instance de notebooks gérés par l'utilisateur à l'aide d'une version spécifique, consultez la section Créer une version spécifique d'une instance de notebook gérés par l'utilisateur.

Avant la mise à niveau

Avant de mettre à niveau, procédez comme suit :

  1. Consultez les notes de version pour en savoir plus sur les mises à jour vers des versions plus récentes.

  2. Créer une copie de vos données en tant que sauvegarde.

Mise à niveau automatique

Vertex AI Workbench peut automatiquement mettre à niveau les instances en cours d'exécution. Si votre instance est arrêtée, elle n'est pas automatiquement mise à niveau, même si vous avez activé la mise à niveau automatique lors de sa création.

Lorsque vous activez les mises à niveau automatiques de l'environnement, vous spécifiez une période récurrente pendant laquelle Vertex AI Workbench vérifie si l'instance peut être mise à niveau et, le cas échéant, met à niveau l'instance.

La période que vous spécifiez est stockée sous la forme d'une entrée de métadonnées notebook-upgrade-schedule, au format unix-cron, à l'heure du méridien de Greenwich (GMT).

Pour vérifier si une instance peut être mise à niveau, Vertex AI Workbench utilise la méthode API isUpgradeable. Cette méthode recherche une version plus récente de l'image sur le disque de démarrage de l'instance.

Si l'instance peut être mise à niveau, Vertex AI Workbench utilise une méthode de mise à niveau interne pour mettre à niveau l'instance.

Créer une instance de notebooks gérés par l'utilisateur avec la mise à niveau automatique activée

Pour créer une instance de notebooks gérés par l'utilisateur avec la mise à niveau automatique activée, cochez la case Activer la mise à niveau automatique de l'environnement et définissez le calendrier de mise à niveau au moment de créer l'instance.

Vous pouvez spécifier une mise à niveau automatique à l'aide de la console Google Cloud ou de Google Cloud CLI.

Avant de commencer

Avant de pouvoir créer une instance de notebooks gérés par l'utilisateur, vous devez disposer d'un projet Google Cloud et activer l'API Notebooks pour ce projet.
  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Si vous prévoyez d'utiliser des GPU avec votre instance de notebooks gérés par l'utilisateur, consultez la page des quotas dans la console Google Cloud pour vous assurer que vous disposez de suffisamment de GPU dans votre projet. Si les GPU ne figurent pas sur la page "Quotas" ou que vous avez besoin d'un quota de GPU supplémentaire, demandez une augmentation de quota. Consultez la section Demander une augmentation de quota de la page Quotas de ressources Compute Engine.

Rôles requis

Si vous avez créé le projet, vous disposez du rôle IAM Propriétaire (roles/owner) sur le projet, qui inclut toutes les autorisations requises. Ignorez cette section et commencez à créer votre instance de notebooks gérés par l'utilisateur. Si vous n'avez pas créé le projet vous-même, continuez dans cette section.

Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour créer une instance de notebooks gérés par l'utilisateur Vertex AI Workbench, demandez à votre administrateur d'attribuer les rôles IAM suivants à votre compte utilisateur sur le projet :

Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

Votre administrateur peut également attribuer à votre compte utilisateur les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créer l'instance

Console

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur. Vous pouvez également accéder à notebook.new (https://notebook.new) et ignorer l'étape suivante.

    Accéder à la page Notebooks gérés par l'utilisateur

  2. Sélectionnez  Nouveau notebook, puis Personnaliser.

  3. Dans la section Détails de la page Créer un notebook géré par l'utilisateur, fournissez les informations suivantes pour votre nouvelle instance :

    • Nom : nom de la nouvelle instance.
    • Région et Zone : sélectionnez une région et une zone pour la nouvelle instance. Pour obtenir les meilleures performances réseau, sélectionnez la région la plus proche de vous géographiquement. Découvrez les emplacements de notebooks gérés par l'utilisateur disponibles.
  4. Dans la section État du système, sélectionnez Mise à niveau automatique de l'environnement.

  5. Vous pouvez choisir de mettre à niveau votre notebook toutes les semaines ou tous les mois.

  6. Dans le champ Jour de la semaine, sélectionnez l'option de votre choix.

  7. Dans le champ Heure, sélectionnez une heure de la journée.

  8. Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.

gcloud

  1. Dans Cloud Shell ou dans tout environnement dans lequel Google Cloud CLI est installé, saisissez la commande suivante de Google Cloud CLI :

    gcloud notebooks instances create INSTANCE_NAME
        --metadata=notebook-upgrade-schedule=SCHEDULE
        --vm-image-project=deeplearning-platform-release
        --vm-image-family=VM_IMAGE_FAMILY
        --machine-type=MACHINE_TYPE
        --location=LOCATION
    

    Remplacez les éléments suivants :

    • INSTANCE_NAME : nom de votre nouvelle instance.
    • SCHEDULE : programmation hebdomadaire ou mensuelle que vous définissez, au format unix-cron. Par exemple, "00 19 * * MON" signifie toutes les semaines, le lundi à 19 h (heure du méridien de Greenwich)
    • VM_IMAGE_FAMILY : nom de la famille d'images que vous souhaitez utiliser pour créer votre instance.
    • MACHINE_TYPE : type de machine de la VM de votre instance
    • LOCATION : emplacement Google Cloud dans lequel vous souhaitez que votre nouvelle instance se trouve
  2. Accédez à votre instance à partir de la console Google Cloud.

Modifier le calendrier de mise à niveau automatique

Pour modifier le calendrier de mise à niveau automatique après avoir créé votre instance de notebooks gérés par l'utilisateur, procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.

    Accéder à la page Notebooks gérés par l'utilisateur

  2. Cliquez sur le nom de l'instance qui nécessite une modification de la programmation.

  3. Dans la section Mise à niveau automatique des environnements de la page Détails du notebook, modifiez la planification.

  4. Cliquez sur Soumettre pour enregistrer les modifications.

Mise à niveau manuelle

Vous pouvez mettre à niveau manuellement les instances de notebooks gérés par l'utilisateur qui répondent à ces conditions.

Rechercher une version plus récente de l'environnement de votre instance

Pour vérifier si une version plus récente de l'environnement de votre instance est disponible, accédez à votre instance à partir de la console Google Cloud.

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.

    Accéder à la page Notebooks gérés par l'utilisateur

  2. Si votre instance n'est pas en cours d'exécution, démarrez-la. Vertex AI Workbench ne peut mettre à niveau des instances que lorsqu'elles sont en cours d'exécution.

  3. Cliquez sur le nom de l'instance pour laquelle vous souhaitez vérifier la disponibilité d'une version plus récente de l'environnement.

  4. Sur la page Détails du notebook, à côté de Détails de la VM, cliquez sur Afficher dans Compute Engine.

    Si une version plus récente de l'environnement est disponible, le message "Cette instance doit être mise à niveau" s'affiche.

Mettre à niveau l'environnement de votre instance vers une version plus récente

Vous pouvez mettre à jour manuellement une instance de notebook gérée par l'utilisateur dans la console Google Cloud ou à l'aide de Google Cloud CLI.

Console

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.

    Accéder à la page Notebooks gérés par l'utilisateur

  2. Si votre instance n'est pas en cours d'exécution, démarrez-la. Vertex AI Workbench ne peut mettre à niveau des instances que lorsqu'elles sont en cours d'exécution.

  3. Cliquez sur le nom de l'instance que vous souhaitez mettre à niveau.

  4. Sur la page Détails du notebook, cliquez sur  Mettre à niveau.

  5. Assurez-vous d'avoir effectué une copie des données sur votre instance avant de continuer.

  6. Une fois vos données sauvegardées, cliquez sur Mettre à niveau. Vertex AI Workbench met à niveau et démarre votre instance.

gcloud

  1. Pour vérifier si une instance peut être mise à niveau, utilisez la méthode API isUpgradeable. Cette méthode recherche une version plus récente de l'image sur le disque de démarrage de l'instance.

    gcloud notebooks instances is-upgradeable INSTANCE_NAME \
        --location=LOCATION
    

    Remplacez l'élément suivant :

    • INSTANCE_NAME : nom de l'instance
    • LOCATION : zone Google Cloud dans laquelle se trouve votre instance.

    Si l'instance peut être mise à niveau, la réponse est true. Si la réponse est false, l'instance ne peut pas être mise à niveau, mais vous pouvez toujours tenter de migrer vos données vers une nouvelle instance.

  2. Si votre instance n'est pas en cours d'exécution, démarrez-la. Vertex AI Workbench ne peut mettre à niveau des instances que lorsqu'elles sont en cours d'exécution.

  3. Assurez-vous d'avoir effectué une copie des données sur votre instance avant de continuer.

  4. Si l'instance peut être mise à niveau, utilisez la méthode API upgrade pour mettre à niveau l'instance.

    gcloud notebooks instances upgrade INSTANCE_NAME \
        --location=LOCATION
    

    Vertex AI Workbench met à niveau l'instance.

Effectuer le rollback d'une mise à niveau

Pour effectuer le rollback d'une mise à niveau, procédez comme suit :

  1. Dans Google Cloud Console, accédez à la page Notebooks gérés par l'utilisateur.

    Accéder à la page Notebooks gérés par l'utilisateur

  2. Cliquez sur le nom de l'instance à restaurer.

  3. Sur la page Détails du notebook, sous Mettre à niveau l'historique, cliquez sur Rollback.

  4. Vertex AI Workbench restaure la version précédente de votre instance.