Prompt Cache : Réutilisation modulaire de l'attention pour une inférence à faible latence
Prompt Cache: Modular Attention Reuse for Low-Latency Inference
November 7, 2023
Auteurs: In Gim, Guojun Chen, Seung-seob Lee, Nikhil Sarda, Anurag Khandelwal, Lin Zhong
cs.AI
Résumé
Nous présentons Prompt Cache, une approche visant à accélérer l'inférence des grands modèles de langage (LLM) en réutilisant les états d'attention entre différents prompts de LLM. De nombreuses entrées de prompts contiennent des segments de texte qui se chevauchent, tels que des messages système, des modèles de prompts et des documents fournis comme contexte. Notre idée clé est qu'en précalculant et en stockant les états d'attention de ces segments de texte fréquemment rencontrés sur le serveur d'inférence, nous pouvons les réutiliser efficacement lorsque ces segments apparaissent dans les prompts des utilisateurs. Prompt Cache utilise un schéma pour définir explicitement ces segments de texte réutilisables, appelés modules de prompts. Le schéma garantit la précision positionnelle lors de la réutilisation des états d'attention et fournit aux utilisateurs une interface pour accéder aux états mis en cache dans leur prompt. En utilisant une implémentation prototype, nous évaluons Prompt Cache sur plusieurs LLM. Nous montrons que Prompt Cache réduit considérablement la latence du temps jusqu'au premier token, en particulier pour les prompts plus longs tels que les réponses à des questions basées sur des documents et les recommandations. Les améliorations vont de 8x pour l'inférence basée sur GPU à 60x pour l'inférence basée sur CPU, tout en maintenant la précision des sorties et sans nécessiter de modifications des paramètres du modèle.
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.