ÖZET VE TEKNİK CEVAP
LLM çıkarımında önceki jetonların attention hesaplarını tekrar yapmamak için Key ve Value tensörleri GPU belleğinde (**KV Cache**) saklanır. Geleneksel sistemlerde (HuggingFace, standart PyTorch), KV önbelleği modelin maksimum bağlam boyutu kadar (ör. 8.192 jeton) bitişik (contiguous) tek bir GPU bellek bloğu olarak baştan ayrılır. Kullanıcı isteklerinin uzunluğu tahmin edilemediğinden bu durum yıkıcı **Bellek Parçalanmasına (Memory Fragmentation)** yol açar: (1) **İç Parçalanma** (asla kullanılmayan rezerve boş alan), (2) **Dış Parçalanma** (aradaki bellek boşlukları) ve (3) **Gelecek Rezervasyonu**. GPU RAM'inin %80'e yakını boş tamponlarda heba olur. UC Berkeley araştırmacıları **PagedAttention** mimarisini (**vLLM**'in çekirdeği) geliştirdi: İşletim sistemi sanal bellek sayfalamasından esinlenen PagedAttention, KV önbelleğini sabit boyutlu fiziksel sayfalara (blok başına 16 jeton) böler. Dağınık sayfalar dinamik bir Sayfa Tablosu (Page Table) ile birleştirilir; bellek israfı <%4'e düşer ve GPU başına eşzamanlı işleme kapasitesi 4 katına çıkar.
Mühendislik El Kitabı & Mekanizma
1. Temel Çalışma Mekanizması
PagedAttention 4 sanal bellek mekanizmasıyla çalışır: (1) Mantıksal ve Fiziksel Blok Haritalama: Jetonlar 16 jetonluk ($B=16$) bloklara bölünür. Blok Yöneticisi mantıksal blokları GPU belleğindeki dağınık fiziksel sayfalara bağlar. (2) İhtiyaç Anında Dinamik Sayfa Tahsisi: İstek 17. jetonu ürettiğinde sistem hafızada anında yeni bir sayfa açar; eski veriyi kopyalamak gerekmez. (3) Sıfır-Kopyalama ile Çatallanma (Copy-on-Write): Çoklu ajan veya paralel örneklemede, alt süreçler ana sürecin KV sayfalarını ortak okur; sadece yeni üretilen jetonlar yeni sayfaya yazılır. (4) Ortak Ön Ek Önbelleği (Prefix Caching): Farklı kullanıcıların paylaştığı sistem talimatları ve araç şemaları GPU belleğindeki aynı fiziksel sayfaları ortak kullanır.
2. Doğru Kullanım Senaryosu
Yüksek hacimli LLM sunucu kümeleri (vLLM, TensorRT-LLM), çok turlu sohbet platformları, otomatik toplu veri işleme motorları ve paralel ajan çıkarımları.
3. Prodüksiyon Arıza Modları
vLLM'de `gpu_memory_utilization = 1.0` verip CUDA çalışma zamanının anlık tensör belleklerinde GPU'nun çökmesine (OOM) yol açmak; blok boyutunu çok küçük ($B=1$) seçip CPU'ya aşırı sayfa yönetim yükü bindirmek.
4. Teşhis ve Telemetri Sinyalleri
GPU kullanım oranı %40'lardayken `num_requests_waiting` bekleme kuyruğunun dolması; `gpu_cache_usage_factor` metriğinin %98'e kilitlenmesi; geleneksel sunucudan vLLM'e geçildiğinde saniyedeki istek kapasitesinin 4 katına fırlaması.
5. Önleme ve Mimari Bariyerler
CUDA anlık hesaplamaları için GPU'da nefes payı bırakın (`gpu_memory_utilization = 0.90`); ortak sistem prompt'ları için Otomatik Ön Ek Önbelleğini (`--enable-prefix-caching`) açın; optimal bellek hizalaması için blok boyutunu 16 veya 32 seçin.
6. Mimari Ödünleşimler (Trade-offs)
PagedAttention sayfa tablosu yönetimi nedeniyle hafif bir yazılım karmaşıklığı getirir; ancak GPU KV bellek israfını %80'den %4'ün altına düşürür ve sunucu verimini 4 katına çıkarır.
Vaka İncelemesi (TinyCTO Örneği)
Bir kurumsal platform, 2x NVIDIA A10G GPU üzerinde standart sunucuyla Mistral-7B çalıştırıyordu. 80 eşzamanlı kullanıcı geldiğinde her istek baştan 4.096 jetonluk bitişik bellek ayırdığı için GPU belleği yetersiz kalıyor (OOM) ve saniyede sadece 14 istek işlenebiliyordu. Ekip PagedAttention motorlu vLLM'e geçti ve Prefix Caching açtı. Bellek israfı %74'ten %3,2'ye indi. Aynı iki GPU saniyede 58 istekle 320 eşzamanlı kullanıcıyı sıfır hatayla kaldırdı ve bulut sunucu maliyeti %75 azaldı.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaGeleneksel LLM KV Önbellek yönetiminde %60-80 bellek israfına ne sebep olur?
vLLM'deki Ön Ek Önbelleği (Prefix Caching) çok kullanıcılı sistemlerde işlem kapasitesini nasıl artırır?
vLLM PagedAttention: KV Cache Bellek Parçalanmasını Önleme ve 4 Kat Çıkarım Kapasitesi — Sıkça Sorulan Sorular
PagedAttention algoritması doğrudan hangi işletim sistemi kavramından esinlenmiştir?
Sanal Bellek Sayfalaması (Virtual Memory Paging): Mantıksal bitişik adres uzayını dağınık fiziksel bellek sayfalarına haritalama tekniğidir.
PagedAttention matematiksel attention çıktısını değiştirir mi?
Hayır. PagedAttention matematiksel olarak standart multi-head attention ile birebir aynıdır; sadece GPU bellek yerleşimi ve kernel erişim optimizasyonudur.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸Traditional KV caches waste up to 80% of GPU VRAM via contiguous memory fragmentation.
- ▸PagedAttention (vLLM) breaks KV tensors into non-contiguous 16-token physical pages.
- ▸Reduces memory waste to <4%, enabling 2x-4x higher concurrent throughput per GPU.
- ▸Enables Automatic Prefix Caching to share system prompt KV blocks across all users.
Yaygın Yanılgılar
- ✗Yanılgı: PagedAttention is an approximation or lossy compression technique (Gerçek: Attention calculation is 100% exact and lossless).
- ✗Yanılgı: Larger GPUs are always the only way to scale concurrent users (Gerçek: Memory paging optimization quadruples capacity on existing hardware).
Karar Kılavuzu & Önceliklendirme
Deploy vLLM with PagedAttention as the default serving infrastructure for open LLMs. Enable `--enable-prefix-caching` to maximize memory sharing for agentic system prompts.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]Efficient Memory Management for Large Language Model Serving with PagedAttention— Woosuk Kwon et al. (UC Berkeley / SOSP 2023)
