ChatPaper.aiChatPaper

Gerenciamento Eficiente de Memória para Serviço de Modelos de Linguagem de Grande Escala com PagedAttention

Efficient Memory Management for Large Language Model Serving with PagedAttention

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

Resumo

O atendimento de alta taxa de transferência de grandes modelos de linguagem (LLMs) requer o agrupamento de um número suficiente de solicitações de cada vez. No entanto, os sistemas existentes enfrentam dificuldades porque a memória do cache de chave-valor (KV cache) para cada solicitação é grande e cresce e diminui dinamicamente. Quando gerenciada de forma ineficiente, essa memória pode ser significativamente desperdiçada por fragmentação e duplicação redundante, limitando o tamanho do lote. Para resolver esse problema, propomos o PagedAttention, um algoritmo de atenção inspirado nas técnicas clássicas de memória virtual e paginação em sistemas operacionais. Sobre ele, construímos o vLLM, um sistema de atendimento de LLMs que alcança (1) desperdício quase zero na memória do KV cache e (2) compartilhamento flexível do KV cache dentro e entre solicitações para reduzir ainda mais o uso de memória. Nossas avaliações mostram que o vLLM melhora a taxa de transferência de LLMs populares em 2 a 4 vezes com o mesmo nível de latência em comparação com os sistemas mais avançados, como FasterTransformer e Orca. A melhoria é mais pronunciada com sequências mais longas, modelos maiores e algoritmos de decodificação mais complexos. O código-fonte do vLLM está disponível publicamente em 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