Die Dekodierungsgeschwindigkeit des Transformer-Modells war schon immer ein wesentlicher Engpass, der seine Anwendung einschränkte. Kürzlich haben Forscher des Korea Institute of Science and Technology, LG und DeepMind dieses Problem gemeinsam gelöst. Sie haben eine neue Architektur namens Block Transformer vorgeschlagen, die die Decodierungsgeschwindigkeit um das erstaunliche 10- bis 20-fache erhöhte! Der Kern dieser bahnbrechenden Entwicklung liegt im cleveren „Slicing“ des Aufmerksamkeitsmechanismus von Transformer, der das Problem der geringen GPU-Auslastung im herkömmlichen Transformer effektiv löst und den Speicheraufwand erheblich reduziert.
Obwohl das Transformer-Modell leistungsstark ist, bereitete seine Effizienz bei der Dekodierung schon immer Kopfzerbrechen. Doch dieses Mal überraschten uns Forscher vom Korea Institute of Science and Technology, LG und DeepMind – sie schlugen eine neue Transformer-Architektur namens Block Transformer vor, die die Dekodierungsgeschwindigkeit direkt um das 10- bis 20-fache erhöhte!
Wie wird das gemacht? Es stellt sich heraus, dass sie den Aufmerksamkeitsmechanismus des Transformers „zerschneiden“. Auf diese Weise wurde die ineffiziente Methode des ursprünglichen Transformers, bei jeder Token-Generierung auf den globalen KV-Cache zuzugreifen, vollständig aufgehoben.
Die Forscher analysierten die Mängel des ursprünglichen Transformers: Die effektive Auslastung der GPU betrug weniger als 1 %, und die restlichen 99 % wurden für den Speicherzugriff verwendet. Dies ist offensichtlich unvernünftig, daher haben sie Block Transformer vorgeschlagen. Diese neue Architektur nutzt die Zerlegung der Aufmerksamkeit auf Blockebene und der Aufmerksamkeit innerhalb des Blocks, um den Argumentationsdurchsatz des Modells direkt explodieren zu lassen.
Konkret sieht der Arbeitsablauf von Block Transformer wie folgt aus: Schneiden Sie zuerst die Sequenz in Blöcke und konvertieren Sie dann jeden Block mit Embedder in einen Einbettungsvektor. Der Blockdecoder ist für die Verarbeitung von Blockeinbettungsvektoren und die Erfassung globaler Abhängigkeiten zwischen Blöcken verantwortlich. Der Tokendecoder ist für die Verarbeitung lokaler Abhängigkeiten zwischen Tokens und die Generierung von Tokensequenzen verantwortlich.
Diese Methode verbessert nicht nur die Inferenzgeschwindigkeit, sondern reduziert auch den Speicheraufwand erheblich. Einige Internetnutzer sagten, sie hätten schon einmal eine ähnliche Idee gehabt, aber die Leistung des resultierenden Modells sei unzureichend. Nun scheint diese Methode den KV-Cache effektiv reduziert zu haben.
Darüber hinaus ist die Genauigkeit des Block Transformers bei mehreren Zero-Shot-Aufgaben mit der des ursprünglichen Transformers gleicher Größe vergleichbar oder sogar etwas höher, was beweist, dass er die Effizienz verbessert, ohne die Qualität zu beeinträchtigen.
Die Implikationen dieser Forschung enden hier jedoch nicht. Dadurch werden auch die Trainingskosten des Modells reduziert, der sekundäre Speicherzugriffsaufwand für die globale Aufmerksamkeit wird um das 16-fache reduziert und die GPU-Auslastung wird ebenfalls von 1 % auf 44 % erhöht.
Papieradresse: https://arxiv.org/abs/2406.02657
Das Aufkommen von Block Transformer hat neue Möglichkeiten für die Anwendung von Transformer-Modellen erweitert und auch eine neue Richtung für die Effizienzoptimierung großer Sprachmodelle in der Zukunft vorgegeben. Es wird erwartet, dass die deutliche Verbesserung der Geschwindigkeit und Effizienz die weitere Entwicklung und Anwendung der KI-Technologie vorantreiben wird.