In dieser Anleitung erfahren Sie, wie Sie die überwachte Feinabstimmung (Supervised Fine-Tuning, SFT) in einem TPU v6e-Cluster (Tensor Processing Unit) mit MaxText und Cluster Toolkit ausführen. Mit Cluster Toolkit führen Sie eine Trainingsarbeitslast mit mehreren Hosts aus und exportieren die Ergebnisse zur Bereitstellung im Hugging Face-Format.
Ziele
- Cluster Toolkit und die zugehörigen Abhängigkeiten installieren
- MaxText und die zugehörigen Abhängigkeiten installieren
- Cluster Toolkit-Cluster bereitstellen
- Hugging Face-Modell in das MaxText-Format konvertieren
- SFT-Trainingsarbeitslast auf der TPU 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 für ein kostenloses Konto 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-31bverwendet.
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, indem Sie das folgende Skript ausführen:
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_REPOSITORY_NAME: der Name des Artifact Registry Repositorys für Ihre MaxText-Images.
- YOUR_RESERVATION_NAME: der Name Ihrer Reservierung.
- YOUR_HF_TOKEN: Ihr Hugging Face-Zugriffstoken.
- YOUR_BUCKET_NAME: ein weltweit eindeutiger Name für einen Cloud Storage-Bucket.
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
So bereiten Sie Ihr MaxText-Container-Image vor, einschließlich der Installation der erforderlichen Abhängigkeiten:
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
So erstellen und stellen Sie einen Cluster Toolkit-Cluster mit 32 v6e-TPU-Chips bereit:
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 des Cluster-Knotenpools nicht die erforderlichen Berechtigungen, um in Ihren Cloud Storage-Bucket zu schreiben. Damit das Dienstkonto des Knotenpools 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 das Modulnode_pool_service_account: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 den Cluster Toolkit-Cluster erstellt haben, konfigurieren Sie Docker:
Konfigurieren Sie Ihr Standardprojekt, Ihren Standardcluster und Ihren Standardstandort, um nachfolgende Befehle zu vereinfachen:
Führen Sie das folgende Skript aus, um das Modell vom Hugging Face-Format in das MaxText-Format zu konvertieren und in Ihrem Cloud Storage-Bucket zu speichern:
Führen Sie den folgenden Befehl aus, um den Status des Konvertierungsjobs zu prüfen:
Trainingsarbeitslast starten
Nach Abschluss der Konvertierung können Sie die SFT-Arbeitslast mit dem folgenden Befehl starten:
Führen Sie den folgenden Befehl aus, um den Status des Trainingsjobs zu prüfen:
Trainiertes Modell wieder in das Hugging Face-Format konvertieren
Nach Abschluss der Trainingsarbeitslast konvertieren Sie das Modell wieder in das Hugging Face-Format:
Führen Sie den folgenden Befehl aus, um den Status des Konvertierungsjobs zu prüfen:
Bereinigen
Löschen Sie die in dieser Anleitung erstellten Ressourcen, um zusätzliche Kosten 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-32-TPU finden Sie unter TPU v6e.