Sliding-Window Attention es una técnica de optimización para el mecanismo de atención en modelos Transformer, diseñada para mitigar el costo computacional cuadrático de la atención estándar. En lugar de permitir que cada token atienda a todos los demás tokens en la secuencia, Sliding-Window Attention restringe el cálculo de atención a un conjunto fijo de tokens vecinos dentro de una 'ventana' deslizante. Esto significa que un token solo puede atender a los tokens dentro de su ventana local (y viceversa), reduciendo la complejidad de O(N²) a O(N*W), donde N es la longitud de la secuencia y W es el tamaño de la ventana. Aunque limita el campo de visión directo, las capas apiladas de atención con ventanas deslizantes pueden, en teoría, expandir el campo receptivo efectivo para cubrir toda la secuencia.

Esta técnica ha sido implementada en varias arquitecturas de modelos de lenguaje a gran escala (LLMs) para mejorar la eficiencia y permitir el procesamiento de secuencias más largas. Ejemplos notables incluyen el Longformer y el BigBird, que utilizan variaciones de atención de ventana deslizante junto con atención dispersa (sparse attention) para manejar contextos extendidos. En el ámbito de la visión por computadora, modelos como Swin Transformer también emplean un mecanismo de atención basado en ventanas deslizantes para procesar imágenes de alta resolución de manera eficiente, aplicando la atención dentro de ventanas no superpuestas o superpuestas que se desplazan a través de la imagen.

Para un arquitecto de sistemas, Sliding-Window Attention es crucial al diseñar sistemas que involucran el procesamiento de secuencias largas, como LLMs, sistemas de procesamiento de lenguaje natural (NLP) o modelos de visión. La elección de implementar o utilizar modelos con esta técnica implica un trade-off directo entre la capacidad de modelar dependencias de largo alcance y la eficiencia computacional (memoria y tiempo de ejecución). Permite escalar a longitudes de contexto que serían inviables con atención completa, pero puede requerir un diseño cuidadoso de la arquitectura (ej., número de capas, tamaño de la ventana) para asegurar que la información relevante de largo alcance pueda propagarse. Es una consideración clave para optimizar el rendimiento y el costo de inferencia y entrenamiento en infraestructuras de IA a gran escala.