Önbellek Destekli Üretim (CAG)

Ö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) Nedir?

Ö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 Nasıl Çalışır?

CAG üç temel aşamada çalışır:

1. Harici Bilgilerin Önceden Yüklenmesi

  • 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.

2. Önceden Hesaplanmış Önbellekle Çıkarım

  • 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)
    

3. Önbellek Yönetimi

  • 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, :]
    

CAG’nin Temel Avantajları

  1. 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.

  2. 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.

  3. 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.

  4. Ö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.

CAG’nin Sınırlamaları

  1. 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.

  2. 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.

  3. 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.

  4. 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 Nasıl Kullanılır?

Pratik Uygulamalar

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.

Retrieval Augmented Generation (RAG) ile Karşılaştırmalar

ÖzellikCAGRAG
Bilgi YönetimiBilgiyi 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.
GecikmeDüşük, çünkü getirme adımları yoktur.Gerçek zamanlı getirme süreçleri nedeniyle yüksek.
ÖlçeklenebilirlikBağlam penceresi boyutuyla sınırlı.Büyük, dinamik veri kümelerinde iyi ölçeklenir.
Hata RiskleriGetirme 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.

Kullanım Alanı Örnekleri

CAG’nin Uygulamadaki Yeri

  1. İ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.

  2. 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.

  3. 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.

Dinamik Senaryolar İçin RAG

  1. Haber Toplama
    Bir haber uygulaması, kullanıcı sorguları için en alakalı bilgiyi dinamik olarak getirerek RAG ile en yeni makaleleri toplar ve özetler.

  2. 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.

  3. 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.

Uygulama Örneği: Python ile Bilgi Önceden Yükleme

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.

CAG Ne Zaman Kullanılır?

  1. Statik Bilgi Tabanları
    Bilgi tabanının sık değişmeyeceği durumlar için idealdir.

  2. 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.

  3. 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.

Önbellek Destekli Üretim (CAG) Üzerine Araştırmalar

1. Mobil Edge Büyük Dil Modeli Servisi İçin Uyarlanabilir Bağlamsal Önbellekleme

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

2. Saklanan KV Önbelleğini Yeniden Kullanarak Daha Ekonomik Bağlam-Artırılmış LLM Üretimine Doğru

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

3. MPIC: Verimli MLLM Hizmeti İçin Konumdan Bağımsız Çok Modlu Bağlam Önbellekleme Sistemi

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

Sıkça sorulan sorular

Önbellek Destekli Üretim (CAG) nedir?

Ö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 ile RAG arasındaki fark nedir?

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 kullanmanın avantajları nelerdir?

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'nin sınırlamaları nelerdir?

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 en çok nerede kullanışlıdır?

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.

Verimli Yapay Zeka İş Akışları Oluşturmaya Başlayın

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.

Daha fazla bilgi

Retrieval Augmented Generation (RAG)
Retrieval Augmented Generation (RAG)

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...

3 dakika okuma
RAG AI +4
Retrieval ile Cache Destekli Üretim (CAG vs. RAG)
Retrieval ile Cache Destekli Üretim (CAG vs. RAG)

Retrieval ile Cache Destekli Üretim (CAG vs. RAG)

Yapay zekada Retrieval-Augmented Generation (RAG) ile Cache-Augmented Generation (CAG) arasındaki temel farkları keşfedin. RAG, uyarlanabilir ve doğru yanıtlar ...

5 dakika okuma
RAG CAG +5
Soru Yanıtlama
Soru Yanıtlama

Soru Yanıtlama

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...

5 dakika okuma
AI Question Answering +4