Tensor-Parallelität - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tensor-Parallelität

Tensor-Parallelität ist eine Art von Modellparallelität, bei der bestimmte Modellgewichtungen, Steigungen und Optimierer-Zustände auf verschiedene Geräte aufgeteilt werden. Im Gegensatz zur Pipeline-Parallelität, bei der einzelne Gewichtungen intakt bleiben, die Menge der Gewichtungen jedoch fragmentiert wird, teilt die Tensor-Parallelität einzelne Gewichtungen auf. Dies beinhaltet in der Regel die verteilte Berechnung bestimmter Operationen, Module oder Layers des Modells.

Tensorparallelität ist in Fällen erforderlich, in denen ein einzelner Parameter den größten Teil des GPU Speichers beansprucht (z. B. große Einbettungstabellen mit einer großen Vokabelgröße oder eine große Softmax-Schicht mit einer großen Anzahl von Klassen). In diesem Fall ist es ineffizient, diesen großen Tensor oder diese Operation als atomare Einheit zu behandeln und behindert die ausgeglichene Auslastung des Speichers.

Die Tensor-Parallelität ist auch für extrem große Modelle nützlich, bei denen ein reines Pipelining einfach nicht ausreicht. Bei Modellen im GPT Maßstab -3, die eine Partitionierung über Dutzende von Instanzen erfordern, ist ein reines Microbatch-Pipelining beispielsweise ineffizient, da die Pipeline-Tiefe zu hoch und der Overhead unerschwinglich wird.

Anmerkung

Tensor-Parallelität ist in der Modellparallelismus-Bibliothek v1.6.0 und höher verfügbar. PyTorch SageMaker