Ce tutoriel vous explique comment exécuter un entraînement d'apprentissage par renforcement (RL) multihôte sur un cluster Tensor Processing Unit (TPU) v6e-64 à l'aide de MaxText et de Cluster Toolkit. Vous utilisez
Cluster Toolkit pour exécuter une charge de travail d'entraînement multihôte et exporter les résultats au format Hugging Face
pour la diffusion.
Objectifs
- Installer Cluster Toolkit et ses dépendances.
- Installer MaxText et ses dépendances.
- Déployer un cluster Cluster Toolkit.
- Convertir un modèle Hugging Face au format MaxText.
- Exécuter une charge de travail d'entraînement RL sur le cluster TPU v6e.
- Reconvertir le modèle affiné au format Hugging Face pour la diffusion.
Coûts
Dans ce document, vous utilisez les composants facturables de suivants Google Cloud:
Obtenez une estimation des coûts en fonction de votre utilisation prévue,
utilisez le simulateur de coût.
Une fois que vous avez terminé les tâches décrites dans ce document, supprimez les ressources que vous avez créées pour éviter que des frais vous soient facturés. Pour en savoir plus, consultez la section Libérer de l'espace.
Avant de commencer
Vous avez besoin d'un jeton d'accès Hugging Face pour suivre ce tutoriel. Vous pouvez vous inscrire pour obtenir un compte sans frais sur Hugging Face. Une fois que vous avez un compte, générez un jeton d'accès :
- Sur la page Bienvenue sur Hugging Face, cliquez sur l'avatar de votre compte, puis sélectionnez Access tokens (Jetons d'accès).
- Sur la page Access tokens (Jetons d'accès), cliquez sur Create new token (Créer un jeton).
- Sélectionnez le type de jeton Read (Lecture), puis saisissez un nom pour votre jeton.
- Votre jeton d'accès s'affiche. Enregistrez-le dans un endroit sûr.
- Sur le site Web Hugging Face, acceptez le contrat de licence
du modèle que vous prévoyez d'entraîner. Ce tutoriel utilise le modèle
gemma4-26b.
Pour obtenir les autorisations nécessaires pour suivre ce tutoriel, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Pour suivre ce tutoriel :
- Administrateur TPU (
roles/tpu.admin) - Utilisateur du compte de service (
roles/iam.serviceAccountUser) - Éditeur Compute (
roles/compute.editor)
- Administrateur TPU (
-
Pour préparer votre image de conteneur MaxText :
- Éditeur Cloud Build (
roles/cloudbuild.builds.editor) - Administrateur Artifact Registry (
roles/artifactregistry.admin) - Administrateur de l'espace de stockage (
roles/storage.admin) - Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin)
- Éditeur Cloud Build (
Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Configurer vos variables d'environnement
Configurez vos variables d'environnement :
Remplacez les éléments suivants :
- YOUR_PROJECT_ID : ID de votre Google Cloud projet.
- YOUR_REGION : région dans laquelle vous souhaitez déployer votre cluster.
- YOUR_ZONE : zone dans laquelle vous souhaitez déployer votre cluster.
- YOUR_CLUSTER_NAME : nom de votre cluster Google Kubernetes Engine.
- YOUR_REPOSITORY_NAME : nom du dépôt Artifact Registry pour vos images MaxText.
- YOUR_BUCKET_NAME : nom globalement unique pour un bucket Cloud Storage.
- YOUR_RESERVATION_NAME : nom de votre réservation.
- YOUR_HF_TOKEN : jeton d'accès Hugging Face.
Installer les dépendances de Cluster Toolkit
Pour suivre ce tutoriel à partir d'un client ou d'une station de travail Linux ou macOS, suivez les étapes appropriées dans Installer les dépendances dans la documentation de Cluster Toolkit.
Si vous utilisez Cloud Shell, vous pouvez ignorer cette section.
Installer Cluster Toolkit
Installez le bundle précompilé pour Cluster Toolkit en suivant les instructions de la section Installer Cluster Toolkit.
Préparer votre image de conteneur MaxText
Pour préparer votre image de conteneur MaxText, y compris installer les dépendances requises, procédez comme suit :
Créez un bucket Cloud Storage :
Créez un dépôt Artifact Registry.
Créez un fichier dans le répertoire racine de votre dépôt avec le nom de fichier
cloudbuild.yamlet le contenu suivant :Utilisez Cloud Build pour créer votre image Docker MaxText :
Créer votre cluster Cluster Toolkit
Pour créer et déployer un cluster Cluster Toolkit avec 64 puces TPU v6e, procédez comme suit :
Créez un rôle IAM (Identity and Access Management) personnalisé nommé
gke.gcsfuse.profileUser:Créez un bucket Cloud Storage :
Par défaut, le compte de service du pool de nœuds de votre cluster ne dispose pas des autorisations requises pour écrire dans votre bucket Cloud Storage. Pour autoriser le compte de service du pool de nœuds à écrire dans votre bucket Cloud Storage, vous devez lui accorder le rôle
Storage Admin. Pour accorder ce rôle, modifiez le fichiergke-tpu-v6e-advanced.yamlen mettant à jour leservice-accountmodule nomménode_pool_service_account:Appliquez des paramètres personnalisés au bloc
gke-tpu-v6e-clusterqui remplacent les paramètres IPv6 et de type de machine par défaut :Déployez votre cluster Cluster Toolkit à l'aide du plan
gke-tpu-v6e-advanced.yamlet transmettez les variables requises à l'aide de l'option--vars:
Convertir le modèle au format MaxText
Pour entraîner le modèle au format MaxText, vous devez le convertir du format Hugging Face au format MaxText.
Une fois que vous avez terminé de créer votre cluster Cluster Toolkit, configurez Docker :
Pour simplifier les commandes suivantes, configurez votre projet, votre cluster et votre emplacement par défaut :
Convertissez le modèle du format Hugging Face au format MaxText et stockez-le dans votre bucket Cloud Storage :
Vérifiez l'état de la tâche de conversion :
Démarrer la charge de travail d'entraînement
Une fois le processus de conversion terminé, démarrez la charge de travail d'entraînement RL :
Vérifiez l'état de la tâche d'entraînement :
Reconvertir le modèle entraîné au format Hugging Face
Une fois la charge de travail d'entraînement terminée, reconvertissez le modèle au format Hugging Face :
Vérifiez l'état de la tâche de conversion :
Libérer de l'espace
Pour éviter que des frais supplémentaires ne vous soient facturés, supprimez les ressources créées lors de ce tutoriel :
Étape suivante
- Pour en savoir plus sur les Cloud TPU, consultez la Présentation des Cloud TPU.
- Pour en savoir plus sur l'architecture et la configuration du
v6e-64TPU, consultez TPU v6e. - Pour en savoir plus sur Cluster Toolkit, consultez la présentation de Cluster Toolkit.