Sliding-window attention menetapkan batas jarak token yang terbatas pada causal attention. Pada posisi (t), sebuah query hanya dapat mengakses interval terbaru dari posisi key dan value, bukan seluruh prefix. Setelah suatu posisi cache berada permanen di luar interval tersebut, query berikutnya yang memakai aturan lokal yang sama tidak dapat lagi mengaksesnya.

Batas ini mengubah state yang perlu dipertahankan saat decoding autoregresif. Full causal attention membuat state KV yang masih dapat dipakai terus bertambah bersama panjang sequence. Window lokal berukuran tetap dapat menjaga rentang KV aktif tetap terbatas, selama runtime membuang atau menimpa entri yang sudah tidak dapat dijangkau.

Attention mask menentukan batas retensi

Untuk causal window selebar (W), salah satu konvensi indeks yang umum mengizinkan query pada posisi (t) mengakses posisi (j) yang memenuhi

[ \max(0, t-W+1) \le j \le t. ]

Konvensi endpoint dapat berbeda antara definisi model dan kernel. Karena itu, implementasi dapat berbeda satu posisi walaupun mewakili struktur local attention yang sama secara umum. Properti arsitekturalnya adalah batas maksimum jangkauan ke belakang, bukan potongan array tertentu.

Pada full causal attention, himpunan posisi yang dapat diakses pada posisi (t) mencakup seluruh prefix:

[ 0 \le j \le t. ]

Perbedaannya bersifat struktural. Pada kasus lokal, kenaikan (t) menggeser sisi kiri interval ke depan. Posisi lama akhirnya tidak lagi menjadi kandidat bagi attention pada layer tersebut.

Masa aktif cache mengikuti posisi yang masih dapat diakses

Sebuah entri KV berguna bagi langkah decoding berikutnya hanya selama masih ada query berikutnya yang dapat merujuk posisinya. Dengan fixed window yang ketat, posisi (j) pada akhirnya tidak dapat dijangkau setelah posisi saat ini bergerak cukup jauh.

Jika aturan lokal menerima (W) posisi terbaru termasuk posisi saat ini, key dan value pada (j) menjadi state mati untuk layer tersebut setelah frontier decoding bergerak melewati batasnya. Menyimpan state itu tidak dapat mengubah hasil attention berikutnya selama mask yang sama tetap berlaku.

Hal ini berbeda dari kondisi ketika token lama sekadar memperoleh attention score kecil. Posisi yang terkena mask dikeluarkan dari domain attention sebelum softmax. Tensor K dan V miliknya tidak memiliki jalur ke operasi attention tersebut.

Perbedaan ini penting bagi kebijakan cache. Eviction berbasis score merupakan heuristik inferensi kecuali mekanisme itu memang menjadi bagian dari definisi model. Eviction berbasis window dapat mengikuti langsung aturan kelayakan posisi milik model.

Storage KV aktif dapat berhenti bertambah mengikuti panjang sequence

Dengan mengabaikan metadata, granularitas allocator, padding, dan layout khusus implementasi, sebuah layer dengan (H_{kv}) key-value head dan dimensi per head (d) menyimpan dua vektor untuk setiap posisi token di cache. Jika ukuran setiap elemen adalah (b) byte, storage KV full-prefix kira-kira mengikuti

[ M_{\text{full}}(T) = 2 T H_{kv} d b, ]

untuk panjang cache (T).

Jika layer hanya memerlukan paling banyak (W) posisi token, cache lokal aktif dapat mengikuti

[ M_{\text{window}} \approx 2 W H_{kv} d b. ]

Saat (T > W), payload tensor aktif tidak perlu lagi bertambah sebanding dengan (T). Pernyataan ini berlaku untuk state KV pada layer local attention tersebut. Memori inferensi total tetap dapat bertambah akibat metadata request, token output, perilaku allocator, layer lain, state global attention, atau bookkeeping runtime.

Batas tersebut juga tidak berarti setiap implementasi langsung melepaskan memori fisik. Runtime dapat mencadangkan arena yang lebih besar, memakai ulang blok tetap, atau mempertahankan entri lama di storage yang sudah dialokasikan sambil mengeluarkannya secara logis. Masa aktif cache secara logis dan residensi allocator adalah dua properti yang berbeda.

