Infraestrutura e Chips
PagedAttention: por que o vLLM serve mais pedidos
O cache de atenção desperdiça muita memória quando reservado de forma contígua. O PagedAttention aplica a ideia de paginação dos sistemas operacionais.
@raulelgreco1 min de leitura
Durante a geração, o modelo guarda para cada pedido um cache de chaves e valores da atenção (KV cache). Esse cache cresce a cada token e, nos servidores tradicionais, era reservado em blocos contíguos do tamanho máximo possível. O resultado era muita memória reservada e não usada.
O PagedAttention, apresentado por Kwon e colegas junto com o servidor vLLM (2023), divide o cache em blocos pequenos de tamanho fixo, que podem ficar espalhados na memória, como as páginas de um sistema operacional.
Benefícios
- Quase nenhum desperdício: os blocos são alocados conforme a necessidade.
- Pedidos que compartilham o mesmo início, como um prompt de sistema comum, podem reutilizar os mesmos blocos.
- Mais pedidos cabem ao mesmo tempo na GPU.
Os autores relataram ganhos de vazão de 2 a 4 vezes em relação a sistemas anteriores, com a mesma latência. Para quem serve modelos, isso significa atender mais usuários com o mesmo hardware.
Foto: Kevin Ache / Unsplash.