Yapay zeka modelleri ve platformları
Derin bir Retrieval-Augmented Generation İncelemesi
Imagine you’re an Analyst, and you’ve got access to a Large Language Model. You’re excited about the prospects it brings to your workflow. But then, you ask it about the latest stock prices or the current inflation rate, and it hits you with:
“I’m sorry, but I cannot provide real-time or post-cutoff data. My last training data only goes up to Ocak 2022.”
Large Language Model, for all their linguistic power, lack the ability to grasp the ‘now‘. And in the fast-paced world, ‘now‘ is everything.
Araştırmalar, büyük önceden eğitilmiş dil modellerinin (LLM) aynı zamanda gerçek bilgi depoları olduğunu göstermiştir.
Çok fazla veri üzerinde eğitildikleri için birçok gerçeği ve rakamı emmişlerdir. İnce ayar yapıldığında, çeşitli NLP görevlerinde dikkat çekici sonuçlar elde edebilirler.
Ama burada bir sorun var: Bu stored bilgilere erişme ve manipüle etme yetenekleri her zaman mükemmel değildir. Özellikle görev bilgi yoğunsa, bu modeller daha uzmanlaşmış mimarilerden geri kalabilir. Bu, dünyanın tüm kitaplarına sahip bir kütüphaneye benzemektedir, ancak needed kitapları bulmak için bir katalog bulunmamaktadır.
OpenAI’nin ChatGPT’si Tarayıcı Güncellemesi Aldı
OpenAI’nin ChatGPT’nin tarayıcı yeteneği hakkında yaptığı açıklama, Retrieval-Augmented Generation (RAG) yönünde önemli bir adımdır. ChatGPT artık interneti güncel ve yetkili bilgiler için tarayabiliyor, böylece RAG yaklaşımını yansıtıyor ve dış kaynaklardan verileri dinamik olarak çekerek zenginleştirilmiş yanıtlar sağlıyor.
https://twitter.com/OpenAI/status/1707077710047216095
Şu anda Plus ve Enterprise kullanıcıları için mevcut olan bu özellik, OpenAI tarafından kısa süre içinde tüm kullanıcılar için sunulacak. Kullanıcılar, GPT-4 seçeneği altında ‘Browse with Bing’i seçerek bu özelliği etkinleştirebilir.
Prompt Mühendisliği Etkili Ancak Yetersiz
Prompt’lar, LLM’nin bilgisine giriş kapısı olarak hizmet eder. Modeli yönlendirir ve yanıta yön verir. Ancak, etkili bir prompt oluşturmak, LLM’den istediğiniz şeyi elde etmenin tam çözümü değildir. Yine de, bir prompt yazarken dikkate alınacak iyi uygulamalara göz atalım:
- Açıklık: İyi tanımlanmış bir prompt belirsizliği ortadan kaldırır. Doğrudur ve modelin kullanıcı amacını anlamasını sağlar. Bu açıklık genellikle daha tutarlı ve ilgili yanıtlara dönüşür.
- Bağlam: Özellikle geniş girdiler için, talimatın yerleştirilmesi çıktıyı etkileyebilir. Örneğin, talimatı uzun bir promptın sonuna taşımak genellikle daha iyi sonuçlar verebilir.
- Talimatın Hassasiyeti: Sorunun gücü, souvent “kim, ne, nerede, ne zaman, neden, nasıl” çerçevesi aracılığıyla iletilir. Ayrıca, istenilen çıktı formatını veya boyutunu belirtmek, modelin çıktısını daha da rafine edebilir.
- Belirsizliği İşleme: Modelin belirsiz olduğunda nasıl yanıt vermesi gerektiği konusunda rehberlik etmesi önemlidir. Örneğin, modelin “Bilmiyorum” diye yanıt vermesini sağlamak, yanlış veya “hayal edilmiş” yanıtların önüne geçebilir.
- Adım Adım Düşünme: Karmaşık talimatlar için, modeli sistematik olarak düşünmeye veya görevi alt görevlere bölmeye yönlendirmek, daha kapsamlı ve doğru çıktılara yol açabilir.
ChatGPT’de prompt mühendisliği konusundaki kapsamlı bir makale, Unite.ai adresinde bulunabilir.
Yaratıcı AI Modellerindeki Zorluklar
Prompt mühendisliği, modelin performansını artırmak için verilen direktifleri ince ayarlamayı içerir. Bu, Generatif AI uygulamalarının doğruluğunu artırmak için maliyet etkin bir yöntemdir ve yalnızca küçük kod değişiklikleri gerektirir. Prompt mühendisliği, çıktıları önemli ölçüde geliştirebilse de, büyük dil modellerinin (LLM) içkin sınırlılıklarını anlamak önemlidir. İki temel zorluk “hayal gücü” ve “bilgi kesintileri“dir.
- Hayal Gücü: Modelin yanlış veya uydurma bir yanıt vermesi ve buna güvenmesidir. Gelişmiş LLM’ler, böyle çıktıları tanımak ve önlemek için yerleşik mekanizmalara sahiptir.
- bilgi Kesintileri: Her LLM modelinin bir eğitim bitiş tarihi vardır ve bu tarihten sonra meydana gelen olaylardan habersizdir. Bu sınırlama, modelin bilgisinin son eğitim tarihine kadar dondurulduğu anlamına gelir. Örneğin, 2022’ye kadar eğitilen bir model, 2023 olaylarından haberdar olmayacaktır.
Çekilen Nesil (RAG), bu zorluklara bir çözüm sunar. Modelin dış bilgilerine erişmesini sağlar, böylece “hayal gücü“nü dış veya alan spesifik verilere erişimle azaltır. Bilgi kesintileri için, RAG modelin eğitim tarihinden sonra gelen güncel bilgileri erişmesine olanak tanır, böylece çıktı güncel olur.
Ayrıca, LLM’nin çeşitli dış kaynaklardan veri çekmesini sağlar. Bu, bilgi tabanları, veritabanları veya internet olabilir.
Çekilen Nesil Giriş
Çekilen Nesil (RAG), büyük dil modellerinin (LLM) eğitilmemiş verilerle etkileşime girmesini sağlayan bir çerçevedir. RAG’nin uygulanması, görev ve verilerin doğasına bağlı olarak değişebilir.
Prompt Giriş
Süreç, kullanıcı girişi veya prompt ile başlar. Bu, bir soru veya belirli bilgi isteyen bir ifadedir.
Dış Kaynaklardan Çekilme
Model, eğitimi temelinde doğrudan yanıt üretmek yerine, bir çekme bileşeni yardımıyla dış veri kaynaklarında arama yapar. Bu kaynaklar, bilgi tabanları, veritabanları, belge depoları ve internet erişimi olan veriler olabilir.
Çekilmenin Anlaşılması
Temelinde, çekilme bir arama işlemidir. Kullanıcı girişine yanıt olarak en alakalı bilginin çıkarılmasıdır. Bu süreç iki aşama olarak bölünebilir:
- Endeksleme: Çekilme yolculuğunun en zor kısmı, bilgi tabanınızı endekslemektir. Endeksleme süreci, yüklenme ve bölme olarak iki aşamaya ayrılmıştır. Araçlar gibi LangChain’de, bu süreçler “yükleyiciler” ve “bölücüler” olarak adlandırılır. Yükleyiciler, web sayfaları veya PDF’ler gibi çeşitli kaynaklardan içerik çeker. Çekildikten sonra, bölücüler bu içeriği arama ve gömme için optimize edilmiş küçük parçalara ayırır.
- Sorgulama: Bu, bir arama terimi temelinde en ilgili bilgi parçalarını çıkarmaktır.
Çekilmenin birçok yolu olsa da, modern Çekilen Nesil (RAG) sistemleri, anlamsal aramaya dayanır. Anlamsal aramanın kalbinde, gömme kavramı yatmaktadır.
Gömme, büyük dil modellerinin (LLM) dil anlama şeklinin merkezinde yer alır. İnsanların kelimelerden anlam çıkarma şeklini açıklamaya çalıştıklarında, açıklama genellikle içkin anlama döner. Bilişsel yapılarımızın derinlerinde, “çocuk” ve “çocuk”ün eşanlamlı olduğunu veya “kırmızı” ve “yeşil”in renkleri ifade ettiğini tanırız.
Promptı Genişletme
Çekilen bilgiler, orijinal prompt ile birleştirilir ve genişletilmiş bir prompt oluşturur. Bu genişletilmiş prompt, modelin özellikle alan spesifik veya orijinal eğitim kümesinde olmayan veriler için ek bağlam sağlar.
Çıktı Üretimi
Genişletilmiş prompt ile, model daha sonra bir çıktı veya yanıt üretir. Bu yanıt, yalnızca modelin eğitimi temelinde değil, aynı zamanda gerçek zamanlı olarak çekilen verilerle de bilgilendirilir.
İlk RAG LLM Mimarisinin Yapı
2020’de Meta tarafından yayınlanan araştırma makalesi “Bilgi Yoğun NLP Görevleri için Çekilen Nesil” bu tekniğe dair derin bir bakış sunar. Çekilen Nesil modeli, geleneksel üretimi, dış bir arama veya çekme mekanizması ile genişletir. Bu, modelin büyük veri koleksiyonlarından ilgili bilgileri çekerek bağlamsal olarak doğru yanıtlar üretmesine olanak tanır.
İşte nasıl çalıştığı:
- Parametrik Bellek: Bu, geleneksel dil modelinizdir, örneğin bir seq2seq modeli. Büyük miktarda veri üzerinde eğitilmiştir ve çok şey bilir.
- Parametrik Olmayan Bellek: Bunu bir arama motoru olarak düşünün. Bu, örneğin Wikipedia’nın bir yoğun vektör endeksidir ve nöral bir alıcı kullanılarak erişilebilir.
Birleştirildiğinde, bu ikisi birlikte doğru bir model oluşturur. RAG modeli önce parametrik olmayan belleğinden ilgili bilgileri çeker ve ardından parametrik bilgisini kullanarak tutarlı bir yanıt üretir.
1. İki Adımlı Süreç:
RAG LLM, iki adımlı bir süreçte çalışır:
- Çekilme: Model önce büyük bir veri kümesinden ilgili belgeler veya pasajlar için arar. Bu, yoğun bir çekme mekanizması kullanır, hem sorguyu hem de belgeleri temsil etmek için gömme kullanır. Gömmeler daha sonra benzerlik puanlarını hesaplamak için kullanılır ve en üst sıradaki belgeler çekilir.
- Üretim: En üst sıradaki ilgili belgelerle birlikte, bunlar orijinal sorgu ile birlikte bir dizi-dizi üreticisine yönlendirilir. Bu üretici, hem sorgudan hem de alınan belgelerden bağlam alarak nihai çıktıyı oluşturur.
2. Yoğun Çekilme:
Geleneksel arama sistemleri genellikle seyrek temsil gibi TF-IDF kullanır. Ancak RAG LLM, yoğun temsil kullanır, hem sorgu hem de belgeler sürekli vektör uzaylarına gömülür. Bu, anlamsal ilişkileri daha iyi yakalayarak sadece anahtar kelime eşleştirmesinin ötesine geçer.
3. Dizi-Dizi Üretimi:
Çekilen belgeler, üretim modeli için genişletilmiş bir bağlam olarak işlev görür. Bu model, genellikle Transformer gibi mimarilere dayanan, nihai çıktıyı üretir ve bu, hem sorgudan hem de alınan belgelerden bağlam alarak tutarlı ve bağlamsal olarak ilgili olur.
Belge Arama
Belge Endeksleme ve Çekilme
Verilerden etkili bir şekilde bilgi çekmek için, özellikle büyük belgeler için, veriler genellikle bir vektör veritabanında depolanır. Her veri parçası veya belge, içeriğin anlamsal özünü yakalayan bir gömme vektörüne göre endekslenir. Etkili endeksleme, girdi promptına göre ilgili bilgilerin hızlı bir şekilde çekilmesini sağlar.
Vektör Veritabanları

