PagedAttention'ın büyük dil modellerinin (LLM) bellek yönetimini ve anahtar-değer önbellek verimliliğini nasıl optimize ettiğini öğrenin. Bunun iş hacmi üzerindeki etkisini ve Ultralytics performansıyla karşılaştırmasını inceleyin.
PagedAttention, Büyük Dil Modelleri’nin (LLM’ler) çıkarım hızını ve işlem kapasitesini optimize etmek üzere tasarlanmış, son derece verimli bir bellek yönetimi algoritmasıdır. Geleneksel işletim sistemlerindeki sanal bellek ve sayfalama kavramlarından esinlenen bu teknik, metin üretimi sırasında anahtar-değer önbelleği (genellikle KV önbelleği olarak anılır) ile ilişkili muazzam bellek tüketimini ele almaktadır. Önbellek için gerekli olan 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, AI sunucularının aynı anda önemli ölçüde daha fazla isteği toplu olarak işleyebilmesini sağlayarak GPU en üst düzeye çıkarır.
Her iki teknik de sinir ağının performansını optimize etse de, farklı darboğazları hedef almaktadır. Flash Attention, GPU genelinde yavaş bellek okuma ve yazma işlemlerini en aza indirerek dikkat mekanizmasının kendisini hızlandıran bir hesaplama düzeyinde optimizasyondur. Buna karşılık, PagedAttention bir bellek ayırma stratejisidir. Tamamen bağlam penceresi için belleğin nasıl yapılandırıldığına ve depolandığına odaklanır ve büyük, israf edici bellek bloklarını önceden ayırmaya gerek kalmadan dinamik ölçeklendirme sağlar.
PagedAttention'ın sağladığı bellek verimliliği, büyük ölçekli üretken modellerin üretim ortamında devreye alınma şeklini kökten değiştirdi.
PagedAttention öncelikle doğal dil işlemede kullanılsa da, temelindeki katı bellek optimizasyonu ilkesi bilgisayar görme (CV) alanında da aynı derecede önemlidir. Modelleri donanım kısıtlamaları olan uç cihazlara dağıtırken, bellek şişmesini önlemek hayati önem taşır. Ultralytics , uçtan uca, NMS bir mimari kullanarak ağır önbellek yönetimi ihtiyacını ortadan kaldırarak, doğal olarak gerçek zamanlı çıkarım verimliliği sağlar.
Nesne algılama iş akışlarının bellek ve dışa aktarma gereksinimlerini sorunsuz bir şekilde yönetmek isteyen geliştiriciler için, Ultralytics , modelleri donanımda en verimli şekilde çalıştırılmak üzere paketleyen otomatik dağıtım araçları sunar.
PagedAttention, servis çerçevelerinde arka planda çalışarak standart dikkat işlevlerini optimize edilmiş Cuda değiştirir. Aşağıda, standart dikkatin PyTorch'da standart dikkatin nasıl tanımlanabileceğini gösteren kavramsal bir örnek yer almaktadır; vLLM gibi sistemler, model dağıtımı sırasında sayfalama kullanarak bunu otomatik olarak yakalar ve optimize eder.
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 tahsis stratejilerinden yararlanarak, yapay zeka sektörü mümkün olanın sınırlarını genişletmeye devam ediyor ve devasa temel modellerin dünya çapında verimli bir şekilde ölçeklendirilip kullanılabilir olmasını sağlıyor.
Makine öğreniminin geleceği ile yolculuğunuza başlayın