T3: Transparente Nachverfolgung und Auslösung für fein abgestimmte Überlappung von Berechnungen und Kollektivoperationen
T3: Transparent Tracking & Triggering for Fine-grained Overlap of Compute & Collectives
January 30, 2024
Autoren: Suchita Pati, Shaizeen Aga, Mahzabeen Islam, Nuwan Jayasena, Matthew D. Sinclair
cs.AI
Zusammenfassung
Große Sprachmodelle setzen zunehmend auf verteilte Techniken für ihr Training und ihre Inferenz. Diese Techniken erfordern Kommunikation zwischen Geräten, was die Skalierungseffizienz verringern kann, wenn die Anzahl der Geräte steigt. Während einige verteilte Techniken diese Kommunikation überlappen und somit durch unabhängige Berechnungen verbergen können, führen Techniken wie Tensor Parallelismus (TP) die Kommunikation inhärent seriell mit der Modellausführung durch. Ein Ansatz, um diese serielle Kommunikation zu verbergen, besteht darin, sie fein granular mit der Produzentenoperation (der kommunizierten Daten) zu verschachteln. Diese feingranulare Verschachtelung von Kommunikation und Berechnung in Software kann jedoch schwierig sein. Darüber hinaus erfordert sie, wie bei jeder gleichzeitigen Ausführung, dass Rechen- und Speicherressourcen zwischen Berechnung und Kommunikation geteilt werden, was zu Ressourcenkonflikten führt, die die Überlappungseffizienz verringern.
Um diese Herausforderungen zu bewältigen, schlagen wir T3 vor, das Hardware-Software-Co-Design anwendet, um serielle Kommunikation transparent zu überlappen und dabei Ressourcenkonflikte mit der Berechnung zu minimieren. T3 verschmilzt transparent Produzentenoperationen mit der nachfolgenden Kommunikation durch eine einfache Konfiguration des Ausgabeadressraums des Produzenten und erfordert nur geringfügige Softwareänderungen. Auf Hardwareebene fügt T3 einen leichtgewichtigen Track-and-Trigger-Mechanismus hinzu, um die Berechnung und Kommunikation des Produzenten zu orchestrieren. Es verwendet weiterhin berechnungsverstärkte Speicher für die begleitende Berechnung der Kommunikation. Dadurch reduziert T3 Ressourcenkonflikte und überlappt serielle Kommunikation effizient mit der Berechnung. Für wichtige Transformermodelle wie T-NLG beschleunigt T3 kommunikationsintensive Unterschichten um 30 % geometrisches Mittel (maximal 47 %) und reduziert die Datenbewegung um 22 % geometrisches Mittel (maximal 36 %). Darüber hinaus bleiben die Vorteile von T3 erhalten, wenn Modelle skaliert werden: geometrisches Mittel von 29 % für Unterschichten in sim500-Milliarden-Parameter-Modellen, PALM und MT-NLG.
English
Large Language Models increasingly rely on distributed techniques for their
training and inference. These techniques require communication across devices
which can reduce scaling efficiency as the number of devices increases. While
some distributed techniques can overlap, and thus, hide this communication with
independent computations, techniques such as Tensor Parallelism (TP) inherently
serialize communication with model execution. One approach to hide this
serialized communication is to interleave it with the producer operation (of
the communicated data) in a fine-grained manner. However, this fine-grained
interleaving of communication and computation in software can be difficult.
Furthermore, as with any concurrent execution, it requires compute and memory
resources to be shared between computation and communication, causing resource
contention that reduces overlapping efficacy.
To overcome these challenges, we propose T3 which applies hardware-software
co-design to transparently overlap serialized communication while minimizing
resource contention with compute. T3 transparently fuses producer operations
with the subsequent communication via a simple configuration of the producer's
output address space and requires minor software changes. At the hardware
level, T3 adds a lightweight track and trigger mechanism to orchestrate the
producer's compute, and communication. It further uses compute-enhanced
memories for communication's attendant compute. As a result, T3 reduces
resource contention, and efficiently overlaps serialized communication with
computation. For important Transformer models like T-NLG, T3 speeds up
communication-heavy sublayers by 30% geomean (max 47%) and reduces data
movement by 22% geomean (max 36%). Furthermore, T3's benefits persist as models
scale: geomean 29% for sublayers in sim500-billion parameter models, PALM
and MT-NLG.