Kaynak: Redis
Vektör veritabanları, bazen vektör depolama olarak adlandırılır, vektör biçimindeki verilerin depolanması ve çekilmesi için özel olarak tasarlanmış veritabanlarıdır. AI ve bilgisayar biliminde, vektörler esasen çok boyutlu uzaydaki noktaları temsil eden sayılar listesidir. Traditional veritabanlarından farklı olarak, vektör veritabanları, doğal olarak vektör formatına uyan verilerin yönetiminde uzmanlaşmıştır, örneğin AI modellerinden gömmeler.
Önde gelen vektör veritabanları arasında Annoy, Meta tarafından Faiss, Milvus ve Pinecone bulunur. Bu veritabanları, öneri sistemlerinden görüntü aramalarına kadar çeşitli AI uygulamalarında görev yapar. AWS gibi platformlar da, Amazon (AMZN ) OpenSearch Service ve Amazon RDS for PostgreSQL gibi vektör veritabanı ihtiyaçlarına yönelik hizmetler sunar. Bu hizmetler, belirli kullanım durumları için optimize edilmiştir ve etkili endeksleme ve sorgulamayı sağlar.
Parçalama için Alaka
Çok sayıda belge geniş olabileceğinden, “parçalama” olarak bilinen bir teknik sıklıkla kullanılır. Bu, büyük belgeleri daha küçük, anlamsal olarak tutarlı parçalara bölmeyi içerir. Bu parçalar daha sonra gerektiğinde endekslenir ve çekilir, böylece bir belgenin en ilgili kısımları prompt genişletmesi için kullanılır.
Baglam Penceresi Düşünceleri
Her LLM, bir bağlam penceresi içinde çalışır, bu da modelin bir defada dikkate alabileceği maksimum bilgi miktarıdır. Dış veri kaynakları, bu pencere içinde kalan bilgiler sağlar, böylece modelin bağlamı, orijinal sorgu ve çekilen belgelerden oluşur.
Çekilen Nesil Kullanımının Yararları
- Geliştirilmiş Doğruluk: Dış veri kaynaklarını kullanarak, RAG LLM, yalnızca eğitim verilerine dayalı değil, aynı zamanda en ilgili ve güncel bilgilerin sağlandığı çekme kümesinden de haberdar olan yanıtlar üretebilir.
- Bilgi Boşluklarının Aşılması: RAG, LLM’nin içkin bilgi sınırlılıklarını, modelin eğitim kesintisi veya eğitim kümesindeki alan spesifik verilerin yokluğundan kaynaklanıyor olsun, etkili bir şekilde ele alır.
- Esneklik: RAG, çeşitli dış veri kaynaklarıyla entegre edilebilir, bu da geniş bir uygulama ve endüstri yelpazesine uyarlanabilirliğini sağlar.
- Hayal Gücü Azaltma: LLM’lerin bir zorluğu, yanlış veya uydurma bilgiler üreterek “hayal gücü“dür. RAG, gerçek zamanlı veri bağlamı sağlayarak böyle çıktıların olasılığını önemli ölçüde azaltabilir.
- Ölçeklenebilirlik: RAG LLM’nin birincil avantajlarından biri, onun ölçeklenebilirliğidir. Çekilme ve üretim süreçlerini ayırarak, model büyük veri kümelerini verimli bir şekilde işleyebilir, bu da onu gerçek dünya uygulamaları için uygun hale getirir.
Zorluklar ve Düşünceler
- Hesaplamalı Yük: İki adımlı süreç, özellikle büyük veri kümeleri ile çalışırken hesaplama açısından yoğundur.
- Veri Bağımlılığı: Çekilen belgelerin kalitesi, üretim kalitesini doğrudan etkiler. Bu nedenle, kapsamlı ve iyi düzenlenmiş bir çekme kümesinin olması çok önemlidir.
SONUÇ
Çekilme ve üretim süreçlerini birleştirerek, Çekilen Nesil, bilgi yoğun görevlere güçlü bir çözüm sunar, böylece hem bilgilendirilmiş hem de bağlamsal olarak ilgili çıktılar sağlar.
Çekilen Nesil’in gerçek vaadi, gerçek dünya uygulamalarında yatmaktadır. Sağlık sektöründe, zamanında ve doğru bilginin hayati önem taşıdığı durumlarda, Çekilen Nesil, tıp literatüründen sorunsuz bir şekilde bilgi ve içgörüler çıkarmayı sağlar. Finans alanında, piyasalar dakikalar içinde değiştiğinde, Çekilen Nesil, veri temelli içgörüler sağlayabilir ve bilinçli karar vermeyi destekler. Ayrıca, akademik ve araştırma alanlarında, araştırmacılar Çekilen Nesil’i kullanarak büyük bilgi depolarını taramak ve literatür incelemeleri ile veri analizini daha verimli hale getirebilir.

















