In dieser Anleitung erfahren Sie, wie Sie mit MaxText und Cluster Toolkit ein Multi-Host-Training für Reinforcement Learning (RL) auf einem Tensor Processing Unit (TPU)-Cluster (v6e-64) durchführen. Mit
Cluster Toolkit führen Sie eine
Multi-Host-Trainingsarbeitslast aus und exportieren die Ergebnisse zur Bereitstellung wieder in das Hugging Face-Format.
Ziele
- Cluster Toolkit und seine Abhängigkeiten installieren
- MaxText und seine Abhängigkeiten installieren
- Cluster Toolkit-Cluster bereitstellen
- Hugging Face-Modell in das MaxText-Format konvertieren
- RL-Trainingsarbeitslast auf dem TPU v6e-Cluster ausführen
- Das feinabgestimmte Modell zur Bereitstellung wieder in das Hugging Face-Format konvertieren
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Verwenden Sie den Preisrechner.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweis
Für diese Anleitung benötigen Sie ein Hugging Face-Zugriffstoken. Sie können sich kostenlos bei Hugging Face registrieren. Nachdem Sie ein Konto haben, erstellen Sie ein Zugriffstoken:
- Klicken Sie auf der Seite Welcome to Hugging Face (Willkommen bei Hugging Face) auf Ihren Kontoavatar und wählen Sie Access tokens (Zugriffstokens) aus.
- Klicken Sie auf der Seite Access tokens (Zugriffstokens) auf Create new token (Neues Token erstellen).
- Wählen Sie den Tokentyp Read (Lesen) aus und geben Sie einen Namen für Ihr Token ein.
- Ihr Zugriffstoken wird angezeigt. Speichern Sie das Token an einem sicheren Ort.
- Akzeptieren Sie auf der Hugging Face-Website die Lizenz
vereinbarung für das Modell, das Sie trainieren möchten. In dieser Anleitung wird das Modell
gemma4-26bverwendet.
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen dieser Anleitung benötigen:
-
Für diese Anleitung:
- TPU-Administrator (
roles/tpu.admin) - Service Account User (
roles/iam.serviceAccountUser) - Compute-Bearbeiter (
roles/compute.editor)
- TPU-Administrator (
-
So bereiten Sie Ihr MaxText-Container-Image vor:
- Cloud Build-Bearbeiter (
roles/cloudbuild.builds.editor) - Artifact Registry-Administrator (
roles/artifactregistry.admin) - Storage-Administrator (
roles/storage.admin) - Service Usage-Administrator (
roles/serviceusage.serviceUsageAdmin)
- Cloud Build-Bearbeiter (
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Umgebungsvariablen einrichten
Richten Sie die Umgebungsvariablen ein:
Ersetzen Sie Folgendes:
- YOUR_PROJECT_ID: die ID Ihres Google Cloud Projekts.
- YOUR_REGION: die Region, in der Sie Ihren Cluster bereitstellen möchten.
- YOUR_ZONE: die Zone, in der Sie Ihren Cluster bereitstellen möchten.
- YOUR_CLUSTER_NAME: der Name Ihres Google Kubernetes Engine Clusters.
- YOUR_REPOSITORY_NAME: der Name des Artifact Registry Repositorys für Ihre MaxText-Images.
- YOUR_BUCKET_NAME: ein global eindeutiger Name für einen Cloud Storage-Bucket.
- YOUR_RESERVATION_NAME: der Name Ihrer Reservierung.
- YOUR_HF_TOKEN: Ihr Hugging Face-Zugriffstoken.
Cluster Toolkit-Abhängigkeiten installieren
Wenn Sie diese Anleitung auf einem Linux- oder macOS-Client oder einer Linux- oder macOS-Workstation ausführen möchten, folgen Sie der entsprechenden Anleitung unter Abhängigkeiten installieren in der Cluster Toolkit-Dokumentation.
Wenn Sie Cloud Shell verwenden, können Sie diesen Abschnitt überspringen.
Cluster Toolkit installieren
Installieren Sie das vorgefertigte Bundle für Cluster Toolkit gemäß der Anleitung unter Cluster Toolkit installieren.
MaxText-Container-Image vorbereiten
Führen Sie die folgenden Schritte aus, um Ihr MaxText-Container-Image vorzubereiten und die erforderlichen Abhängigkeiten zu installieren:
Erstellen Sie einen Cloud Storage-Bucket:
Erstellen Sie ein Artifact Registry-Repository.
Erstellen Sie im Stammverzeichnis Ihres Repositorys eine Datei mit dem Namen
cloudbuild.yamlund dem folgenden Inhalt:Erstellen Sie mit Cloud Build Ihr MaxText-Docker-Image:
Cluster Toolkit-Cluster erstellen
Führen Sie die folgenden Schritte aus, um einen Cluster Toolkit-Cluster mit 64 v6e-TPU-Chips zu erstellen und bereitzustellen:
Erstellen Sie eine benutzerdefinierte IAM-Rolle (Identity and Access Management) mit dem Namen
gke.gcsfuse.profileUser:Erstellen Sie einen Cloud Storage-Bucket:
Standardmäßig hat das Dienstkonto Ihres Cluster-Knotenpools nicht die erforderlichen Berechtigungen, um in Ihren Cloud Storage-Bucket zu schreiben. Damit das Knotenpool-Dienstkonto in Ihren Cloud Storage-Bucket schreiben kann, müssen Sie ihm die Rolle
Storage Adminzuweisen. Bearbeiten Sie dazu die Dateigke-tpu-v6e-advanced.yamlund aktualisieren Sie dasservice-accountModul mit dem Namennode_pool_service_account:Wenden Sie benutzerdefinierte Einstellungen auf den Block
gke-tpu-v6e-clusteran, um die Standardeinstellungen für IPv6 und Maschinentyp zu überschreiben:Stellen Sie Ihren Cluster Toolkit-Cluster mit dem Blueprint
gke-tpu-v6e-advanced.yamlbereit und übergeben Sie die erforderlichen Variablen mit dem Flag--vars:
Modell in das MaxText-Format konvertieren
Wenn Sie das Modell im MaxText-Format trainieren möchten, müssen Sie es vom Hugging Face-Format in das MaxText-Format konvertieren.
Nachdem Sie Ihren Cluster Toolkit-Cluster erstellt haben, konfigurieren Sie Docker:
Konfigurieren Sie Ihr Standardprojekt, Ihren Standardcluster und Ihren Standardstandort, um nachfolgende Befehle zu vereinfachen:
Konvertieren Sie das Modell vom Hugging Face-Format in das MaxText-Format und speichern Sie es in Ihrem Cloud Storage-Bucket:
Prüfen Sie den Status des Konvertierungsjobs:
Trainingsarbeitslast starten
Nach Abschluss der Konvertierung starten Sie die RL-Trainingsarbeitslast:
Prüfen Sie den Status des Trainingsjobs:
Trainiertes Modell wieder in das Hugging Face-Format konvertieren
Nach Abschluss der Trainingsarbeitslast konvertieren Sie das Modell wieder in das Hugging Face-Format:
Prüfen Sie den Status des Konvertierungsjobs:
Bereinigen
Löschen Sie die in dieser Anleitung erstellten Ressourcen, um zusätzliche Gebühren zu vermeiden:
Nächste Schritte
- Weitere Informationen zu Cloud TPU finden Sie unter Einführung in Cloud TPU.
- Architektur- und Konfigurationsdetails für die
v6e-64-TPU finden Sie unter TPU v6e. - Weitere Informationen zu Cluster Toolkit finden Sie unter Cluster Toolkit – Übersicht.