Gelişmiş RAG Teknikleri Daha İyi Değil. Sadece Bazen Daha İyiler.
Gelişmiş RAG teknikleri bedava yükseltmeler değildir. Bunlar ödünleşimleri (tradeoffs) olan araçlardır.
Anthropic dokümantasyonunu kullanarak bir RAG hattı (pipeline) üzerinde beş farklı geri çağırma (retrieval) yöntemini test ettim. Hangilerinin karmaşıklıklarını gerçekten hak ettiğini görmek istedim.
İşte bulduklarım:
• Dense Retrieval: Temel yöntem. İyi çalışır ancak tam terimleri kaçırır. • Hybrid Search: Dense artı anahtar kelime aramasını kullanır. Dense aramanın kaçırdığı tam terimleri bulur. Ancak sonuçları doğru şekilde ağırlıklandırmalısınız, aksi takdirde sinyal kaybolur. • Reranking: Adayları puanlamak için bir cross-encoder kullanır. Doğru veri parçasının (chunk) sonuçlarda çok aşağıda kaldığı durumlarda yardımcı olur. • HyDE: Veri bulmak için varsayımsal bir yanıt kullanır. Bu tehlikelidir. Basit sorgularda yardımcı olur ancak doğrudan sorgularda her şeyi mahveder. Bir testte recall oranı 0.80'den 0.17'ye düştü. • Contextual Retrieval: Veri parçalarına (chunks) özetler ekler. Bu, kısa parçalar için yardımcı olur ancak LLM maliyetlerini artırır.
En büyük ders HyDE ile ilgili. Bu, "kur ve unut" tarzı bir araç değildir. Onu yalnızca kullanıcı sorgusu ile dokümanlarınız farklı dilleri konuştuğunda kullanmalısınız. Ne zaman kullanılacağına karar vermek için bir yönlendiriciye (router) ihtiyacınız var.
Ölçüm konusunda da bir ders çıkardım.
Değerlendirme için Ragas kullanmayı denedim. Çok yavaştı. Başarısız çağrıları tekrar denemekle saatler harcıyordu. Kendi asenkron düzenekmi (async harness) kurmaya karar verdim. 11 saat yerine, değerlendirmem 221 saniye sürdü.
Yapay zeka araçlarını kara kutu olarak görmeyin. Eğer bir araç yavaşsa veya hata veriyorsa, arkasındaki matematiğe bakın. Gerekiyorsa kendi çözümünüzü üretin.
İş sadece yeni özellikler eklemek değildir. İş, hangi özelliğin sisteminizde yer almayı hak ettiğini ölçmektir.
Hangisinin ne zaman kullanılacağına dair özet:
- Hybrid: Sorgular tam parametrelere dayandığında kullanın.
- HyDE: Sorgular kötü ifade edildiğinde kullanın.
- Reranking: Geri çağırma geniş kapsamlı ancak hatalı olduğunda kullanın.
- Contextual: Veri parçalarınız bağlamdan yoksun olduğunda kullanın.
"State of the art" peşinde koşmayı bırakın. Sonuçlarınızı ölçmeye başlayın.
Kaynak: https://dev.to/yogesh23012001/advanced-rag-techniques-arent-better-theyre-better-sometimes-4m2o
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