Ring buffer sesuai dengan interval yang terus bergeser

Karena interval posisi yang dapat diakses bergerak maju secara monoton selama decoding autoregresif biasa, circular buffer berkapasitas tetap dapat menyimpan state KV lokal tanpa menggeser seluruh tensor pada setiap token.

Pemetaan slot fisik sederhana dapat ditulis sebagai

[ s(t) = t \bmod W. ]

Ketika posisi (t) masuk, data KV miliknya dapat menimpa slot yang sebelumnya terkait dengan posisi lama yang sudah tidak dapat diakses. Namun, nomor slot fisik bukan posisi token. Runtime tetap memerlukan informasi posisi yang cukup untuk mengaitkan setiap slot dengan posisi logis yang benar pada komputasi attention.

Pemisahan ini sangat penting pada mekanisme posisi seperti rotary position embeddings. Pemakaian ulang slot storage tidak mengatur ulang indeks token logis. Kompaksi cache dan semantik posisi merupakan operasi yang berbeda.

Cache manager berbasis page dapat menerapkan properti retensi yang sama menggunakan blok, bukan circular slot individual. Setelah semua token dalam blok lama tidak dapat dijangkau, blok tersebut dapat dikembalikan ke free pool. Struktur datanya berubah, tetapi kriteria masa aktifnya tetap sama.

Local attention tidak membuat model kehilangan seluruh memori global

Pembuangan entri KV lama pada suatu layer tidak berarti informasi dari token tersebut hilang dari seluruh komputasi model. Hidden state pada posisi yang lebih baru sebelumnya telah dibentuk dari konteks lama yang saat itu masih berada dalam window. Informasi dengan demikian dapat merambat ke depan melalui interaksi lokal berturut-turut.

Namun, sebuah query tidak dapat mengambil kembali vektor KV lama secara langsung setelah posisinya berada di luar window. Perilaku jarak jauh efektif milik model bergantung pada arsitektur, kedalaman, pola attention, proses training, serta keberadaan layer atau token dengan konektivitas yang lebih luas.

Sebuah arsitektur juga dapat mencampur local dan global attention. Jika beberapa layer mempertahankan full-prefix attention sementara layer lain memakai fixed window, hanya layer lokal yang memperoleh batas KV ketat sebesar window. Layer global tetap membutuhkan state sesuai domain attention masing-masing.

Prefill dan decode menghasilkan dampak operasional yang berbeda

Pada prefill, banyak posisi token diproses bersama. Local mask mengurangi himpunan posisi key yang relevan bagi setiap query, tetapi traffic memori dan storage sementara tetap bergantung pada kernel attention. Kernel yang dirancang untuk local attention dapat menghindari pekerjaan untuk seluruh causal matrix, sedangkan jalur generik dapat memiliki perilaku intermediate yang berbeda.

Pada decode token demi token, konsekuensi retensinya lebih langsung. Setiap query baru hanya memerlukan entri KV yang masih berada di dalam rentang ke belakang yang diizinkan. Cache manager dapat menghentikan retensi state lama saat frontier bergerak maju.

Kedua properti tersebut tidak menjamin rasio peningkatan latency tertentu. Desain kernel, komposisi batch, layout memori, quantization, karakteristik perangkat, scheduling, dan overhead pengelolaan cache ikut menentukan latency terukur.

Ukuran window adalah parameter arsitektural, bukan sekadar knob cache

Mengurangi rentang KV yang dipertahankan hingga lebih kecil daripada attention window yang didefinisikan model mengubah informasi yang tersedia bagi operasi attention. Tindakan tersebut bukan optimasi cache lossless.

Sebaliknya, mempertahankan entri KV melebihi rentang yang diizinkan mask tidak memperluas jangkauan attention model. Tensor cache tambahan tetap tidak dapat diakses jika mask mengecualikan posisinya.

Batas eviction yang aman berasal dari aturan attention itu sendiri: state dapat keluar dari cache aktif setelah tidak ada query valid berikutnya yang dapat merujuknya. Sliding-window attention menyediakan batas tersebut secara struktural, sehingga kebutuhan KV full-prefix yang terus bertambah berubah menjadi rentang aktif terbatas pada layer yang memakai local window.