tag retrieval

Bi-Encoder (Çift Kodlayıcı)

Bu sayfada retrieval (Bi-Encoder (Çift Kodlayıcı)) etiketi ile işaretlenmiş 2 yapay zeka kavramını bulabilirsiniz.

Bi-encoder (çift kodlayıcı), iki ayrı metin parçasını birbirinden bağımsız olarak kodlayan ve her birini sabit boyutlu bir vektör temsiline dönüştüren çift kule (two-tower) sinir ağı mimarisidir. Semantik arama, soru-cevap ve RAG sistemlerinin retrieval aşamasında temel yapı taşı olarak kullanılır; sorgu ile belge aynı vektör uzayında temsil edilir ve alaka düzeyi bu iki vektör arasındaki geometrik yakınlıkla ölçülür. Mimari genellikle ağırlıkları paylaşan iki transformer kulesinden oluşur ve bu yönüyle Siyam ağı (siamese network) ailesine girer. Sorgu ve belge ayrı ayrı işlenir; token çıktıları ortalama havuzlama (mean pooling) ya da [CLS] token'ı ile tek bir vektöre indirgenir. Benzerlik kosinüs benzerliği veya iç çarpımla hesaplanır. Belgeler korpus hazırlanırken bir kez kodlanır ve FAISS, pgvector ya da Milvus gibi vektör veritabanlarına indekslenir. Yeni bir sorgu geldiğinde yalnızca sorgu vektörü anlık üretilir; yaklaşık en yakın komşu (ANN) araması milisaniyeler içinde en yakın belgeleri döndürür. Bi-encoder'ın en kritik avantajı bu asimetrik hesaplama modelidir: milyonlarca belge için vektörler tek seferde üretilip saklanır, çevrimiçi gecikme yalnızca sorgu kodlamasını kapsar. Bu özellik onu büyük ölçekli üretim sistemleri için vazgeçilmez kılar. Doğruluk tarafında ise cross-encoder'ın gerisinde kalır. Cross-encoder sorgu-belge çiftini tek bir ileri geçişte birlikte işleyip token düzeyinde çapraz dikkat uygular; bu nedenle nüanslı anlam ilişkilerini daha iyi yakalar, ancak her çift için yeniden hesaplama gerektirir. Retrieve-then-rerank boru hattında bi-encoder ilk aşamada geniş bir aday kümesi getirir, cross-encoder ikinci aşamada bu adayları hassas biçimde yeniden sıralar. Eğitimde kontrastif öğrenme teknikleri kullanılır: MultipleNegativesRankingLoss (MNRL), triplet loss, in-batch negatives ve zor negatif madenciliği (hard negative mining). Sentence-BERT (SBERT, 2019) bu alanın öncü çalışmasıdır; Dense Passage Retrieval (DPR) yaklaşımı ise sorgu ve belge için ayrı kuleler kullanarak açık alan soru-cevap sistemlerinde standart haline gelmiştir. Günümüzde E5, BGE, GTE ve Nomic Embed gibi modeller MTEB kıyaslamalarında öne çıkar; multilingual-e5 ve bge-m3 gibi çok dilli sürümler Türkçe dahil onlarca dili destekler.

code_blocks

Bi-Encoder (Çift Kodlayıcı)

