
Retrieval Augmented Generation (RAG)
Retrieval Augmented Generation (RAG), geleneksel bilgi alma sistemlerini üretken büyük dil modelleri (LLM'ler) ile birleştiren gelişmiş bir yapay zeka çerçevesi...
Önbellek Destekli Üretim (CAG), statik bilgiyi önceden yükleyerek büyük dil modeli verimliliğini artırır, gecikmeyi azaltır ve statik, düşük gecikmeli görevler için mimariyi basitleştirir.
Önbellek Destekli Üretim (CAG), büyük dil modellerinin (LLM) performans ve verimliliğini, önceden yüklenmiş bilgilerin önceden hesaplanmış anahtar-değer (KV) önbellekleri olarak kullanılmasıyla artıran yeni bir yaklaşımdır.
Retrieval Augmented Generation (RAG)‘den farklı olarak, CAG, çıkarım sırasında dışarıdan bilgi getirme adımlarını tamamen ortadan kaldırır ve tüm ilgili bilgiyi çıkarım öncesinde modelin genişletilmiş bağlam penceresine gömer. Bu ön yükleme stratejisi, LLM’lerin yanıtlarını önceden hesaplanmış bilgilerle oluşturmasına olanak tanır; böylece gecikme önemli ölçüde azalır ve sistem mimarisi basitleşir.
İşlenmiş bilgiyi anahtar-değer önbelleğinde depolayarak, CAG modelin sorguları yanıtlamak için gerekli bağlama anında erişmesini sağlar. Bu yaklaşım, bilgi tabanının statik, nispeten küçük olduğu veya düşük gecikmenin öncelikli olduğu senaryolarda özellikle avantajlıdır.
CAG üç temel aşamada çalışır:
Tüm ilgili belgeler veya veri kümeleri, çıkarım öncesinde modelin bağlam penceresine yüklenir.
Yüklenen içerik, bilginin modelin içsel temsilini yakalayacak şekilde anahtar-değer (KV) önbelleğine dönüştürülür. Örneğin:
def preprocess_knowledge(model, tokenizer, prompt):
input_ids = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
past_key_values = DynamicCache()
outputs = model(input_ids=input_ids, past_key_values=past_key_values, use_cache=True)
return outputs.past_key_values
Bu adım, modelin önceden işlenmiş bilgiye anında erişmesini sağlayarak gerçek zamanlı getirme ihtiyacını ortadan kaldırır.
Bir sorgu yapıldığında, önceden hesaplanmış KV önbelleği sorgu girdisiyle birleştirilir.
Model, yalnızca önbelleğe alınmış bilgi ve sorguya dayanarak yanıt üretir; bilgi getirme için ek hesaplama yapılmaz. Örneğin:
def generate_response(model, query, kv_cache):
input_ids = tokenizer.encode(query, return_tensors="pt").to(model.device)
output_ids = model(input_ids=input_ids, past_key_values=kv_cache, use_cache=True)
return tokenizer.decode(output_ids)
Yeni sorgular işlendiğinde, önbellek büyür. Bir sıfırlama mekanizması, performansı korumak ve sonraki sorguların tasarlanan bağlamda değerlendirilmesini sağlamak için önbelleği orijinal uzunluğuna geri keser. Önbellek sıfırlama örneği:
def clean_up(kv_cache, original_length):
for i in range(len(kv_cache.key_cache)):
kv_cache.key_cache[i] = kv_cache.key_cache[i][:, :, :original_length, :]
kv_cache.value_cache[i] = kv_cache.value_cache[i][:, :, :original_length, :]
Düşük Gecikme
Gerçek zamanlı bilgi getirmeye gerek olmadığından, CAG RAG’ye kıyasla daha hızlı yanıt süreleri sunar. Bu, zaman hassasiyeti olan uygulamalar için idealdir.
Artan Doğruluk
Tüm ilgili belgeleri önceden yükleyerek, CAG modelin kapsamlı bir veri kümesini işlemesini sağlar ve bağlam eksikliği veya getirme hatası riskini azaltır.
Basitleştirilmiş Mimari
Karmaşık bir getirme hattı gerektiren RAG’nin aksine, CAG’nin mimarisi sadeleştirilmiştir; bu da sistem karmaşıklığını ve bakım yükünü azaltır.
Ölçekte Verimlilik
Bilgi önceden yüklenip önbelleğe alındıktan sonra, sonraki sorgular minimum hesaplama yüküyle işlenir; bu da CAG’yi aynı bilgi alanında tekrarlanan sorgular için verimli kılar.
Bağlam Penceresi Boyutu
CAG, bilgiyi önceden yüklemek için modelin bağlam penceresine dayanır. Mevcut LLM’ler 128.000 tokene kadar bağlam pencerelerini destekler; bu da önceden yüklenebilecek bilgi miktarını sınırlar.
Bilgi Tabanı Boyutu
CAG, statik ve yönetilebilir bilgi tabanları için en uygunudur. Büyük veya dinamik veri kümeleri için, model tüm ilgili bilgiyi bağlam penceresine sığdırmakta zorlanabilir.
Statik Bilgi
CAG, çıkarım sırasında bilgi tabanının değişmeyeceğini varsayar. Gerçek zamanlı güncellemeler veya dinamik bilgi entegrasyonu gerektiren durumlar için daha az etkilidir.
Maliyet Etkileri
Geniş bağlam pencereleri, ön yükleme sırasında hesaplama maliyetlerini artırır; bu da sık güncelleme veya bilgi tabanında değişiklik gerektiren senaryolar için CAG’yi daha az ekonomik hale getirir.
CAG genellikle bilgi tabanının statik, boyutunun yönetilebilir ve düşük gecikmenin kritik olduğu senaryolarda uygulanır:
Müşteri Destek Sohbet Botları
Örnek: Yazılım ürünleri için yaygın sorun giderme adımlarının önceden yüklenerek kullanıcılara anında yanıt verilmesi.
Faydası: Getirme hatalarını ortadan kaldırır ve yanıt sürelerini hızlandırır.
Belge Analizi
Örnek: Finansal kurumların çeyrek raporlarını veya hukuk firmalarının mevzuat belgelerini analiz etmesi.
Faydası: Tüm ilgili belgelerin modele önceden yüklenmesiyle tutarlı ve doğru yanıtlar sağlar.
Sağlık Asistanları
Örnek: Hasta sorgularına yardımcı olmak için tıbbi rehberlerin önceden yüklenmesi.
Faydası: Çok turlu diyaloglarda sürekliliği korur ve doğru referans sağlar.
Eğitim ve Eğitim
Örnek: Kurumsal eğitim programlarında sıkça sorulan sorulara yanıt verilmesi.
Faydası: Dağıtımı basitleştirir ve tutarlı yanıtlar sağlar.
Özellik | CAG | RAG |
---|---|---|
Bilgi Yönetimi | Bilgiyi bağlam penceresine önceden yükler. | Bilgiyi çalışma anında dinamik olarak getirir. |
Sistem Karmaşıklığı | Basitleştirilmiş, getirme hattı gerekmez. | Getirme için ek bileşenler gerektirir. |
Gecikme | Düşük, çünkü getirme adımları yoktur. | Gerçek zamanlı getirme süreçleri nedeniyle yüksek. |
Ölçeklenebilirlik | Bağlam penceresi boyutuyla sınırlı. | Büyük, dinamik veri kümelerinde iyi ölçeklenir. |
Hata Riskleri | Getirme hatası yoktur. | Getirme ve sıralama hatalarına açıktır. |
En İyi Kullanım Alanları | Statik, düşük gecikmeli görevler. | Dinamik, büyük veya sık güncellenen görevler. |
İK Sistemleri
Bir şirket, çalışan politikalarını modele önceden yüklemek için CAG kullanır. Çalışanlar, sistemden belirli yönergeleri sorgulayabilir ve yanıtlar anında üretilir.
Hukuki Yardım
Bir hukuk asistanı, ilgili içtihatları modelin bağlamına önceden yükler ve bir getirme sistemi kullanmadan hukuki sorgulara hızlı yanıtlar sağlar.
Müşteri Hizmetleri
Bir SaaS ürününün sohbet botu, SSS ve sorun giderme rehberlerini önceden yüklemek için CAG’yi kullanır ve kesintisiz ve hızlı müşteri etkileşimi sağlar.
Haber Toplama
Bir haber uygulaması, kullanıcı sorguları için en alakalı bilgiyi dinamik olarak getirerek RAG ile en yeni makaleleri toplar ve özetler.
E-ticaret Arama
RAG, büyük ve sık güncellenen bir katalogdan ürün detaylarını ve stok durumunu getirmek için kullanılır.
Araştırma Platformları
Bir bilimsel araştırma platformu, büyük harici veri tabanlarından ilgili makale ve çalışmaları getirmek için RAG kullanır.
Aşağıdaki Python kodu, CAG için bir modele bilginin nasıl önceden yükleneceğini göstermektedir:
def preprocess_knowledge(model, tokenizer, prompt):
input_ids = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
past_key_values = DynamicCache()
outputs = model(input_ids=input_ids, past_key_values=past_key_values, use_cache=True)
return outputs.past_key_values
Bu ön yükleme mekanizması, modelin harici getirme gerektirmeden sorguları işlemesini sağlar ve verimli, düşük gecikmeli performans sunar.
Statik Bilgi Tabanları
Bilgi tabanının sık değişmeyeceği durumlar için idealdir.
Düşük Gecikmeli Uygulamalar
Müşteri desteği, eğitim veya sağlık sistemlerinde hızlı yanıtların gerekli olduğu durumlara uygundur.
Maliyet Etkin Senaryolar
Önceden yüklenen bilginin birden fazla sorguda tutarlı kaldığı durumlarda avantajlıdır ve hesaplama yükünü azaltır.
CAG, hız, sadelik ve tutarlılık gerektiren görevler için RAG’ye verimli bir alternatiftir. Ancak, bilgi tabanının boyutu ve statikliğiyle sınırlıdır.
Yazarlar: Guangyuan Liu, Yinqiu Liu, Jiacheng Wang, Hongyang Du, Dusit Niyato, Jiawen Kang, Zehui Xiong
Bu makale, mobil edge Büyük Dil Modeli (LLM) dağıtımlarında sınırlı hesaplama kaynakları ve yüksek getirme gecikmesi gibi zorlukları ele alıyor. Kullanıcı bağlamı, belge benzerliği ve önbellek kaçırma yükünü dikkate alarak önbellek değiştirme politikalarını optimize etmek için derin pekiştirmeli öğrenme (DRL) kullanan Uyarlanabilir Bağlamsal Önbellekleme (ACC) çerçevesi öneriliyor. Deneysel sonuçlar, ACC’nin 11 eğitim bölümünden sonra %80’in üzerinde önbellek erişim oranı elde ederek geleneksel yöntemlere kıyasla getirme gecikmesini %40’a kadar azalttığını gösteriyor. Ayrıca, yerel önbellekleme yükünü %55’e kadar en aza indirerek, kaynak kısıtlı ortamlarda ölçeklenebilir, düşük gecikmeli LLM servisleri için uygun hale getiriyor. Çalışma, ACC’nin edge LLM sistemlerinde verimliliği artırma potansiyelini vurguluyor.
Makalenin tamamını buradan okuyun
Yazarlar: Hanchen Li, Yuhan Liu, Yihua Cheng, Kuntai Du, Junchen Jiang
Bu çalışma, özellikle tekrarlanan giriş metinleri için, LLM uygulamalarında ön doldurma gecikmelerini azaltmak amacıyla Anahtar-Değer (KV) önbelleklerinin yeniden kullanımını araştırıyor. Bu tür önbellek yeniden kullanımının, depolama ve işlem için bulut servisleri kullanılırken ekonomik olarak da uygun olup olamayacağı inceleniyor. Yazarlar, çeşitli iş yükü parametreleri arasında KV önbelleklerinin depolanması ve yeniden kullanılmasının bulut maliyetlerini (hesaplama, depolama ve ağ) değerlendiren doğrulanmış bir analitik model öneriyor. Çalışma, uzun bağlamlara sahip iş yükleri için KV önbellek yeniden kullanımının hem gecikme hem de bulut maliyetlerinden tasarruf sağladığını gösteriyor ve daha ekonomik bağlam-artırılmış LLM sistemleri oluşturmak için daha fazla çaba teşvik ediyor.
Makalenin tamamını buradan okuyun
Yazarlar: Shiju Zhao, Junhao Hu, Rongxiao Huang, Jiaqi Zheng, Guihai Chen
Bu makale, çok modlu büyük dil modeli (MLLM) çıkarımındaki verimsizlikleri ele almak için MPIC adlı Konumdan Bağımsız Çok Modlu Bağlam Önbellekleme sistemini tanıtıyor. Geleneksel sistemler, bağlamda küçük farklılıklar olsa bile tüm KV önbelleğini yeniden hesaplayarak verimsizliğe yol açar. MPIC, KV önbelleklerini yerel veya uzaktan depolayan ve çıkarım sırasında önbellek hesaplama ve yüklemeyi paralel hale getiren konumdan bağımsız bir önbellekleme sistemi sunar. Entegre yeniden kullanım ve yeniden hesaplama mekanizmaları, doğruluk kaybını önlerken mevcut yöntemlere kıyasla yanıt süresinde %54’e varan azalma sağlar. Bu çalışma, çok modlu LLM hizmet sistemlerinde verimliliğin artırılması potansiyelini vurgular.
Makalenin tamamını buradan okuyun
Önbellek Destekli Üretim (CAG), büyük dil modeli (LLM) performansını statik bilgileri önceden hesaplanmış anahtar-değer (KV) önbelleğine yükleyerek iyileştiren bir yöntemdir. Retrieval Augmented Generation (RAG) yönteminden farklı olarak, gerekli bilgiyi çalışma anında dışarıdan getirmek yerine, CAG tüm ilgili bilgileri önceden yerleştirir, bu da gecikmeyi azaltır ve yapay zeka sistemi mimarisini basitleştirir.
CAG, tüm gerekli bilgiyi çıkarım öncesinde modelin bağlam penceresine önceden yükler ve gerçek zamanlı getirme ihtiyacını ortadan kaldırır, böylece düşük gecikme sağlar. RAG ise, ilgili bilgileri çalışma anında dinamik olarak getirir; bu, getirme hatalarına ve daha yüksek gecikmeye neden olabilir ancak dinamik veya sık güncellenen bilgi tabanları için daha uygundur.
CAG'nin temel avantajları düşük gecikme, kapsamlı ön yükleme sayesinde artan doğruluk, basitleştirilmiş sistem mimarisi ve statik bilgi alanları içinde tekrarlanan sorgular için verimliliktir.
CAG, modelin bağlam penceresinin maksimum boyutu ile sınırlıdır (şu anda 128.000 tokene kadar), statik ve yönetilebilir bilgi tabanları için en uygunudur ve dinamik veri kümeleri veya sık güncelleme gerektiren senaryolar için daha az etkilidir. Geniş bağlam pencereleri ayrıca ön yükleme sırasında hesaplama maliyetlerini artırabilir.
CAG, müşteri destek sohbet botları, belge analizi, sağlık asistanları, eğitim SSS'leri, İK politika sorguları ve hukuk asistanları gibi bilgi tabanının nadiren değiştiği ve anında yanıtların gerektiği statik, düşük gecikmeli uygulamalar için idealdir.
CAG ve diğer yapay zeka araçlarının gücünü FlowHunt ile deneyimleyin. Düşük gecikmeli, önbellek destekli çözümlerin işinizi nasıl dönüştürebileceğini görmek için bir demo planlayın.
Retrieval Augmented Generation (RAG), geleneksel bilgi alma sistemlerini üretken büyük dil modelleri (LLM'ler) ile birleştiren gelişmiş bir yapay zeka çerçevesi...
Yapay zekada Retrieval-Augmented Generation (RAG) ile Cache-Augmented Generation (CAG) arasındaki temel farkları keşfedin. RAG, uyarlanabilir ve doğru yanıtlar ...
Retrieval-Augmented Generation (RAG) ile Soru Yanıtlama, bilgi getirimi ve doğal dil üretimini birleştirerek büyük dil modellerinin (LLM) yanıtlarını, harici ka...