Skip to main content

> vllm_pagedattention:_kv_cache_bellek_parçalanmasını_önleme_ve_4_kat_çıkarım_kapasitesi

vLLM PagedAttention: KV Cache Bellek Parçalanmasını Önleme ve 4 Kat Çıkarım Kapasitesi

Standart LLM Key-Value (KV) önbellek yönetimi iç ve dış bellek parçalanması (fragmentation) yüzünden GPU VRAM'inin %60-80'ini neden israf eder; PagedAttention sanal bellek sayfalamasını uygulayarak çıkarım verimini nasıl 4 katına çıkarır?

Principal/Architect (L7+)

Ö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ırma
Q1

Geleneksel LLM KV Önbellek yönetiminde %60-80 bellek israfına ne sebep olur?

Her istek için teorik maksimum bağlam boyutu kadar bitişik bellek bloğunu baştan rezerve etmek; bu durumun kısa isteklerde devasa iç parçalanma ve boş alan israfı yaratmasıdır.
Q2

vLLM'deki Ön Ek Önbelleği (Prefix Caching) çok kullanıcılı sistemlerde işlem kapasitesini nasıl artırır?

Aynı sistem prompt'unu veya araç şemasını kullanan yüzlerce farklı kullanıcının GPU belleğindeki aynı fiziksel KV sayfalarını ortak kullanmasını sağlayarak.

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