İstem önbelleğe alma ile yapay zeka verimliliğini artırın! Bu güçlü tekniği kullanarak gecikmeyi nasıl azaltacağınızı, maliyetleri nasıl düşüreceğinizi ve yapay zeka uygulamalarını nasıl ölçeklendireceğinizi öğrenin.
İstemi önbelleğe alma, aşağıdakilerin dağıtımında kullanılan özel bir optimizasyon tekniğidir Büyük Dil Modelleri (LLM'ler) çıkarım gecikmesini önemli ölçüde azaltır ve hesaplama maliyetleri. Üretken yapay zeka bağlamında, Bir bilgi isteminin işlenmesi, metnin sayısal temsillere dönüştürülmesini ve bunlar arasındaki ilişkilerin hesaplanmasını içerir. kullanarak her belirteci dikkat mekanizması. Önemli bir kısmı Uzun bir sistem talimatı veya bir dizi örnek gibi bir bilgi isteminin birden fazla istekte sabit kalması, bilgi istemi önbelleğe alma, sistemin bu statik durumun ara matematiksel durumlarını (özellikle Anahtar-Değer çiftlerini) saklamasına olanak tanır metin. Her yeni sorgu için bu durumları yeniden hesaplamak yerine çıkarım motoru bunları bellekten alır, Modelin işlem gücünü yalnızca girdinin yeni, dinamik kısımlarına odaklamasını sağlar.
Hızlı önbelleğe almanın arkasındaki temel mekanizma bağlam penceresi verimli bir şekilde. Bir LLM işlediğinde girdisine kadar modelin metin anlayışını temsil eden bir "KV Cache" (Anahtar-Değer Önbelleği) oluşturur. o nokta. Komut istemi önbelleğe alma, komut isteminin ilk segment (önek) yeniden kullanılabilir bir varlık olarak ele alır.
İstemli önbelleğe alma, geliştiricilerin derleme ve ölçeklendirme yöntemlerini dönüştürüyor makine öğrenimi (ML) uygulamaları, özellikle de ağır metin işlemeyi içerenler.
Bilgi istemi önbelleği LLM çıkarım sunucularına dahili olsa da, veri yapısını anlamak kavramı netleştirmeye yardımcı olur. "Önbellek" esasen dikkat durumlarını temsil eden tensörleri (çok boyutlu diziler) depolar.
Aşağıdaki Python kod parçacığı torch bir Anahtar-Değer önbellek tensor şeklini ve kavramını göstermektedir,
Bu, hızlı önbelleğe alma sırasında depolanan ve yeniden kullanılan şeydir:
import torch
# Simulate a KV Cache tensor for a transformer model
# Shape: (Batch_Size, Num_Heads, Sequence_Length, Head_Dim)
batch_size, num_heads, seq_len, head_dim = 1, 32, 1024, 128
# Create a random tensor representing the pre-computed state of a long prompt
kv_cache_state = torch.randn(batch_size, num_heads, seq_len, head_dim)
print(f"Cached state shape: {kv_cache_state.shape}")
print(f"Number of cached parameters: {kv_cache_state.numel()}")
# In practice, this tensor is passed to the model's forward() method
# to skip processing the first 1024 tokens.
Hızlı önbelleğe alma işlemini diğer terimlerden ayırmak önemlidir. Doğru optimizasyon stratejisini uygulamak için Ultralytics sözlüğü.
İstemi önbelleğe alma özelliği Doğal Dil İşleme (NLP), verimlilik ilkeleri evrenseldir. İçinde bilgisayarla görme (CV), gibi modeller YOLO11 hız için mimari olarak optimize edilmiştir ve nesne algılama görevlerinin yüksek çerçeve oranlarını, otoregresif dil modellerinde kullanılan aynı tür durum önbelleğine ihtiyaç duymadan hesaplayabilir. Bununla birlikte çok modlu modeller, video işlemek için gelişir ve metinleri bir araya getirerek, görsel belirteçleri önbelleğe alma, aşağıdaki makalelerde açıklanan gelişmekte olan bir araştırma alanı haline gelmektedir arXiv.

