AISubHub/KI-Nachrichten
Entwicklung

Vertiefende Analyse · Etwa 6 Min. Lesezeit

Qwen3 auf Trainium: drei torchtitan-Wege zur Prüfung von Gewichten und Kerneln

Die AWS-Anleitung vom 21. Oktober verbindet Transformers, natives Qwen3 und NKI-Kernel auf einer Trainium2-Instanz, ohne Geschwindigkeits- oder Kostenvorteile nachzuweisen.

Hier veröffentlicht
Datum der Quelle
Quelle geprüft

Eine AWS-Anleitung vom 21. Oktober beschreibt das Training von Qwen3 mit torchtitan auf Trainium in drei Konfigurationen: mit einem Transformers-v5-Backend, torchtitans nativem Modell und einem verkleinerten Mixture-of-Experts-Beispiel mit NKI-Kerneln. Der praktische Fortschritt ist ein konkretes Integrationsrezept mit Checkpoint- und numerischen Prüfungen. Es handelt sich weder um ein neues Qwen-Modell noch um einen Benchmark, der günstigeres Training belegt.

Nachrichten anhören

Diesen Artikel vorlesen oder mit den Nachrichten fortfahren.

Qwen3 auf Trainium: drei torchtitan-Wege zur Prüfung von Gewichten und Kerneln

Vorlesen wird vorbereitet…

Gerätestimme

Browser oder Gerät verarbeiten die Sprache. AISubHub sendet den Text nicht an eine Audio-API. Stimmen und Wiedergabe bei gesperrtem Bildschirm hängen vom Gerät ab.

Beim Fortsetzen kann sich ein kurzer Satzteil wiederholen.

Auf einen Blick

  • Die Anleitung verwendet eine trn2.48xlarge mit 16 Trainium2-Beschleunigern, 128 physischen und bei LNC=2 insgesamt 64 logischen NeuronCores. Der Startbefehl erzeugt 64 Trainingsprozesse.
  • Die dichten Beispiele nutzen Qwen3-4B-Instruct-2507-Dateien und zehn Trainingsschritte mit c4_test. Das MoE-Beispiel ist auf vier Schichten und 64 Experten reduziert; pro Token werden vier Experten ausgewählt. Das vollständige unveränderte 30B-A3B-Modell wird damit nicht trainiert.
  • AWS nennt einen Loss im ersten Schritt von 6.54 mit veröffentlichten Gewichten und 12.43 bei zufälliger Initialisierung. Der eigene Test der Rotary-Embeddings ergibt bei float32-Eingaben eine maximale absolute Differenz von 0.0. Diese Zahlen prüfen unterschiedliche Sachverhalte.

Eine Geräteintegration, drei Stellen für den Modellwechsel

TorchNeuron registriert Trainium in PyTorch als natives neuron-Gerät, sodass torchtitan die üblichen Schnittstellen verwenden kann. Beim ersten Weg erstellt Transformers v5 das Modell über AutoModelForCausalLM. Beim zweiten wird über config.model_spec torchtitans eigene Qwen3-Implementierung gewählt. Der dritte nutzt Trainium-spezifische NKI-Operatoren für Mixture-of-Experts-Schichten und demonstriert einen eigenen Austausch. Es sind verschiedene Implementierungen hinter einem gemeinsamen Trainingseinstieg, keine drei neu veröffentlichten Qwen-Modelle.

Die Anleitung legt torch 2.14.0, torch_neuronx 2.14.3, Transformers 5.16.0 und torchtitan-neuron release-2.33, Version 0.2.2+neuron.1, fest. Erforderlich sind eine Neuron Deep Learning AMI oder ein Trainingscontainer mit Treiber, Laufzeit und Compiler. Nach unserer Einordnung verkleinert vertrauter PyTorch-Code die Integrationsfläche; die getestete Kombination von Abhängigkeiten wird dadurch nicht optional. AWS warnt ausdrücklich, dass sich die Transformers-Integration und Austauschmodule zwischen torchtitan-Versionen ändern können.

Das 4B-Rezept prüft Initialisierung und Checkpoint-Portabilität

Die erste Konfiguration nennt Qwen/Qwen3-4B-Instruct-2507, verwendet c4_test, setzt zehn Schritte und eine lokale Batchgröße von eins und verteilt den Zustand der Datenparallelität auf die 64 gestarteten Ranks. Das Laden der Architektur ist vom Laden veröffentlichter Gewichte zu unterscheiden. Die Fine-Tuning-Konfiguration aktiviert die Checkpoint-Übernahme aus den heruntergeladenen Dateien ausdrücklich und exportiert das Modell anschließend als Hugging Face safetensors. Der gemeldete Loss im ersten Schritt beträgt 6.54 mit veröffentlichten Gewichten gegenüber 12.43 bei zufälliger Initialisierung.

Der Unterschied hilft bei der Initialisierungsprüfung; er belegt weder einen besseren Assistenten nach zehn Schritten noch endgültige Konvergenz. AWS lädt den exportierten Checkpoint außerdem mit Transformers erneut, um seine Schlüssel zu prüfen, und berücksichtigt dabei das mit den Embeddings geteilte lm_head.weight. Der native Weg beginnt mit dem Builder qwen3_32b, weil die getestete Version keinen allgemeinen 4B-Builder enthält. Danach ersetzt er die Modellspezifikation durch 4B und setzt die globale Batchgröße auf 64. Der Buildername bedeutet somit nicht, dass ein 32B-Modell trainiert wurde.

Die MoE-Konfiguration ist bewusst kleiner als ihre Modellfamilie

