Paged Attention es una técnica de gestión de memoria inspirada en la memoria virtual de los sistemas operativos, diseñada específicamente para optimizar el almacenamiento y acceso a los KV Caches (Key-Value Caches) en modelos de lenguaje grandes (LLMs). En lugar de asignar memoria contigua para cada secuencia, Paged Attention divide el KV Cache de cada secuencia en bloques (pages) no contiguos. Estos bloques pueden ser almacenados de forma dispersa en la memoria de la GPU y mapeados lógicamente a las secuencias. Esto permite compartir bloques entre diferentes secuencias cuando sea posible (por ejemplo, en decodificación por lotes con prefijos compartidos) y gestionar de forma más granular la memoria, reduciendo la fragmentación y mejorando la utilización de la VRAM.
Esta técnica es fundamental para la eficiencia de frameworks de inferencia de LLMs de alto rendimiento. vLLM es el ejemplo más prominente de un sistema que implementa Paged Attention, logrando mejoras significativas en el throughput de inferencia (hasta 2-4x) en comparación con enfoques tradicionales. Otros sistemas y bibliotecas que buscan optimizar la inferencia de LLMs, como algunos backends de Hugging Face Transformers o implementaciones personalizadas en la nube, están adoptando o explorando principios similares para mejorar la escalabilidad y reducir los costos operativos de servir modelos de gran escala.
Para un Arquitecto de Sistemas, Paged Attention es crucial porque impacta directamente en la capacidad y el costo de operar servicios de inferencia de LLMs. Permite servir más solicitudes por segundo (mayor throughput) con la misma infraestructura de GPU, o reducir la cantidad de hardware necesario para un determinado nivel de servicio. Los trade-offs incluyen una mayor complejidad en la gestión de memoria a nivel de software y la necesidad de un scheduler de GPU más sofisticado. La adopción de frameworks que implementan Paged Attention es una decisión estratégica para optimizar el TCO (Total Cost of Ownership) y la latencia en aplicaciones que dependen de LLMs, especialmente en escenarios de alto volumen o donde la eficiencia de la VRAM es un cuello de botella.