tag paged-attention
Bu sayfada paged-attention etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.
KV Cache (Key-Value Cache — Anahtar-Değer Önbelleği), transformer tabanlı büyük dil modellerinin otomatik regresif çıkarımında hesaplama verimliliğini artıran temel bir bellek optimizasyon mekanizmasıdır. Token üretiminde her adımda tüm geçmiş tokenların dikkat hesaplamalarını yeniden yapmak yerine, daha önce hesaplanan anahtar (Key) ve değer (Value) matrislerini bellekte saklayarak bu maliyeti ortadan kaldırır. Böylece naif O(n²) karmaşıklık O(n)'e indirilir ve model, uzun bağlamlarda bile tutarlı bir hızda yanıt üretebilir. Transformer mimarisindeki çok-başlı dikkat (multi-head attention) katmanında, her token için K ve V vektörleri hesaplanır. Otoregresif üretimde n token zaten üretilmişse, n+1. token için önceki n tokenın K ve V değerleri önbellekten okunabilir; yalnızca yeni tokena ait hesaplama yapılır ve sonuç önbelleğe eklenir. Bu süreç her üretim adımında yalnızca artımlı bir işlem gerektirir ve toplam çıkarım hızını dramatik biçimde artırır. Bellek tüketimi KV Cache'in en kritik tasarım kısıtıdır. Hesaplama formülü şudur: 2 × katman_sayısı × kafa_sayısı × kafa_boyutu × dizi_uzunluğu × bit_genişliği. 7 milyar parametreli bir modelde 4096 token bağlam için FP16 ile yaklaşık 500 MB gerekir; 128K token bağlamda bu değer 10–15 GB'a ulaşabilir. Toplu çıkarımda farklı uzunluktaki isteklerin KV Cache'leri VRAM'i model ağırlıklarıyla rekabet eder biçimde tüketir ve bu durum maksimum batch boyutunu sınırlandırır. Bu baskıyı hafifletmek için sektörde birkaç kritik yöntem geliştirilmiştir. Grouped Query Attention (GQA) ve Multi-Query Attention (MQA), birden fazla sorgu kafasına tek bir K-V matrisi atayarak önbellek boyutunu önemli ölçüde küçültür; Llama 3, Gemma ve Mistral bu tekniği standart olarak kullanır. KV cache kuantizasyonu (INT8/FP8) bellek tüketimini 2–4 kat azaltırken kalite kaybını sınırlı tutar. vLLM'in Paged Attention yöntemi, cache'i sabit boyutlu sayfalar hâlinde yönetir ve bellek parçalanması sorununu ortadan kaldırır. API düzeyinde Prompt Caching ise tekrar eden sistem promptlarının K-V hesaplamalarını sunucu tarafında saklayarak hem gecikmeyi hem de maliyeti düşürür; Anthropic Claude, OpenAI ve Google bu özelliği prefix caching adıyla sunar. DeepSeek'in Multi-head Latent Attention (MLA) mimarisi, K-V vektörlerini sıkıştırılmış bir gizli uzaya projekte ederek önbellek boyutunu dramatik biçimde küçültür ve uzun bağlam işlemeyi yeniden tanımlar.
KV Cache (Anahtar-Değer Önbelleği)
KV Cache (Key-Value Cache — Anahtar-Değer Önbelleği), transformer tabanlı büyük dil modellerinin otomatik regresif çıkarımında hesaplama verimliliğini artıran temel bir bellek optimizasyon mekanizmasıdır. Token üretiminde her adımda tüm geçmiş tokenların dikkat hesaplamalarını yeniden yapmak yerine, daha önce hesaplanan anahtar (Key) ve değer (Value) matrislerini bellekte saklayarak bu maliyeti ortadan kaldırır. Böylece naif O(n²) karmaşıklık O(n)'e indirilir ve model, uzun bağlamlarda bile tutarlı bir hızda yanıt üretebilir. Transformer mimarisindeki çok-başlı dikkat (multi-head attention) katmanında, her token için K ve V vektörleri hesaplanır. Otoregresif üretimde n token zaten üretilmişse, n+1. token için önceki n tokenın K ve V değerleri önbellekten okunabilir; yalnızca yeni tokena ait hesaplama yapılır ve sonuç önbelleğe eklenir. Bu süreç her üretim adımında yalnızca artımlı bir işlem gerektirir ve toplam çıkarım hızını dramatik biçimde artırır. Bellek tüketimi KV Cache'in en kritik tasarım kısıtıdır. Hesaplama formülü şudur: 2 × katman_sayısı × kafa_sayısı × kafa_boyutu × dizi_uzunluğu × bit_genişliği. 7 milyar parametreli bir modelde 4096 token bağlam için FP16 ile yaklaşık 500 MB gerekir; 128K token bağlamda bu değer 10–15 GB'a ulaşabilir. Toplu çıkarımda farklı uzunluktaki isteklerin KV Cache'leri VRAM'i model ağırlıklarıyla rekabet eder biçimde tüketir ve bu durum maksimum batch boyutunu sınırlandırır. Bu baskıyı hafifletmek için sektörde birkaç kritik yöntem geliştirilmiştir. Grouped Query Attention (GQA) ve Multi-Query Attention (MQA), birden fazla sorgu kafasına tek bir K-V matrisi atayarak önbellek boyutunu önemli ölçüde küçültür; Llama 3, Gemma ve Mistral bu tekniği standart olarak kullanır. KV cache kuantizasyonu (INT8/FP8) bellek tüketimini 2–4 kat azaltırken kalite kaybını sınırlı tutar. vLLM'in Paged Attention yöntemi, cache'i sabit boyutlu sayfalar hâlinde yönetir ve bellek parçalanması sorununu ortadan kaldırır. API düzeyinde Prompt Caching ise tekrar eden sistem promptlarının K-V hesaplamalarını sunucu tarafında saklayarak hem gecikmeyi hem de maliyeti düşürür; Anthropic Claude, OpenAI ve Google bu özelliği prefix caching adıyla sunar. DeepSeek'in Multi-head Latent Attention (MLA) mimarisi, K-V vektörlerini sıkıştırılmış bir gizli uzaya projekte ederek önbellek boyutunu dramatik biçimde küçültür ve uzun bağlam işlemeyi yeniden tanımlar.
vLLM (vLLM)
vLLM, UC Berkeley'de geliştirilen ve büyük dil modellerinin (LLM) üretim ortamında hızlı ve verimli biçimde sunulmasını sağlayan açık kaynaklı bir çıkarım (inference) kütüphanesidir. Temel yeniliği olan PagedAttention mekanizması, KV önbelleğini işletim sistemlerindeki sanal bellek yönetiminden ilham alarak sayfalara böler ve dinamik olarak tahsis eder. Bu yaklaşım bellek parçalanmasını minimuma indirerek GPU belleğinin çok daha verimli kullanılmasına olanak tanır. Continuous batching özelliğiyle birleşince vLLM, standart HuggingFace Transformers pipeline'larına kıyasla 24 kata kadar daha yüksek throughput elde edebilir. vLLM, 2023 yılında SOSP konferansında yayımlanan akademik makaleyle tanıtıldı ve kısa sürede yapay zeka topluluğunun en çok kullandığı LLM servis altyapısı haline geldi. Proje GitHub'da 40K'ı aşan yıldızla aktif bir geliştirici kitlesine sahip olmaya devam etmektedir. OpenAI uyumlu REST API sunan vLLM, mevcut sistemlere minimal değişiklikle entegre edilebilmektedir. Teknik açıdan vLLM; Llama, Mistral, Qwen, Gemma ve diğer popüler modelleri destekler. Tensor parallelism ve pipeline parallelism ile modeli birden fazla GPU'ya dağıtabilir, quantization (AWQ, GPTQ, bitsandbytes) ile bellek gereksinimini düşürür. LoRA adaptörlerini çalışma zamanında dinamik olarak yükleyip kaldırabilmesi birden fazla görev için tek bir model örneğini paylaşmaya imkân tanır. Türkiye'de yapay zeka tabanlı ürün geliştiren şirketler ve araştırma kurumları, vLLM'i özellikle maliyet optimizasyonu amacıyla tercih etmektedir. Aynı GPU kümesinde standart kütüphanelere kıyasla çok daha yüksek istek kapasitesi sunulabilmesi, bulut maliyetlerini önemli ölçüde düşürür. Yerli yapay zeka altyapılarında veri egemenliğini korurken yüksek performans elde etmek isteyen kurumlar için kritik bir araçtır. vLLM, OpenAI uyumlu API sunduğundan mevcut entegrasyonlar minimum değişiklikle kendi altyapısına taşınabilir; bu da geçiş sürecini hızlandıran önemli bir avantajdır. Akademik temelli olmasına karşın hızla olgunlaşan proje, kurumsal destek almak isteyen ekipler için de güvenilir bir tercih olmayı sürdürmektedir.