Mit KI entwickeln

Training von Qwen3 auf AWS Trainium mit torchtitan und benutzerdefinierten Kernels

Ein technischer Leitfaden beschreibt drei Methoden zum Training von Qwen3-Modellen auf AWS Trainium unter Verwendung von torchtitan, einschließlich Hugging Face Integration und benutzerdefinierter NKI-Kernels.

Illustration von AWS Trainium Hardware verbunden mit neuronalen Netzwerk-Verarbeitungseinheiten
Für diesen Artikel generierte Illustration

Automatisch aus dem englischen Original übersetzt.

AWS hat eine detaillierte technische Anleitung veröffentlicht, die zeigt, wie das große Sprachmodell Qwen3 auf den Trainium2-Beschleunigern mit dem Framework torchtitan trainiert wird. Der im Oktober 2026 veröffentlichte Leitfaden skizziert drei unterschiedliche Konfigurationspfade für Ingenieure, die native PyTorch-Schnittstellen auf spezialisierter Hardware nutzen möchten. Die Dokumentation dient als praktische Referenz für Machine-Learning-Teams, die ihre Workflows für Vor-Training und Feinabstimmung (Fine-Tuning) auf der Amazon Web Services Infrastruktur optimieren wollen.

Was passiert ist

Der Artikel bietet eine schrittweise Implementierungsanleitung für die Ausführung von Qwen3-Modellen auf einer einzelnen trn2.48xlarge Instanz, die 16 Trainium2-Beschleuniger und 128 physische NeuronCores enthält. Die Autoren zeigen, dass Entwickler torchtitan auf Trainium ähnlich wie auf Standard-GPU-Clustern verwenden können, da TorchNeuron Trainium als natives PyTorch-Gerät registriert. Dies ermöglicht es dem Framework, die Hardware beim Start zu erkennen und Operationen entweder sofort (eager) oder über torch.compile zu kompilieren.

Die Anleitung behandelt drei spezifische Trainingskonfigurationen. Die erste Methode nutzt Hugging Face Transformers v5 als Modellierungs-Backend, sodass Benutzer Modelle direkt vom Hub über AutoModelForCausalLM laden können. Der zweite Ansatz wechselt zur nativen Qwen3-Implementierung von torchtitan, was mehr Kontrolle über die Modellarchitektur und Sharding-Strategien bietet. Die dritte Methode führt fortgeschrittene Anpassungen ein, indem sie Mixture-of-Experts-Kernels der Neuron Kernel Interface (NKI) integriert, was Entwicklern erlaubt, benutzerdefinierte Operatoren für leistungs-kritische Ebenen anzuhängen.

Jede Konfiguration verwendet das gleiche torchrun-Startmuster, um Konsistenz über verschiedene experimentelle Setups hinweg sicherzustellen. Der Leitfaden betont Reproduzierbarkeit durch die Angabe exakter Softwareversionen, einschließlich PyTorch 2.14.0, Transformers 5.16.0 und torchtitan-neuron release-2.33. Er beschreibt auch, wie Checkpoints verwaltet werden, und verifiziert, dass Gewichte, die im Hugging Face safetensors Format gespeichert sind, ohne fehlende Schlüssel wieder geladen werden können, was die Integrität der Trainingspipeline bestätigt.

Wie es funktioniert

Der Kernmechanismus basiert auf der Integration zwischen torchtitan und dem AWS Neuron Stack. Wenn torch_neuronx installiert ist, stellt es Trainium als neuron Gerät bereit. Torchtitan verwendet dann Standard-PyTorch-Primitives für verteiltes Training, wie Fully Sharded Data Parallel (FSDP) und Tensor Parallelism, um die Arbeitslast auf die 64 logischen NeuronCores zu verteilen, die auf der Instanz verfügbar sind. Das Framework verwaltet das Sharding von Modellparametern, Gradienten und Optimizer-Zuständen, während Sequence Parallelism das Sharding der Aktivierungen entlang der Sequenzdimension handhabt.

Für die Integration benutzerdefinierter Kernels demonstriert der Leitfaden die Nutzung der Override-Registry von torchtitan. Entwickler können Kernels in NKI, der Neuron-Kernel-Sprache, schreiben und sie mit wrap_nki und nki_op als PyTorch-Operatoren verpacken. Diese Operatoren werden dann registriert, um bestimmte Module innerhalb des Modellgraphen zu ersetzen. Beispielsweise kann ein benutzerdefinierter Rotary-Embedding-Kernel die Standard-PyTorch-Implementierung ersetzen. Das System validiert diese Overrides beim Start und stellt sicher, dass jeder Ersatz die korrekten vollständig qualifizierten Namen innerhalb der Modellstruktur anspricht.

