El servicio de modelos de lenguaje grande a menudo desperdicia memoria de GPU porque los motores reservan previamente grandes regiones de caché KV estáticas por modelo, incluso cuando las solicitudes están en ráfagas o inactivas. Conozca ‘kvcached’, una biblioteca que habilita la caché KV elástica y virtualizada para el servicio LLM en GPU compartidas. kvcached ha sido desarrollado por una investigación del Sky Computing Lab de Berkeley (Universidad de California, Berkeley) en estrecha colaboración con la Universidad Rice y UCLA, y con valiosos aportes de colaboradores y colegas de NVIDIA, Intel Corporation y la Universidad de Stanford. Introduce una abstracción de memoria virtual estilo sistema operativo para la caché KV que permite a los motores de servicio reservar espacio virtual contiguo primero y luego respaldar solo las partes activas con páginas físicas de GPU a pedido. Este desacoplamiento aumenta la utilización de la memoria, reduce los arranques en frío y permite que varios modelos compartan tiempo y espacio en un dispositivo sin reescrituras pesadas del motor.
¿Qué cambios kvcached?
Con kvcached, un motor crea un grupo de caché KV que es contiguo en el espacio de direcciones virtuales. A medida que llegan los tokens, la biblioteca asigna páginas físicas de GPU de forma perezosa con una granularidad fina utilizando las API de memoria virtual CUDA. Cuando las solicitudes se completan o los modelos quedan inactivos, las páginas se desasignan y regresan a un grupo compartido, que otros modelos colocados pueden reutilizar inmediatamente. Esto preserva la aritmética de puntero simple en los núcleos y elimina la necesidad de paginación a nivel de usuario por motor. El proyecto apunta a la integración de SGLang y vLLM y se lanza bajo la licencia Apache 2.0. La instalación y el inicio rápido con un solo comando están documentados en el repositorio de Git.
¿Cómo impacta a escala?
Las cargas de trabajo de producción albergan muchos modelos con tráfico de cola larga y ráfagas puntiagudas. Las reservas estáticas dejan la memoria varada y ralentizan el tiempo hasta la primera ficha cuando se deben activar o intercambiar modelos. El artículo de investigación de Prism muestra que el servicio multi-LLM requiere coordinación de memoria entre modelos en tiempo de ejecución, no solo programación informática. Prism implementa un mapeo bajo demanda de páginas físicas a virtuales y un programador de dos niveles, y reporta más de 2 veces de ahorro de costos y 3,3 veces mayor logro de TTFT SLO en comparación con sistemas anteriores en seguimientos reales. kvcached se centra en la primitiva de coordinación de la memoria y proporciona un componente reutilizable que lleva esta capacidad a los motores convencionales.
Señales de rendimiento
El equipo de kvcached informa un tiempo entre 1,2 y 28 veces más rápido para obtener el primer token en el servicio de múltiples modelos, debido a la reutilización inmediata de las páginas liberadas y la eliminación de grandes asignaciones estáticas. Estos números provienen de escenarios de múltiples LLM donde la latencia de activación y el margen de memoria dominan la latencia de cola. El equipo de investigación observa la compatibilidad de kvcached con SGLang y vLLM y describe la asignación elástica de KV como mecanismo central.
¿Cómo se relaciona con investigaciones recientes?
El trabajo reciente ha pasado de la partición fija a métodos basados en memoria virtual para la gestión de KV. Prism extiende la asignación basada en VMM a entornos de múltiples LLM con coordinación y programación entre modelos. Esfuerzos anteriores como vAttention exploran CUDA VMM para un modelo único que sirve para evitar la fragmentación sin PagedAttention. El arco es claro: use memoria virtual para mantener KV contiguos en el espacio virtual y luego asigne páginas físicas de manera elástica a medida que evoluciona la carga de trabajo. kvcached pone en práctica esta idea como una biblioteca, lo que simplifica la adopción dentro de los motores existentes.
Aplicaciones prácticas para desarrolladores
Colocación entre modelos: los motores pueden colocar varios modelos pequeños o medianos en un solo dispositivo. Cuando un modelo queda inactivo, sus páginas KV se liberan rápidamente y otro modelo puede ampliar su conjunto de trabajo sin reiniciar. Esto reduce el bloqueo de la cabeza de línea durante las ráfagas y mejora el logro de TTFT SLO.
Comportamiento de activación: Prism informa tiempos de activación de aproximadamente 0,7 segundos para un modelo 8B y aproximadamente 1,5 segundos para un modelo 70B con activación de transmisión. kvcached se beneficia de principios similares porque las reservas virtuales permiten a los motores preparar rangos de direcciones con anticipación y luego asignar páginas a medida que llegan los tokens.
Escalado automático para LLM sin servidor: el mapeo de páginas detallado hace posible escalar réplicas con mayor frecuencia y ejecutar modelos fríos en un estado cálido con una huella de memoria mínima. Esto permite bucles de escalado automático más estrictos y reduce el radio de explosión de los puntos calientes.
Descarga y trabajo futuro. La memoria virtual abre la puerta a la descarga de KV a la memoria del host o NVMe cuando el patrón de acceso lo permite. La guía reciente de NVIDIA sobre memoria administrada para descarga KV en sistemas de clase GH200 muestra cómo los espacios de direcciones unificados pueden ampliar la capacidad con gastos generales aceptables. Los mantenedores de kvcached también analizan las direcciones de descarga y compactación en hilos públicos. Verifique el rendimiento y la latencia en su propia canalización, ya que la localidad de acceso y la topología PCIe tienen fuertes efectos.
Conclusiones clave
kvcached virtualiza la caché KV utilizando la memoria virtual de GPU, los motores reservan espacio virtual contiguo y asignan páginas físicas a pedido, lo que permite una asignación elástica y recuperación bajo cargas dinámicas. Se integra con los principales motores de inferencia, específicamente SGLang y vLLM, y se lanza bajo Apache 2.0, lo que facilita la adopción y modificación para las pilas de servicios de producción. Los puntos de referencia públicos informan un tiempo entre 1,2 y 28 veces más rápido para obtener el primer token en el servicio de múltiples modelos debido a la reutilización inmediata de las páginas KV liberadas y la eliminación de grandes reservas estáticas. Prism muestra que la coordinación de memoria entre modelos, implementada mediante mapeo bajo demanda y programación de dos niveles, ofrece más del doble de ahorro de costos y un logro de TTFT SLO 3,3 veces mayor en trazas reales; kvcached proporciona la memoria primitiva que los motores convencionales pueden reutilizar. Para los clústeres que albergan muchos modelos con tráfico de cola larga y en ráfagas, la caché KV virtualizada permite una colocación segura, una activación más rápida y un escalado automático más estricto, con una activación reportada de alrededor de 0,7 segundos para un modelo 8B y 1,5 segundos para un modelo 70B en la evaluación Prism.
kvcached es un enfoque eficaz hacia la virtualización de la memoria GPU para el servicio LLM, no un sistema operativo completo, y esa claridad es importante. La biblioteca reserva espacio de direcciones virtuales para la caché KV y luego asigna páginas físicas según demanda, lo que permite compartir de forma elástica entre modelos con cambios mínimos en el motor. Esto se alinea con la evidencia de que la coordinación de la memoria entre modelos es esencial para cargas de trabajo de múltiples modelos y mejora el logro de SLO y el costo en seguimientos reales. En general, kvcached mejora la coordinación de la memoria GPU para el servicio LLM; el valor de producción depende de la validación por clúster.
Consulte el repositorio de GitHub, el documento 1, el documento 2 y los detalles técnicos. No dude en consultar nuestra página de GitHub para tutoriales, códigos y cuadernos. Además, no dude en seguirnos en Twitter y no olvide unirse a nuestro SubReddit de más de 100.000 ML y suscribirse a nuestro boletín. ¡Esperar! estas en telegrama? Ahora también puedes unirte a nosotros en Telegram.
Asif Razzaq es el director ejecutivo de Marktechpost Media Inc.. Como empresario e ingeniero visionario, Asif está comprometido a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, Marktechpost, que se destaca por su cobertura en profundidad del aprendizaje automático y las noticias sobre aprendizaje profundo que es técnicamente sólida y fácilmente comprensible para una amplia audiencia. La plataforma cuenta con más de 2 millones de visitas mensuales, lo que ilustra su popularidad entre el público.
🙌 Siga MARKTECHPOST: agréguenos como fuente preferida en Google.