Das Qwen3-30B-A3B-Rezept wird auf vier Schichten und 64 Experten verkleinert, damit das Beispiel auf eine Instanz passt. top_k=4 leitet jeden Token an vier Experten. Die Quelle verwendet Datenparallel-Sharding über 64 Ranks, Tensorparallelitätsgrad eins und keine Expertenparallelität. Die Expertenzahl ist eine Modelleinstellung, nicht die Zahl der Geräte für Expertenparallelität. Diese Unterscheidung verhindert, dass eine kleine Integrationsdemonstration als Training des vollständigen ursprünglichen Modells ausgegeben wird.

Das Beispiel läuft im Eager-Modus; die Kompilierung ist in der Konfiguration ausgeschaltet. Registrierte NKI-Operatoren funktionieren auch unter torch.compile, doch der Wechsel des Ausführungsmodus ist eine gesonderte Entscheidung. In der getesteten Version ersetzt das Rezept den MoE-Block durch Kernel für gruppierte Experten und wählt skalierte Skalarprodukt-Attention sowie Rotary-Embeddings ohne Gather. AWS erklärt, wie Operatoren ihre Autograd-Implementierung mit Informationen aus dem Vorwärtslauf erhalten. Ein Durchsatzvergleich, der diese konkrete Konfiguration als schneller belegt, fehlt.

Eigene Kernel brauchen Layout-, Gradienten- und Zielprüfungen

Das Rotary-Embedding-Beispiel zeigt, dass Registrierung mehr als ein Kernelaufruf ist. torchtitan speichert query und key als Batch, Sequenz, Köpfe und Kopfdimension; rope_hf erwartet Batch, Köpfe, Sequenz und Kopfdimension. Der Wrapper verändert das Layout, stellt Ausgabespeicher bereit und kehrt die Transformation um. Ein separater Rückwärtsoperator verwendet den gespeicherten Rotary-Cache erneut; der Cache selbst hat keinen Gradienten. Die Sequenzlänge muss ein Vielfaches von 128 mal LNC sein: 256 bei LNC zwei.

Ein Austauschregister ersetzt anschließend die Konfiguration des vorgesehenen Moduls. Die Startlogs sollten für jede Qwen3-Schicht genau einen nki_rope-Austausch zeigen; engere Namensmuster können bestimmte Schichten auswählen. AWS meldet maximale absolute Differenzen von 0.0 für query und key beim float32-Vergleich mit der PyTorch-Implementierung. Das validiert diesen numerischen Test, nicht alle Datentypen, Formen oder Trainingsläufe. Der Artikel bezeichnet das Beispiel ausdrücklich als Integration von Kernel und Autograd, nicht als Leistungsverbesserung.

Aus der Anleitung einen gemessenen Pilotversuch machen

Der erste Schritt enthält die Kompilierung und dauert länger als spätere Schritte. Die Logs zeigen Loss, Gradientennorm, HBM-Belegung, Durchsatz und Auslastung der Modell-FLOPs, doch die Anleitung liefert keinen kontrollierten Vergleich der Gesamtkosten. Bei größerem Modell, längerer Sequenz oder höherer lokaler Batchgröße bleibt Speicher pro Rank eine praktische Grenze. Tensorparallelität lässt sich auf einem mehrdimensionalen DeviceMesh mit Fully Sharded Data Parallel kombinieren; die gezeigte MoE-Einstellung darf nicht mit einem solchen größeren Experiment gleichgesetzt werden.

AISubHub empfiehlt, die getesteten Versionen beizubehalten, das ausgewählte Modell und die 64 Ranks zu prüfen, Checkpoint-Laden und -Export zu kontrollieren und eigene Kernel-Ausgaben vor einem langen Lauf zu vergleichen. Anschließend sollten Aufwärmphase und Dauerbetrieb getrennt gemessen und die Konvergenz auf den vorgesehenen Daten bewertet werden. Benötigte Checkpoints sind vor dem Stoppen oder Beenden gemieteter Hardware zu sichern. Das sind aus der Anleitung abgeleitete Prüfschritte, keine von uns reproduzierten Ergebnisse. Sie begründen weder Abonnementrechte noch ein kostenloses Trainingskontingent oder einen allgemeinen Vorteil von Trainium.

Warum es wichtig ist

AISubHub-Analyse: Teams können Modellkompatibilität, Checkpoint-Portabilität und Kernel-Korrektheit zunächst getrennt prüfen, bevor sie eine vollständige Trainingslast angehen. Die gemeinsame Startstruktur verringert Rezeptänderungen, beseitigt aber keine Anforderungen an Versionen, Speicher, Kompilierung und Numerik.

Grenzen und Verfügbarkeit

Dies ist eine technische Anleitung der AWS-Autoren Josh Longenecker und Alex Hoffman, kein AISubHub-Hardwaretest. Sie nennt weder vergleichbare Gesamtkosten eines Trainings noch ein abgeschlossenes Konvergenzergebnis oder eine nachgewiesene Beschleunigung durch den eigenen Kernel. Instanzverfügbarkeit, Gebühren, genaue Softwareversionen und die Prüfung der eigenen Arbeitslast bleiben beim Betreiber. Vorteile für Verbraucherabonnements werden nicht angekündigt.

Quellen und Belege

AWS Machine Learning Blog — Train Qwen3 on AWS Trainium with torchtitan

Datum der Quelle: · Quelle geprüft:

KI-gestützte redaktionelle Beiträge, anhand der genannten Primärquellen geprüft. Anbieterangaben werden zugeordnet; eine Aufnahme ist keine Empfehlung.