In dieser Anleitung erfahren Sie Schritt für Schritt, wie Sie mit MaxText auf Cloud TPU ein überwachtes Fine-Tuning (Supervised Fine-Tuning, SFT) für das Modell Qwen3-14b ausführen. Sie lernen, wie Sie ein spezialisiertes Container-Image erstellen, einen Google Kubernetes Engine-Cluster (GKE) mit Pathways mithilfe des Accelerated Processing Kit (XPK) bereitstellen und eine Trainingsarbeitslast mit mehreren Hosts ausführen.
Ziele
- Sie erfahren, wie Sie ein benutzerdefiniertes MaxText-Container-Image erstellen, das für die Nachbearbeitung optimiert ist.
- Sie stellen einen GKE-Cluster mit XPK und aktiviertem Pathways bereit.
- Sie konvertieren das Modell Qwen3 14b vom Hugging Face-Format in das MaxText-Format.
- Sie führen eine SFT-Trainingsarbeitslast mit mehreren Hosts auf Cloud TPU aus.
- Sie konvertieren das feinabgestimmte Modell zur Bereitstellung wieder in das Hugging Face-Format.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
- Google Kubernetes Engine
- Cloud TPU
- Cloud Storage
- Artifact Registry
- Compute Engine, for the temporary build virtual machine (VM)
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
- Prüfen Sie, ob Ihr Nutzerkonto oder Dienstkonto die folgenden Rollen hat:
roles/compute.adminzum Erstellen der Build-VMroles/artifactregistry.adminzum Verwalten des Docker-Repositorysroles/storage.adminzum Verwalten des Daten-Bucketsroles/container.adminzum Erstellen und Verwalten des Google Kubernetes Engine-Clustersroles/iam.serviceAccountAdminzum Erstellen des Dienstkontos für die Arbeitslastroles/resourcemanager.projectIamAdminzum Festlegen von IAM-Richtlinien (Identity and Access Management)roles/iam.serviceAccountUserzum Handeln als Dienstkonto
- Installieren und initialisieren Sie das Google Cloud CLI.
- Prüfen Sie, ob Python 3.12 oder höher auf Ihrer Workstation installiert ist.
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, generieren 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.
Umgebung einrichten
Richten Sie Ihre Umgebungsvariablen ein, indem Sie das folgende Skript ausführen:
Ersetzen Sie Folgendes:
- YOUR_PROJECT_ID: Ihre Google Cloud Projekt-ID
- YOUR_REGION: die Region, die Sie verwenden möchten
- YOUR_ZONE: die Zone, die Sie verwenden möchten
- YOUR_CLUSTER_NAME: ein Name für Ihren Google Kubernetes Engine-Cluster
- YOUR_GCS_BUCKET: ein eindeutiger Name für Ihren Cloud Storage-Bucket
- YOUR_RESERVATION_NAME: Ihre Kapazitätsreservierung
- YOUR_HF_TOKEN: Ihr Hugging Face-Zugriffstoken
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:
Google Kubernetes Engine-Cluster erstellen
Um das SFT-Training für das Modell Qwen3 14b auszuführen, benötigen Sie einen Google Kubernetes Engine-Cluster mit TPU-Chips. Installieren Sie das Accelerated Processing Kit (XPK) und erstellen Sie einen GKE-Cluster mit Pathways-Unterstützung.
Modell für das Training vorbereiten
Konvertieren Sie das Basismodell mit einer CPU-basierten Arbeitslast in das MaxText-Format. Führen Sie diese Aufgabe nicht parallel auf mehreren Maschinen aus. Der folgende Befehl enthält eine Prüfung, um sicherzustellen, dass die Konvertierung nur auf einem TPU-Knoten ausgeführt wird.
Fortschritt der Modellkonvertierung verfolgen
So verfolgen Sie den Fortschritt der Konvertierung:
- Führen Sie den Befehl
kubectl get podaus, um die Pods aufzulisten, die in Ihrem GKE-Cluster geplant sind. - Suchen Sie den Pod mit dem Namen
qwen-hf-to-mt-slice-job-0-0-HASH. - Führen Sie den Befehl aus, um die Ausgabe des Pods in Echtzeit zu prüfen
kubectl logs -f POD_NAME.
Trainingsarbeitslast starten
Nach Abschluss der Konvertierung können Sie die SFT-Feinabstimmungsarbeitslast mit XPK starten.
Trainingsarbeitslast überwachen
Überwachen Sie den Status Ihrer Arbeitslast mit dem XPK-Befehlszeilentool.
xpk workload list --cluster ${CLUSTER_NAME} --project ${PROJECT} --zone ${ZONE}
Verwenden Sie die Google Cloud Console, um Logs und die TPU-Auslastung aufzurufen. Sie können Logs auch mit dem folgenden Befehl aufrufen:
kubectl logs -f qwen-training-pathways-head-0-0-HASH
Ersetzen Sie HASH durch den numerischen Hash im Namen Ihres Pods. Führen Sie den Befehl kubectl get pod aus und prüfen Sie die zurückgegebene Liste der Pods, um den Wert dieses Hash zu prüfen.
Trainiertes Modell wieder in das Hugging Face-Format konvertieren
Nach Abschluss der Trainingsarbeitslast konvertieren Sie die Prüfpunkte wieder in das Hugging Face-Format.
Führen Sie den Befehl
kubectl logs -f qwen-mt-to-hf-slice-job-0-0-HASH, aus, um den Fortschritt der Konvertierung zu verfolgen. Ersetzen Sie HASH durch den numerischen Hash im Namen Ihres Pods.
Nach Abschluss der Konvertierung ist Ihr feinabgestimmtes Modell, das in gs://$GCS_BUCKET/qwen-3-14b/hf-trained/ gespeichert ist, einsatzbereit.
Bereinigen
Löschen Sie die in dieser Anleitung erstellten Ressourcen, einschließlich Ihres Google Kubernetes Engine-Clusters, Ihres Cloud Storage-Bucket und Ihres Artifact Registry-Repositorys, um zusätzliche Kosten zu vermeiden.
Führen Sie den folgenden Befehl aus, um die Ressourcen zu löschen, die Sie für diese Anleitung erstellt haben:
Nächste Schritte
- Weitere Informationen zu Cloud TPU finden Sie unter Einführung in Cloud TPU.
- Architektur- und Konfigurationsdetails für die
v6e-32TPU finden Sie unter TPU v6e.