Die Trainingsschleife meldet wichtige Metriken wie Loss, Gradient-Norm, High-Bandwidth Memory Usage und Model FLOPs Utilization. Diese Transparenz ermöglicht es Ingenieuren, den Ressourcenverbrauch zu überwachen und Parallelisierungseinstellungen dynamisch anzupassen. Der Kompilierungsprozess findet während des ersten Trainingsschritts statt, der länger dauert als nachfolgende Schritte, aber optimierte Ausführung für den Rest des Laufs ermöglicht.

Wichtige Details

  • Das Setup erfordert eine trn2.48xlarge Instanz mit 64 logischen NeuronCores, konfiguriert bei LNC=2.
  • Softwareabhängigkeiten umfassen PyTorch 2.14.0, Transformers 5.16.0 und torchtitan-neuron 0.2.2+neuron.1.
  • Das Laden von Hugging Face Checkpoints verifiziert die Korrektheit durch Prüfung eines Schritts-1-Loss nahe 6,54 für das Modell Qwen3-4B-Instruct-2507.
  • Benutzerdefinierte NKI-Kernels müssen spezifische Constraints für die Sequenzlänge einhalten, z. B. ein Vielfaches von 128 * LNC sein.
  • Tensor Parallelism shardet Schichtgewichte über Ranks hinweg, während Data Parallelism Parameter und Optimizer-Zustände shardet.
  • Die Override-Registry verhindert Konflikte, indem sie stoppt, wenn zwei Overrides denselben Knoten beanspruchen, und warnt, wenn keine Knoten übereinstimmen.

Warum es wichtig ist

Für Software-Ingenieure und ML-Praktiker senkt dieser Leitfaden die Einstiegshürde für das Training großer Modelle auf Nicht-NVIDIA-Hardware. Durch die Aufrechterhaltung der Kompatibilität mit standardmäßigen PyTorch-Schnittstellen und Hugging Face Ökosystemen reduziert er die Notwendigkeit umfangreicher Code-Refactorings. Teams können bestehende Modell-Repositories und Checkpoint-Formate nutzen, was den operativen Overhead bei der Einführung neuer Beschleuniger-Architekturen minimiert.

Die Möglichkeit, benutzerdefinierte NKI-Kernels einzuspeisen, ist besonders signifikant für die Leistungsoptimierung. Da Modelle an Komplexität zunehmen, nutzen generische Implementierungen möglicherweise nicht die volle Hardwarekapazität aus. Indem Entwickler bestimmte Operationen, wie Attention-Mechanismen oder Rotary Embeddings, durch handoptimierte Kernels ersetzen können, erhalten sie feinere Kontrolle über die Recheneffizienz. Diese Flexibilität ist entscheidend, um wettbewerbsfähigen Durchsatz und Kosteneffizienz bei großskaligen Trainingsjobs zu erreichen.

Darüber hinaus bieten die detaillierten Verifikationsschritte Vertrauen in die Zuverlässigkeit des Trainingsprozesses. Die Bestätigung, dass exportierte Checkpoints korrekt laden, stellt sicher, dass auf Trainium trainierte Modelle nahtlos in Produktionsumgebungen bereitgestellt werden können, die auf Standard-Inference-Stacks basieren. Diese End-to-End-Validierung unterstützt robuste MLOps-Praktiken und erleichtert die Zusammenarbeit zwischen Teams, die unterschiedliche Hardware-Backends verwenden.

Was Sie tun können

  • Richten Sie eine trn2.48xlarge Instanz mit der AWS Deep Learning AMI for Neuron oder einem Neuron PyTorch Container ein.
  • Installieren Sie die angegebenen Versionen von torchtitan-neuron und Abhängigkeiten unter Verwendung der bereitgestellten requirements.txt.
  • Laden Sie die Qwen3 Modellartefakte vom Hugging Face Hub in ein lokales Verzeichnis für das Training herunter.
  • Konfigurieren Sie das Trainingsskript so, dass es Data Parallel Sharding über alle 64 Ranks hinweg nutzt, indem Sie data_parallel_shard_degree = -1 setzen.
  • Überprüfen Sie die Ausgaben benutzerdefinierter Kernels gegen Basisimplementierungen unter Verwendung von float32-Eingaben, um numerische Genauigkeit sicherzustellen.
  • Überwachen Sie die High-Bandwidth Memory Usage pro Rank, um Batch-Größen und Sequenzlängen entsprechend anzupassen.
  • #aws trainium
  • #torchtitan
  • #qwen3
  • #machine learning
  • #pytorch

Tools aus dem Bytechap-Shop

$89

DocBento

Selbst gehostetes Dokumentenmanagement, das jeden Scan liest und mit Seitenzitaten antwortet.

Live-Demo

Weiterlesen

Alle Artikel