PagedAttention
PagedAttention'ın LLM bellek yönetimini ve KV önbellek verimliliğini nasıl optimize ettiğini öğren. Aktarım hızı üzerindeki etkisini ve Ultralytics YOLO26 performansıyla nasıl karşılaştırıldığını keşfet.
PagedAttention, Büyük Dil Modellerinin (LLM'ler) çıkarım hızını ve işlem hacmini optimize etmek için tasarlanmış oldukça verimli bir bellek yönetimi algoritmasıdır. Geleneksel işletim sistemlerindeki sanal bellek ve sayfalama kavramlarından esinlenen bu teknik, metin oluşturma sırasında KV önbelleği olarak adlandırılan anahtar-değer önbelleğiyle ilişkili muazzam bellek tüketim sorununu ele alır. Önbellek için gereken sürekli bellek bloklarını daha küçük, bitişik olmayan "sayfalara" bölerek, PagedAttention hem iç hem de dış bellek parçalanmasını etkili bir şekilde ortadan kaldırır. Bu durum, yapay zeka sunucularının aynı anda çok daha fazla isteği işlemesine olanak tanıyarak GPU kullanımını en üst düzeye çıkarır.
Link to this sectionPagedAttention ve Flash Attention Karşılaştırması#
Her iki teknik de sinir ağı performansını optimize etse de farklı darboğazları hedefler. Flash Attention, GPU hiyerarşisindeki yavaş bellek okuma ve yazma işlemlerini en aza indirerek dikkat mekanizmasının kendisini hızlandıran bir hesaplama düzeyi optimizasyonudur. PagedAttention ise bir bellek ayırma stratejisidir. Tamamen bağlam penceresi belleğinin nasıl yapılandırıldığına ve saklandığına odaklanarak, büyük ve israf edici bellek bloklarını önceden ayırmadan dinamik ölçeklendirmeye izin verir.
Link to this sectionGerçek Dünya Uygulamaları#
PagedAttention tarafından sunulan bellek verimliliği, büyük ölçekli üretken modellerin üretim ortamlarında dağıtılma şeklini dönüştürdü.
-
Yüksek İşlem Hacimli API Sunumu: GPT-4 gibi modelleri sunan üretim sistemleri, vLLM gibi çerçeveler aracılığıyla PagedAttention'ı kullanır. Bellek bloklarını farklı kullanıcı istekleri arasında paylaşarak, sağlayıcılar aynı donanım üzerinde dört kata kadar daha fazla kullanıcıya hizmet verebilir ve bulut tabanlı yapay zeka hizmetlerini çalıştırma maliyetini önemli ölçüde düşürebilir.
-
Karmaşık Kod Çözme Stratejileri: Bir yapay zeka modeli aynı anda birden fazla potansiyel yanıt oluşturduğunda (örneğin ışın araması veya paralel örneklemede), PagedAttention bu paralel dizilerin aynı temel bellek sayfalarını güvenli bir şekilde paylaşmasına olanak tanır. Bu, sistemin gereksiz belleği çoğaltmasını önleyerek karmaşık muhakeme görevlerini önemli ölçüde hızlandırır.
Link to this sectionBilgisayarlı Görüde Bellek Verimliliği#
PagedAttention öncelikle doğal dil işlemede kullanılsa da, katı bellek optimizasyonu temel prensibi bilgisayarlı görü (CV) alanında da aynı derecede kritiktir. Modelleri donanım kısıtlı uç cihazlara dağıtırken, bellek şişmesinden kaçınmak esastır. Ultralytics YOLO26, uçtan uca, NMS içermeyen bir mimari kullanarak ağır önbellek yönetimi ihtiyacını ortadan kaldırır ve gerçek zamanlı çıkarım verimliliğini yerel olarak sağlar.
Nesne algılama hatlarının bellek ve dışa aktarma gereksinimlerini sorunsuz bir şekilde yönetmek isteyen geliştiriciler için Ultralytics Platformu, modelleri optimum donanım yürütme için paketleyen otomatik dağıtım araçları sunar.
Link to this sectionKod Örneği#
PagedAttention, sunum çerçevelerinde perde arkasında çalışarak standart dikkat fonksiyonlarını optimize edilmiş Cuda çekirdekleriyle değiştirir. Aşağıda, PyTorch içinde standart dikkati nasıl tanımlayabileceğinizi gösteren ve vLLM gibi sistemlerin model dağıtımı sırasında otomatik olarak müdahale edip sayfalama kullanarak optimize ettiği kavramsal bir örnek bulunmaktadır.
import torch
import torch.nn.functional as F
# Simulated Key, Query, and Value tensors for a standard attention block
batch_size, num_heads, sequence_length, head_dim = 1, 8, 1024, 64
query = torch.randn(batch_size, num_heads, sequence_length, head_dim)
key = torch.randn(batch_size, num_heads, sequence_length, head_dim)
value = torch.randn(batch_size, num_heads, sequence_length, head_dim)
# Standard attention computation (often replaced by PagedAttention kernels in production LLM servers)
attention_output = F.scaled_dot_product_attention(query, key, value)
print(f"Computed attention shape: {attention_output.shape}")Gelişmiş bellek ayırma stratejilerinden yararlanarak, yapay zeka endüstrisi mümkün olanın sınırlarını zorlamaya devam ediyor ve devasa temel modellerin dünya çapında verimli bir şekilde ölçeklendirilmesini ve bunlara erişilmesini sağlıyor.






