AI Serisi Mülakat Soruları 11: RAG Nasıl Optimize Edilir?
RAG optimizasyonu tek bir aşamanın ayarlanması değil, tüm zincir optimizasyonu sürecidir. Aşağıda veri indeksleme tarafı, arama tarafı, üretim tarafı ve değerlendirme tarafı olmak üzere dört boyuttan sistematik optimizasyon stratejileri ve mülakatlarda bahsedilebilecek pratik deneyimler sunuyorum.
1. Veri İndeksleme Tarafı Optimizasyonu (Bilgi Tabanı Kalitesini Artırma)
Bu, en sık göz ardı edilen ancak en hızlı sonuç veren yerdir.
| Optimizasyon Noktası | Sorun Belirtisi | Spesifik Yöntem | Etki Metriği |
|---|---|---|---|
| Belge Ayrıştırma | PDF'deki tablolar, akış şemaları göz ardı edilir veya metin bozuk, sıra karışık. | Daha iyi ayrıştırma kütüphaneleri kullanın (ör. unstructured, pypdf düzen koruma modu); tablolar için pandas ile çıkarıp Markdown'a dönüştürün. |
Geri çağırma +%5-15 |
| Metin Parça Boyutu | Chunk çok küçükse bağlam kaybolur (ör. 'Bu yıl gelir artışı'ndaki 'bu' referansı kaybolur); chunk çok büyükse arama gürültüsü artar. | Farklı chunk boyutlarını deneyin (256/512/768 token), örtüşme oranını %10-20 yapın; uzun belgeler için semantik sınırlara (paragraf/başlık) göre bölün, sabit uzunlukta değil. | İsabet oranı / Sadakat |
| Metaveri Ekleme | İlgili paragraflar bulundu ancak kaynak veya zaman izlenemiyor veya alana göre filtreleme gerekiyor. | Her chunka metaveri ekleyin: source (dosya adı/URL), timestamp, page_num, doc_type. Aramada filtre kullanın (ör. doc_type == 'legal'). |
Filtreleme doğruluğu |
| Gömme Modeli Seçimi | Genel embedding dikey alanlarda (tıp, kod, hukuk) zayıf performans gösterir. | Alan ince ayarlı modeller kullanın (BGE‑large‑zh, GTE‑Qwen2‑7B‑instruct); veya kendi embedding modelinizi ince ayarlayın (triplet loss ile). | Arama MRR@10 +%10-20 |
2. Arama Tarafı Optimizasyonu ('Kitap Karıştırmayı' Daha Doğru Yapma)
Arama, LLM'ye beslenen 'referans materyallerin' kalitesini belirler.
| Optimizasyon Noktası | Sorun Belirtisi | Spesifik Yöntem | Etki |
|---|---|---|---|
| Hibrit Arama | Vektör arama kesin terimlerle eşleşemez (ör. ürün modeli ABC-123), anahtar kelime arama eş anlamlıları anlayamaz. |
Hem vektör arama (semantik) hem de BM25 (anahtar kelime) kullanın, ağırlıklandırma (ör. 0.7vektör + 0.3BM25) veya rerank ile birleştirin. | Geri çağırma +%10-25 |
| Yeniden Sıralama (Rerank) | Vektör arama tarafından döndürülen ilk birkaç sonuç en alakalı olmayabilir, 10. sonuç en iyisi olabilir. | Cross‑encoder modeli (ör. BGE‑reranker-v2, Cohere Rerank) kullanarak aday kümesini (ör. ilk 20) yeniden puanlayın ve top‑K alın. |
İsabet oranı önemli ölçüde artar (özellikle top‑1) |
| Sorgu Yeniden Yazma | Kullanıcı sorusu belirsiz veya çok turlu diyalogda referans net değil ('Fiyatı nedir?'). | LLM kullanarak orijinal soruyu aramaya daha uygun bir forma dönüştürün (ör. 'iPhone 15'in fiyatı nedir?'); veya diyalog geçmişini kullanarak tamamlayın. | Geri çağırma +%5-15 |
| HyDE | Kullanıcı sorusu çok kısa veya soyut (ör. 'Fotosentezden bahset'), doğrudan arama zayıf. | Önce LLM'nin varsayımsal bir cevap üretmesini sağlayın, ardından bu cevabı belgelerde aramak için kullanın. | Açık uçlu alanlar için uygundur, ancak olgusal kesin soru-cevap için uygun değildir |
| Arama Sayısı Top‑K Ayarı | K çok küçükse kritik bilgi kaçabilir; K çok büyükse token tüketimi ve gürültü artar. | K=3/5/10 deneyin, geri çağırma ve cevap sadakati dengesini gözlemleyin. | Verimlilik ve etki arasında denge |
3. Üretim Tarafı Optimizasyonu (LLM'nin Referans Materyalleri İyi Kullanmasını Sağlama)
Arama ne kadar doğru olursa olsun, istem iyi değilse veya model yetersizse işe yaramaz.
| Optimizasyon Noktası | Sorun Belirtisi | Spesifik Yöntem | Etki |
|---|---|---|---|
| İstem Mühendisliği | LLM, alınan içeriği görmezden gelir veya uydurma yapar. | Net talimat: "Yalnızca aşağıda verilen referans materyallere dayanarak soruyu cevaplayın. Materyal yetersiz veya alakasızsa 'Yeterli bilgi yok' yanıtını verin." Kaynak gösterme için few‑shot örnekleri ekleyin. | Sadakat +%20-40 |
| Bağlam Sıkıştırma | Alınan içerik çok uzun (model bağlam penceresini aşar) veya çoğu gürültü. | LLMLingua veya Seçici Bağlam sıkıştırma kullanarak en alakalı cümleleri koruyun ve ardından LLM'ye gönderin. |
Bilgi kaybı riskini azaltır |
| LLM Model Yükseltmesi | Küçük model (7B) karmaşık akıl yürütme yapamaz veya uzun bağlamı hatırlayamaz. | Daha güçlü bir model kullanın (GPT‑4o, Claude 3.5 Sonnet, Qwen2.5‑72B). | Akıl yürütme doğruluğu büyük ölçüde artar |
| Akış ve Alıntı | Kullanıcı cevabın güvenilirliğini doğrulayamaz. | Üretim sırasında LLM'den [alıntı:1] çıkarmasını isteyin, bu da alınan belgelerin numarasına karşılık gelir. Arka uçta orijinal bağlantıyı ekleyin. |
Kullanıcı güveni + hata ayıklama imkanı |
| Reddetme Cevabı Kalibrasyonu | Model cevap vermemesi gerektiğinde uydurma yapar veya cevap vermesi gerekirken bilmediğini söyler. | Bir benzerlik eşiği belirleyin: Alınan top‑1 chunk ile soru arasındaki kosinüs benzerliği 0.7'nin altındaysa, LLM'ye 'Materyal alakasız' talimatı verin. | Halüsinasyon oranını azaltır |
4. Değerlendirme ve İterasyon Tarafı (Nereye Ayarlanacağını Bilmek)
Ölçüm olmadan optimizasyon olmaz.
| Optimizasyon Noktası | Yöntem | Metrik |
|---|---|---|
| Değerlendirme Seti Oluşturma | 100-300 gerçek kullanıcı sorusu + standart cevap + doğru alınan belge ID'si hazırlayın. | Farklı zorluk ve farklı niyetleri kapsar. |
| Otomatik Değerlendirme | RAGAS (Faithfulness, Answer Relevance, Context Recall) veya TruLens kullanın. | Üç temel metrik: Sadakat, cevap alaka düzeyi, bağlam geri çağırma. |
| İnsan Değerlendirmesi | Haftada 20 kötü vaka test edin, hata türlerini analiz edin (arama başarısızlığı / üretim hatası / bilgi tabanı eksikliği). | İyileştirme öncelik sıralaması. |
| A/B Testi | Üretim ortamında farklı arama stratejilerini (ör. BM25 vs hibrit arama) kovalarla test edin. | Çevrimiçi metrikler: Kullanıcı memnuniyeti, cevapsız oranı. |
5. Mülakatta Söylenebilecek 'Pratik Deneyimler' (Artı Puan)
'Sorumlu olduğum RAG projesinde başlangıçta taban isabet oranı sadece %67 idi. Üç şey yaptım:
1. Parçalamayı sabit 1024'ten dinamik semantik bölmeye değiştirdim (başlık+paragrafa göre), isabet oranı %74'e çıktı;
2. Hibrit arama (vektör + BM25) ve küçük bir rerank modeli ekledim, isabet oranı %83'e yükseldi;
3. İstemleri optimize ettim ve 'İlgili bilgi bulunamadı' çıktısını zorunlu kıldım, halüsinasyon oranı %22'den %5'in altına düştü.Ayrıca, her değişiklikten önce 200 soruluk RAGAS puanı çalıştırarak bozulma olmadığından emin olduğumuz sürekli bir değerlendirme hattı kurduk.'
Son Özet: Eksiksiz Bir RAG Optimizasyon Yol Haritası
Veri katmanı ─→ Belge temizleme, parça optimizasyonu, metaveri geliştirme, alan embedding
Arama katmanı ─→ Hibrit arama, rerank, sorgu yeniden yazma, HyDE, Top-K optimizasyonu
Üretim katmanı ─→ İstem güçlendirme, talimat zorunluluğu, sıkıştırma, alıntı, reddetme eşiği
Değerlendirme katmanı ─→ Değerlendirme seti, RAGAS, insan analizi, A/B deneyleri
评论
暂无已展示的评论。
发表评论(匿名)