PagedAttention
Aprende como o PagedAttention otimiza a gestão de memória de LLMs e a eficiência do KV cache. Explora o seu impacto no rendimento e como se compara com o desempenho do Ultralytics YOLO26.
PagedAttention é um algoritmo de gerenciamento de memória altamente eficiente projetado para otimizar a velocidade de inferência e a taxa de transferência de Large Language Models (LLMs). Inspirada pelos conceitos de memória virtual e paginação em sistemas operacionais tradicionais, esta técnica aborda o enorme consumo de memória associado ao cache de chave-valor (frequentemente referido como KV cache) durante a geração de texto. Ao dividir os blocos de memória contínuos necessários para o cache em "páginas" menores e não contíguas, o PagedAttention elimina efetivamente a fragmentação de memória interna e externa. Isso permite que servidores de IA processem significativamente mais solicitações simultaneamente, maximizando a utilização da GPU.
Link to this sectionPagedAttention vs. Flash Attention#
Embora ambas as técnicas otimizem o desempenho de redes neurais, elas visam gargalos diferentes. O Flash Attention é uma otimização de nível de computação que acelera o próprio mecanismo de atenção ao minimizar leituras e gravações lentas na memória em toda a hierarquia da GPU. Em contraste, o PagedAttention é uma estratégia de alocação de memória. Ele foca puramente em como a memória para a janela de contexto é estruturada e armazenada, permitindo um escalonamento dinâmico sem a pré-alocação de blocos de memória grandes e desperdiçados.
Link to this sectionAplicações no Mundo Real#
A eficiência de memória desbloqueada pelo PagedAttention transformou a forma como modelos generativos de grande escala são implantados em produção.
-
High-Throughput API Serving: Sistemas de produção que servem modelos como o GPT-4 utilizam o PagedAttention por meio de frameworks como o vLLM. Ao compartilhar blocos de memória entre diferentes solicitações de usuários, os provedores podem atender até quatro vezes mais usuários no mesmo hardware, reduzindo drasticamente o custo de execução de serviços de IA baseados em nuvem.
-
Complex Decoding Strategies: Quando um modelo de IA gera várias respostas potenciais de uma vez (como em busca em feixe ou amostragem paralela), o PagedAttention permite que essas sequências paralelas compartilhem com segurança as mesmas páginas de memória fundamentais. Isso evita que o sistema duplique memória redundante, tornando tarefas de raciocínio complexas significativamente mais rápidas.
Link to this sectionEficiência de memória em Visão Computacional#
Embora o PagedAttention seja utilizado principalmente no processamento de linguagem natural, o princípio subjacente da otimização estrita de memória é igualmente crítico em visão computacional (CV). Ao implantar modelos em dispositivos de borda com hardware limitado, evitar o inchaço da memória é essencial. O Ultralytics YOLO26 alcança eficiência de inferência em tempo real nativamente, dispensando a necessidade de gerenciamento pesado de cache ao utilizar uma arquitetura ponta a ponta sem NMS.
Para desenvolvedores que buscam lidar perfeitamente com os requisitos de memória e exportação de pipelines de detecção de objetos, a Ultralytics Platform oferece ferramentas de implantação automatizadas que empacotam modelos para execução ideal em hardware.
Link to this sectionExemplo de Código#
O PagedAttention opera abaixo da superfície em frameworks de serviço, substituindo funções de atenção padrão por kernels Cuda otimizados. Abaixo está um exemplo conceitual demonstrando como se pode definir a atenção padrão em PyTorch, que sistemas como o vLLM interceptam e otimizam automaticamente usando paginação durante a implantação de modelo.
import torch
import torch.nn.functional as F
# Simulated Key, Query, and Value tensors for a standard attention block
batch_size, num_heads, sequence_length, head_dim = 1, 8, 1024, 64
query = torch.randn(batch_size, num_heads, sequence_length, head_dim)
key = torch.randn(batch_size, num_heads, sequence_length, head_dim)
value = torch.randn(batch_size, num_heads, sequence_length, head_dim)
# Standard attention computation (often replaced by PagedAttention kernels in production LLM servers)
attention_output = F.scaled_dot_product_attention(query, key, value)
print(f"Computed attention shape: {attention_output.shape}")Ao aproveitar estratégias avançadas de alocação de memória, a indústria de IA continua a expandir os limites do que é possível, garantindo que modelos fundamentais massivos possam ser dimensionados e acessados eficientemente em todo o mundo.






