Core Concepts
Keyformer ist ein innovativer Ansatz, der den KV-Cache während der Inferenz durch die intelligente Auswahl von Schlüsseltokens effizient reduziert, ohne die Genauigkeit des Modells zu beeinträchtigen.
Abstract
Der Artikel stellt Keyformer vor, eine neue Methode zur Reduzierung des KV-Caches während der Inferenz von Transformermodellen für die Textgenerierung.
Transformermodelle verwenden einen Key-Value-Cache (KV-Cache), um die Berechnung von Schlüssel- und Wertevektoren für vorherige Tokens zu vermeiden. Allerdings wächst der KV-Cache mit der Länge der Eingabesequenz, was zu erhöhter Latenz und reduziertem Durchsatz führt.
Keyformer nutzt die Beobachtung, dass etwa 90% der Aufmerksamkeit während der Textgenerierung auf einem bestimmten Subset von "Schlüsseltokens" liegt. Keyformer behält nur diese Schlüsseltokens im KV-Cache, indem es diese anhand einer neuartigen Bewertungsfunktion identifiziert. Dieser Ansatz reduziert effektiv die Größe des KV-Caches und den Speicherbandbreitenbedarf, ohne die Modellgenauigkeit zu beeinträchtigen.
Die Evaluation zeigt, dass Keyformer die Inferenzlatenz um den Faktor 2,1 reduziert und den Durchsatz der Tokengenerierung um den Faktor 2,4 verbessert, während die Genauigkeit des Modells erhalten bleibt. Keyformer übertrifft dabei auch den Stand der Technik, wie den H2O-Ansatz.
Stats
Die Erhöhung der Sequenzlänge von 512 auf 8.192 Tokens führt zu einer Steigerung der normierten Inferenzlatenz um den Faktor 50.
Der KV-Cache-Datentransfer macht etwa 40% der gesamten Inferenzzeit aus.
Die Größe des KV-Caches übersteigt die Größe des Modells, wenn die Sequenzlänge 8.192 Tokens übersteigt.
Quotes
"Transformers haben sich als grundlegende Architektur für Große Sprachmodelle (LLMs) erwiesen."
"Der Inferenzprozess in generativen Sprachmodellen umfasst zwei Hauptphasen: die Verarbeitung des Prompts und die Tokengenerierung."
"Keyformer beobachtet, dass etwa 90% der Aufmerksamkeit während der Textgenerierung auf einem bestimmten Subset von 'Schlüsseltokens' liegt."