In dieser Anleitung finden Sie eine detaillierte Anleitung zum Ausführen der überwachten Feinabstimmung (Supervised Fine-Tuning, SFT) auf einer einzelnen v6e-8 VM-Instanz (Virtual Machine) der Tensor Processing Unit (TPU) mit MaxText, einem leistungsstarken JAX-basierten Trainings stack für Large Language Models (LLMs). Google Cloud
Zusammenfassung der Arbeitslast
Für die Ausführung dieser SFT-Arbeitslast auf einer Cloud TPU-VM sind die folgenden Komponenten erforderlich:
- Modell:Gemma 3 4B (
gemma3-4b), ein leichtgewichtiges Sprachmodell mit offenen Gewichten. In dieser Anleitung werden die Modellgewichte vom Hugging Face-Format in das MaxText-kompatible Format (mt-format) konvertiert und für die Ausführung auf einer einzelnen Cloud TPUv6e-8-VM mit JAX vorbereitet. - Trainingsmethode:SFT mit MaxText. Die Arbeitslast führt eine Fine-Tuning-Pipeline auf einer einzelnen Cloud TPU
v6e-8-Instanz mit JAX aus. Dabei werden die Modellparameter in über 1.000 Schritten mit dem integrierten SFT-Trainer von MaxText (maxtext.trainers.post_train.sft.train_sft) und dialogorientierten Datasets für das Instruction-Tuning optimiert. - Dataset und Vorlage:UltraChat 200k (
HuggingFaceH4/ultrachat_200k), ein umfangreiches, hochwertiges Dataset für Dialoge mit mehreren Turns (train_sft-Split mit der Spaltemessages). Es wird verwendet, um das Modell zu optimieren und seine Fähigkeiten in Bezug auf Unterhaltungen und das Befolgen von Anweisungen zu verbessern. - Infrastruktur und Framework:eine einzelne Cloud TPU
v6e-8-VM-Instanz (ct6e-standard-8t). Das Framework ist MaxText (maxtext[tpu-post-train]) mit JAX.
Ziele
- Cloud TPU-VM-Instanz einrichten
- MaxText und seine Abhängigkeiten installieren
- Hugging Face-Modell in das MaxText-Format konvertieren
- SFT-Trainingsarbeitslast auf der TPU ausführen
- Das optimierte 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, 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.
- 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
gemma3-4bverwendet.
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:
- TPU-Administrator (
roles/tpu.admin) - Service Account User (
roles/iam.serviceAccountUser) - Compute-Bearbeiter (
roles/compute.editor)
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.
Umgebung einrichten
Richten Sie die Umgebungsvariablen ein, indem Sie das folgende Skript ausführen:
Ersetzen Sie Folgendes:
- YOUR_PROJECT_ID: Ihre Google Cloud Projekt-ID
- YOUR_ZONE: die Zone, die Sie verwenden möchten
- YOUR_RESERVATION_NAME: Ihre Kapazitätsreservierung
- YOUR_TPU_NAME: der Name Ihrer Cloud TPU-VM Instanz
Authentifizieren Sie sich mit Google Cloud indem Sie den folgenden Befehl ausführen:
gcloud auth login
Cloud TPU-VM erstellen
Erstellen Sie eine Cloud TPU-VM-Instanz mit 8 v6e-TPU-Chips, die an Ihre Kapazitätsreservierung gebunden sind.
Nachdem die VM-Instanz erstellt wurde, stellen Sie über SSH eine Verbindung zu ihr her.
Führen Sie die folgenden Schritte in Ihrer TPU-VM-Instanz aus.
MaxText installieren
Aktualisieren Sie die Systempakete in der TPU-VM-Instanz.
Installieren Sie Python 3.12, das für MaxText erforderlich ist, und das zugehörige Paket für die virtuelle Umgebung.
Verwenden Sie uv, um die Installation des Python-Pakets zu beschleunigen.
Erstellen Sie eine virtuelle Umgebung mit dem Namen maxtext_venv und aktivieren Sie sie.
Installieren Sie MaxText und die Abhängigkeiten, die für Aufgaben nach dem Training erforderlich sind.
Installieren Sie die verbleibenden erforderlichen Abhängigkeiten mit dem folgenden Befehl:
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.
Geben Sie die Umgebungsvariablen an, z. B. Ihr Hugging Face-Zugriffstoken, den Namen des Modells, das Sie verwenden möchten, und das Verzeichnis, in dem Sie das Modell im MaxText-Format speichern möchten.
Ersetzen Sie YOUR_HF_TOKEN durch das zuvor erstellte Hugging Face-Zugriffstoken.
Führen Sie das folgende Skript aus, um das Modell vom Hugging Face-Format in das MaxText-Format zu konvertieren. Diese Konvertierung dauert etwa fünf Minuten.
Trainingsarbeitslast starten
Nach Abschluss der Konvertierung können Sie die SFT-Arbeitslast starten.
Konfigurieren Sie die Trainingsparameter für die SFT-Arbeitslast.
Starten Sie den Trainingsjob. Auf einer
v6e-8-VM-Instanz dauert das etwa 10 Minuten.
Trainiertes Modell wieder in das Hugging Face-Format konvertieren
Nach Abschluss der Trainingsarbeitslast konvertieren Sie das Modell wieder in das Hugging Face-Format.
Legen Sie die Pfade für den Export und die trainierten Parameter fest.
Führen Sie die Konvertierung zurück in das Hugging Face-Format aus.
Nach Abschluss der Konvertierung ist Ihr optimiertes Modell, das unter /dev/shm/gemma3-4b/hf-trained gespeichert ist, einsatzbereit. Da Sie beim Neustart der VM den Zugriff auf die Inhalte des Ordners /dev/shm verlieren, sollten Sie das optimierte Modell in einen nichtflüchtigen Speicher verschieben oder in den Hugging Face Hub hochladen.
Bereinigen
Löschen Sie die in dieser Anleitung erstellten Ressourcen, um zusätzliche Kosten zu vermeiden.
TPU-VM-Instanz löschen
Beenden Sie die Cloud TPU-VM-Instanz und löschen Sie sie.
Nächste Schritte
- Weitere Informationen zu Cloud TPU finden Sie unter Einführung in Cloud TPU.
- Details zur Architektur und Konfiguration der
v6e-8-TPU finden Sie unter TPU v6e.