PagedAttention: Manajemen Memori KV Cache Tanpa Fragmentasi
I2 — Inference Engines: vLLM, PagedAttention & Continuous Batching
Paper Kwon et al. (UC Berkeley, SOSP 2023) yang memperkenalkan PagedAttention — terobosan yang mendasari terciptanya vLLM.
Masalah Fragmentasi Memori Konvensional
Pada sistem inferensi tradisional, sistem harus mengalokasikan buffer memori KV Cache berurutan (contiguous memory) sebesar kapasitas maksimum (max context length, misal 8k token) untuk setiap request yang masuk.
- Internal Fragmentation: Request yang hanya menghasilkan 500 token tetap menyandera alokasi memori 8k token.
- External Fragmentation: Ruang memori VRAM terpecah-pecah sehingga request baru ditolak meskipun total VRAM bebas masih banyak.
- Akibat: 60%–80% memori VRAM terbuang sia-sia!
Solusi PagedAttention: Virtual Memory untuk KV Cache
PagedAttention mengadaptasi konsep Virtual Memory Paging sistem operasi ke dalam VRAM GPU:
- KV Cache dipecah menjadi Blok-Blok Fisik berukuran tetap (misal 16 token per blok).
- Blok-blok fisik tidak perlu berurutan di VRAM.
- Block Table memetakan urutan token logis ke lokasi blok fisik nyata di GPU.
- Memori baru dialokasikan sesuai kebutuhan secara dinamis per blok 16-token.
Copy-on-Write untuk Parallel Sampling & Prefix Sharing
Jika beberapa request memiliki system prompt yang sama (misal 2.000 token instruksi), mereka dapat berbagi blok fisik KV Cache yang sama tanpa menduplikasi data di VRAM!
I2