ChatPaper.aiChatPaper

Эффективное управление памятью для обслуживания больших языковых моделей с использованием PagedAttention

Efficient Memory Management for Large Language Model Serving with PagedAttention

September 12, 2023
Авторы: Woosuk Kwon, Zhuohan Li, Siyuan Zhuang, Ying Sheng, Lianmin Zheng, Cody Hao Yu, Joseph E. Gonzalez, Hao Zhang, Ion Stoica
cs.AI

Аннотация

Высокопроизводительное обслуживание больших языковых моделей (LLM) требует пакетной обработки достаточного количества запросов одновременно. Однако существующие системы сталкиваются с трудностями, поскольку память кэша ключ-значение (KV cache) для каждого запроса огромна и динамически изменяется в размере. При неэффективном управлении эта память может значительно теряться из-за фрагментации и избыточного дублирования, что ограничивает размер пакета. Для решения этой проблемы мы предлагаем PagedAttention — алгоритм внимания, вдохновлённый классическими техниками виртуальной памяти и подкачки из операционных систем. На его основе мы создали vLLM — систему обслуживания LLM, которая обеспечивает (1) почти нулевые потери памяти KV cache и (2) гибкое совместное использование KV cache внутри и между запросами для дальнейшего снижения использования памяти. Наши оценки показывают, что vLLM увеличивает пропускную способность популярных LLM в 2–4 раза при том же уровне задержки по сравнению с современными системами, такими как FasterTransformer и Orca. Улучшение становится более заметным при работе с более длинными последовательностями, крупными моделями и более сложными алгоритмами декодирования. Исходный код vLLM доступен публично по адресу 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