¿Cómo cambia una ventana de contexto deslizante el uso de memoria de la IA local?

Eva Wong es la Redactora técnica y manitas residente en ZimaSpace. Una geek de toda la vida con pasión por los homelabs y el software de código abierto, se especializa en traducir conceptos técnicos complejos en guías accesibles y prácticas. Eva cree que el autoalojamiento debe ser divertido, no intimidante. A través de sus tutoriales, empodera a la comunidad para desmitificar las configuraciones de hardware, desde construir su primer NAS hasta dominar los contenedores Docker.

Una ventana de contexto deslizante limita la memoria de atención activa al excluir el estado de los tokens más antiguos cuando la ventana conservada alcanza el límite configurado.

La atención causal completa conserva las claves y los valores de toda la secuencia activa, por lo que la memoria KV crece a medida que una conversación, un documento o una respuesta generada se alarga. La atención con ventana deslizante cambia esta relación: cada token atiende directamente solo a una región reciente y acotada, lo que permite sobrescribir u omitir entradas antiguas de la caché cuando la implementación admite un almacenamiento rotativo. El modelo puede gestionar un flujo largo con un conjunto de trabajo más predecible, pero el historial descartado ya no está disponible mediante la misma ruta de atención directa.

La atención completa sigue ampliando el historial KV activo

En la inferencia convencional con contexto completo, cada token conservado aporta tensores de claves y valores en todas las capas de atención del modelo. Por tanto, una conversación más larga aumenta la caché que debe mantenerse direccionable.

Mistral 7B introdujo la atención con ventana deslizante como una forma de reducir el coste de inferencia al procesar secuencias largas.

La memoria de los pesos no cambia con la longitud de la conversación, pero sí lo hace la memoria de ejecución disponible para la caché KV, los usuarios y el trabajo temporal.

Una ventana fija puede limitar el crecimiento de la caché tras el calentamiento

Si cada capa conserva solo la ventana más reciente de tokens, las entradas KV antiguas pueden salir del conjunto de trabajo activo a medida que llegan nuevos tokens. La memoria se aproxima entonces a un techo basado en el tamaño de la ventana, en lugar de en la longitud total del flujo.

Longformer formaliza la atención local por ventana, cuyo cálculo escala según la vecindad seleccionada en lugar de hacerlo según cada par de tokens.

Un búfer KV rotativo puede reutilizar las posiciones físicas una vez que la ventana está llena, haciendo que el uso de memoria sea más estable durante un chat local prolongado o un flujo de transcripción.

Este beneficio depende de que el entorno de ejecución realmente descarte o sobrescriba el estado que queda fuera de la ventana. Una arquitectura de modelo que utiliza atención local no garantiza que todos los motores de servicio asignen la caché de forma idéntica.

Las capas apiladas pueden transportar información más allá de una sola ventana local

En una capa, un token lee una vecindad reciente de la capa anterior. Las capas más profundas reciben representaciones que ya contienen información combinada de vecindades anteriores.

La arquitectura de Mistral explica este campo receptivo apilado: la información puede propagarse más allá de una sola ventana a través de varias capas del transformador.

La propagación indirecta no equivale a conservar un acceso directo y exacto a todos los tokens antiguos. El modelo recibe representaciones transformadas, no una tabla ilimitada de consulta del historial completo.

-15% OFF

Descartar el estado KV antiguo cambia lo que el modelo puede recuperar directamente

Cuando un token inicial sale de todas las ventanas de atención relevantes, los tokens posteriores ya no pueden atender a su clave y valor originales mediante la ruta normal de atención local.

StreamingLLM muestra que la expulsión de tokens recientes puede perjudicar el comportamiento del modelo cuando la secuencia supera el tamaño de la caché.

Los sumideros de atención, los tokens globales, los resúmenes, la recuperación o las capas híbridas específicas de la arquitectura pueden conservar información seleccionada de largo alcance mientras mantienen acotada la mayor parte de la memoria de la caché.

Por tanto, el ahorro de memoria tiene un límite semántico: puede ser necesario resumir los detalles antiguos, recuperarlos de nuevo o conservarlos intencionadamente fuera de la región deslizante habitual.

El tamaño de la ventana debe probarse con el entorno de ejecución y el flujo de trabajo reales

Estima el techo de la caché a partir del tamaño de la ventana, el número de cabezas KV, la dimensión de las cabezas, el número de capas, la precisión, el tamaño del lote y los usuarios activos. Después, verifica el comportamiento observado del asignador en lugar de asumir que el límite teórico se alcanza por completo.

El análisis de Kimi K3 de ZimaSpace separa el estado fijo del estado que crece con los tokens al abordar la memoria para contextos largos. Los distintos diseños de atención pueden imponer límites diferentes aunque anuncien una longitud máxima de contexto similar.

Prueba chats breves, flujos más largos que la ventana, datos situados cerca del principio, varios usuarios simultáneos y un reinicio limpio. Registra la memoria máxima, la latencia del primer token, la velocidad de generación y si la información inicial sigue disponible.

Una ventana más pequeña resulta útil cuando libera suficiente memoria para mejorar la fiabilidad o la concurrencia sin eliminar información que el flujo de trabajo local deba conservar.

Preguntas frecuentes

¿Una ventana deslizante equivale a borrar la conversación?

No. La aplicación puede seguir almacenando la transcripción completa, pero el modelo puede atender directamente solo a la ventana reciente, a menos que el contenido antiguo se resuma o se recupere de nuevo.

¿La atención con ventana deslizante siempre utiliza memoria constante?

Puede limitar la caché de atención de una secuencia, pero la memoria total también incluye los pesos, otras capas, los usuarios activos, los búferes temporales y las reservas del entorno de ejecución.

¿Puede un modelo recordar datos anteriores a su ventana?

A veces, mediante representaciones propagadas, atención global, resúmenes, recuperación o memoria de la aplicación, pero el acceso directo al estado original de los tokens está limitado por la arquitectura.

Centro de Tecnología e IA

Más para leer

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.