ChatPaper.aiChatPaper

Gestion efficace de la mémoire pour le service des grands modèles de langage avec PagedAttention

Efficient Memory Management for Large Language Model Serving with PagedAttention

September 12, 2023
Auteurs: Woosuk Kwon, Zhuohan Li, Siyuan Zhuang, Ying Sheng, Lianmin Zheng, Cody Hao Yu, Joseph E. Gonzalez, Hao Zhang, Ion Stoica
cs.AI

Résumé

Le traitement à haut débit des grands modèles de langage (LLM) nécessite de regrouper un nombre suffisant de requêtes simultanément. Cependant, les systèmes existants rencontrent des difficultés car la mémoire du cache clé-valeur (KV cache) pour chaque requête est volumineuse et varie dynamiquement. Lorsqu'elle est gérée de manière inefficace, cette mémoire peut être considérablement gaspillée par la fragmentation et la duplication redondante, limitant ainsi la taille des lots. Pour résoudre ce problème, nous proposons PagedAttention, un algorithme d'attention inspiré des techniques classiques de mémoire virtuelle et de pagination des systèmes d'exploitation. Sur cette base, nous avons développé vLLM, un système de traitement des LLM qui permet (1) un gaspillage quasi nul de la mémoire du KV cache et (2) un partage flexible du KV cache au sein des requêtes et entre elles, afin de réduire davantage l'utilisation de la mémoire. Nos évaluations montrent que vLLM améliore le débit des LLM populaires de 2 à 4 fois avec le même niveau de latence par rapport aux systèmes de pointe, tels que FasterTransformer et Orca. L'amélioration est plus marquée avec des séquences plus longues, des modèles plus volumineux et des algorithmes de décodage plus complexes. Le code source de vLLM est disponible publiquement à l'adresse https://github.com/vllm-project/vllm.
English
High throughput serving of large language models (LLMs) requires batching sufficiently many requests at a time. However, existing systems struggle because the key-value cache (KV cache) memory for each request is huge and grows and shrinks dynamically. When managed inefficiently, this memory can be significantly wasted by fragmentation and redundant duplication, limiting the batch size. To address this problem, we propose PagedAttention, an attention algorithm inspired by the classical virtual memory and paging techniques in operating systems. On top of it, we build vLLM, an LLM serving system that achieves (1) near-zero waste in KV cache memory and (2) flexible sharing of KV cache within and across requests to further reduce memory usage. Our evaluations show that vLLM improves the throughput of popular LLMs by 2-4times with the same level of latency compared to the state-of-the-art systems, such as FasterTransformer and Orca. The improvement is more pronounced with longer sequences, larger models, and more complex decoding algorithms. vLLM's source code is publicly available at https://github.com/vllm-project/vllm
PDF251December 15, 2024