Prompt Cache: Modulare Aufmerksamkeitswiederverwendung für Inferenz mit geringer Latenz
Prompt Cache: Modular Attention Reuse for Low-Latency Inference
November 7, 2023
Autoren: In Gim, Guojun Chen, Seung-seob Lee, Nikhil Sarda, Anurag Khandelwal, Lin Zhong
cs.AI
Zusammenfassung
Wir stellen Prompt Cache vor, einen Ansatz zur Beschleunigung der Inferenz für große Sprachmodelle (LLMs) durch die Wiederverwendung von Aufmerksamkeitszuständen über verschiedene LLM-Prompts hinweg. Viele Eingabe-Prompts enthalten überlappende Textsegmente, wie Systemnachrichten, Prompt-Vorlagen und Dokumente, die als Kontext bereitgestellt werden. Unsere zentrale Erkenntnis ist, dass durch die Vorberechnung und Speicherung der Aufmerksamkeitszustände dieser häufig auftretenden Textsegmente auf dem Inferenz-Server diese effizient wiederverwendet werden können, wenn diese Segmente in Benutzer-Prompts auftauchen. Prompt Cache verwendet ein Schema, um solche wiederverwendbaren Textsegmente, sogenannte Prompt-Module, explizit zu definieren. Das Schema gewährleistet die positionsgenaue Wiederverwendung von Aufmerksamkeitszuständen und bietet Benutzern eine Schnittstelle, um auf zwischengespeicherte Zustände in ihren Prompts zuzugreifen. Mit einem Prototyp evaluieren wir Prompt Cache über mehrere LLMs hinweg. Wir zeigen, dass Prompt Cache die Latenz bis zum ersten Token erheblich reduziert, insbesondere bei längeren Prompts wie dokumentenbasierten Frage-Antwort-Systemen und Empfehlungen. Die Verbesserungen reichen von 8x für GPU-basierte Inferenz bis zu 60x für CPU-basierte Inferenz, wobei die Ausgabegenauigkeit erhalten bleibt und ohne dass Änderungen an den Modellparametern erforderlich sind.
English
We present Prompt Cache, an approach for accelerating inference for large
language models (LLM) by reusing attention states across different LLM prompts.
Many input prompts have overlapping text segments, such as system messages,
prompt templates, and documents provided for context. Our key insight is that
by precomputing and storing the attention states of these frequently occurring
text segments on the inference server, we can efficiently reuse them when these
segments appear in user prompts. Prompt Cache employs a schema to explicitly
define such reusable text segments, called prompt modules. The schema ensures
positional accuracy during attention state reuse and provides users with an
interface to access cached states in their prompt. Using a prototype
implementation, we evaluate Prompt Cache across several LLMs. We show that
Prompt Cache significantly reduce latency in time-to-first-token, especially
for longer prompts such as document-based question answering and
recommendations. The improvements range from 8x for GPU-based inference to 60x
for CPU-based inference, all while maintaining output accuracy and without the
need for model parameter modifications.