Bi-encoder (çift kodlayıcı), iki ayrı metin parçasını birbirinden bağımsız olarak kodlayan ve her birini sabit boyutlu bir vektör temsiline dönüştüren çift kule (two-tower) sinir ağı mimarisidir. Semantik arama, soru-cevap ve RAG sistemlerinin retrieval aşamasında temel yapı taşı olarak kullanılır; sorgu ile belge aynı vektör uzayında temsil edilir ve alaka düzeyi bu iki vektör arasındaki geometrik yakınlıkla ölçülür. Mimari genellikle ağırlıkları paylaşan iki transformer kulesinden oluşur ve bu yönüyle Siyam ağı (siamese network) ailesine girer. Sorgu ve belge ayrı ayrı işlenir; token çıktıları ortalama havuzlama (mean pooling) ya da [CLS] token'ı ile tek bir vektöre indirgenir. Benzerlik kosinüs benzerliği veya iç çarpımla hesaplanır. Belgeler korpus hazırlanırken bir kez kodlanır ve FAISS, pgvector ya da Milvus gibi vektör veritabanlarına indekslenir. Yeni bir sorgu geldiğinde yalnızca sorgu vektörü anlık üretilir; yaklaşık en yakın komşu (ANN) araması milisaniyeler içinde en yakın belgeleri döndürür. Bi-encoder'ın en kritik avantajı bu asimetrik hesaplama modelidir: milyonlarca belge için vektörler tek seferde üretilip saklanır, çevrimiçi gecikme yalnızca sorgu kodlamasını kapsar. Bu özellik onu büyük ölçekli üretim sistemleri için vazgeçilmez kılar. Doğruluk tarafında ise cross-encoder'ın gerisinde kalır. Cross-encoder sorgu-belge çiftini tek bir ileri geçişte birlikte işleyip token düzeyinde çapraz dikkat uygular; bu nedenle nüanslı anlam ilişkilerini daha iyi yakalar, ancak her çift için yeniden hesaplama gerektirir. Retrieve-then-rerank boru hattında bi-encoder ilk aşamada geniş bir aday kümesi getirir, cross-encoder ikinci aşamada bu adayları hassas biçimde yeniden sıralar. Eğitimde kontrastif öğrenme teknikleri kullanılır: MultipleNegativesRankingLoss (MNRL), triplet loss, in-batch negatives ve zor negatif madenciliği (hard negative mining). Sentence-BERT (SBERT, 2019) bu alanın öncü çalışmasıdır; Dense Passage Retrieval (DPR) yaklaşımı ise sorgu ve belge için ayrı kuleler kullanarak açık alan soru-cevap sistemlerinde standart haline gelmiştir. Günümüzde E5, BGE, GTE ve Nomic Embed gibi modeller MTEB kıyaslamalarında öne çıkar; multilingual-e5 ve bge-m3 gibi çok dilli sürümler Türkçe dahil onlarca dili destekler.

arrow_forward
🦙

LlamaIndex (LlamaIndex)

LlamaIndex (eski adıyla GPT Index), büyük dil modellerini (LLM) özel veri kaynaklarıyla entegre etmek için tasarlanmış açık kaynaklı bir Python çerçevesidir. 2022 yılında Jerry Liu tarafından geliştirilen ve başlangıçta GPT Index adını taşıyan bu proje, LangChain ile birlikte LLM uygulama ekosisteminin iki temel taşından biri konumuna yükselmiştir. LlamaIndex üç temel katmandan oluşur. Veri konektörleri (data connectors), PDF ve Word belgelerinden SQL veritabanlarına, REST API'lerden Slack ve Notion gibi SaaS araçlarına kadar 160'tan fazla kaynaktan veri okur; bu katman LlamaHub platformu aracılığıyla sürekli genişleyen bir ekosisteme sahiptir. İndeksleme katmanı, ham veriyi Pinecone, Weaviate, Chroma ve pgvector gibi 20'den fazla vektör veritabanında saklanan vektör temsillerine dönüştürür ya da hiyerarşik ağaç indeksleri, anahtar kelime tabanlı indeksler ve bilgi grafikleri gibi alternatif yapıları kullanır. Sorgu motoru, kullanıcının doğal dil sorusunu gelen sorguya en uygun belgeleri getiren bir retrieval adımına, ardından LLM tabanlı bir yanıt sentez adımına dönüştürür. RAG (Retrieval-Augmented Generation) mimarisinin referans uygulaması olarak LlamaIndex, modelin bilgi kesim tarihini aşan veya kuruma özel gizli verileri kullanarak güvenilir yanıtlar üretmesini sağlar. Örneğin bir hukuk firması, binlerce sözleşme belgesini vektör indeksine ekleyerek çalışanların doğal dille sözleşme araması yapmasını mümkün kılabilir. Çok-ajan sistemleri için LlamaIndex, görev planlama ve araç seçimi yapan ajan mimarileri sunar. OpenAI Assistants API ile entegrasyon, ReAct ve function calling tabanlı ajan döngüleri ve ajan aktivite izleme (tracing) bu katmanın temel özelliklerindendir. LlamaIndex Workflows, etkinlik güdümlü (event-driven) asenkron iş akışlarını Python dekoratörleri aracılığıyla tanımlamaya olanak tanır. TypeScript/JavaScript geliştiricileri için LlamaIndex.TS paralel bir ekosistem oluşturur; böylece hem sunucu taraflı Node.js hem de tarayıcı ortamı desteklenmektedir. Üretim izleme ve değerlendirme için LlamaTrace ve LlamaCloud platformları, kurumsal müşterilere yönelik yönetilen altyapı çözümleri sunar.

arrow_forward