|
Download prereg.md from bunyamineymen/rag-gate-stats-code: direct link, hf CLI and curl.
- Browser
- Download file 6.37 kB
-
https://huggingface.co/bunyamineymen/rag-gate-stats-code/resolve/main/prereg.md
- Command line
-
hf download hf://bunyamineymen/rag-gate-stats-code/prereg.md
-
curl -L -o prereg.md https://huggingface.co/bunyamineymen/rag-gate-stats-code/resolve/main/prereg.md
6.37 kB
Ön-kayıt — Proje 01: Regression gate istatistiği
Bu dosya ilk tam koşudan önce yazıldı (2026-10-17). Her koşu, dosyanın SHA-256 özetini results/env.json içine yazar. Koşudan sonra bu dosyada yapılan her değişiklik makalede "ön-kayıttan sapma" olarak raporlanır.
1. Sabitler
| Parametre | Değer |
|---|---|
| Ana seed | 20261017 |
| Veri | BEIR NFCorpus, FiQA-2018, SCIDOCS; test qrels |
| Popülasyon | Test qrels'te score > 0 olan en az bir belgesi bulunan sorgular |
| Belge metni | title + " " + text |
| Dense modeller | BAAI/bge-small-en-v1.5 (sorgu öneki: model kartındaki retrieval talimatı), sentence-transformers/all-MiniLM-L6-v2, intfloat/e5-small-v2 (query: / passage: ); max_seq_length = 256; L2-normalize, iç çarpım |
| BM25 | bm25s, İngilizce stopword listesi, stemmer yok, varsayılan k1/b |
| Exact sistemler | bm25, bge, minilm, e5; FAISS IndexFlatIP; top-100 |
| HNSW sistemleri | hnsw_ef{16,32,64,128}_s{0..9}: bge-small vektörleri, FAISS IndexHNSWFlat, M=16, efConstruction=200, tek iş parçacığıyla inşa, ekleme sırası seed'e göre permütasyon; top-10 (FAISS ef = max(efSearch, k) kullandığı için k=10) |
| Türetilmiş sistemler | del05, del10: bge top-100'den korpusun seed'li %5 / %10'u çıkarılır, kalan ilk 10 kullanılır. ctl01, ctl02, ctl03, ctl05: bge'den seed'li sırayla seçilen ve Recall@5 > 0 olan sorgularda ilgili belgeler top-10 dışına itilir (o sorgunun metrikleri 0 olur); popülasyon ΔRecall@5 hedefe (−0.01 / −0.02 / −0.03 / −0.05) ulaşınca durulur |
| Metrikler | Recall@5 (birincil), nDCG@10 (ikincil), Recall@10 ve MRR@10 (rapor) |
| Golden set boyutu | n ∈ {25, 50, 100, 200, 300}, yalnız n ≤ N/2 |
| Alt örnek | R = 2000, iadesiz; aynı alt örnekler bütün senaryo ve gate'lerde kullanılır |
| Bootstrap | B = 2000, percentile yöntemi; tek yönlü α = 0.05 |
| Non-inferiority marjı | m ∈ {0.01, 0.02, 0.03} |
| Eşiğe uzaklık | d ∈ {−0.05, −0.04, …, +0.05}; τ = m_gerçek − d |
| Headroom (G1, senaryo çiftleri) | h ∈ {0.02, 0.05}; τ = m_gerçek(A) − h |
| Gerçek tanımları | (a) sonlu popülasyon: tüm N sorgu. (b) yarı bölme: seed'li permütasyonla iki yarı; alt örnek A yarısından, gerçek B yarısında ölçülür |
| Latency | Yalnız FiQA; 2 iş parçacığı (HF CPU Basic profili); sistemler bm25, bge, minilm, e5, hnsw_ef16_s0, hnsw_ef128_s0; her koşu öncesi 20 sorgu ısınma; 10 koşu; her koşuda sorgu sırası seed'li karıştırılır |
2. Gate tanımları
- G1 mutlak eşik: PASS ⇔ m̂_B ≥ τ.
- G2 naif delta: PASS ⇔ m̂_B − m̂_A ≥ −m.
- G3 paired non-inferiority: dᵢ = metrik_B,ᵢ − metrik_A,ᵢ; PASS ⇔ dᵢ ortalamasının tek yönlü %95 percentile bootstrap alt sınırı ≥ −m.
- G3u unpaired: A ve B bağımsız bootstrap ağırlıklarıyla yeniden örneklenir; ortalama farkının alt sınırı ≥ −m ise PASS.
- G3′ sign-flip: H0: ortalama(d) ≤ −m. d + m üzerinde 2000 işaret çevirmesi; p < 0.05 ise PASS.
- GL latency: PASS ⇔ P95'in tek yönlü %95 quantile bootstrap üst sınırı ≤ SLA.
Bir senaryo çifti için "kabul edilebilir" gerçeği: Δ_gerçek ≥ −m. Yanlış FAIL = kabul edilebilir iken FAIL; yanlış PASS (kaçırma) = kabul edilemez iken PASS.
3. Hipotezler ve karar kuralları
Birincil analiz: Recall@5, gerçek tanımı (a). Gerçek tanımı (b) ve nDCG@10 aynı kurallarla ikincil olarak raporlanır.
| # | Hipotez | Destek kuralı |
|---|---|---|
| H1 | Küçük golden sette, gerçek değer eşiğe yakınken G1 sık yanılır. | n = 100 ve |d| = 0.02 (iki işaret) için bm25, bge, minilm, e5 havuzlanmış G1 hata oranının Wilson %95 alt sınırı ≥ 0.15; en az 2/3 veri setinde. |
| H2 | Baseline eşiğin rahatça üstündeyken G1 gerçek regresyonu kaçırır (headroom maskeleme). | Senaryo bge → ctl03, h = 0.05, n = 100: G1 PASS oranı ≥ 0.50 ve alt örnek başına (G1 PASS − G3 PASS, m = 0.02) farkının ortalamasının %95 normal CI alt sınırı > 0; en az 2/3 veri setinde. |
| H3 | Aynı α'da eşleştirme, kabul edilebilir değişikliklerde yanlış FAIL'i azaltır. | No-op ailesi (hnsw_ef16_s0 → s1..s9 ve hnsw_ef128_s0 → s1..s9, havuzlanmış), m = 0.02, n ∈ {50, 100}: alt örnek başına (G3u FAIL − G3 FAIL) farkının ortalamasının %95 CI alt sınırı > 0; her iki n için, en az 2/3 veri setinde. |
| H4 | HNSW ekleme sırası exact aramada olmayan bir metrik oynaması yaratır ve bu oynama ef_search arttıkça azalır. | (i) ef = 16'da seed'ler arası ikili |ΔRecall@10| dağılımının 95. persentili > 0, bütün veri setlerinde; (ii) bu persentil ef ∈ {16, 32, 64, 128} boyunca artmaz (monoton azalan veya sabit), en az 2/3 veri setinde. |
| H5 | P95 tahmini P50'den belirgin şekilde daha belirsizdir. | 6 sistemin en az 4'ünde: (i) koşu içi göreli CI genişliği oranı (P95 / P50) medyanı ≥ 2; (ii) koşular arası CV(P95) > CV(P50). |
Raporlanan ama hipotez olmayan analizler: G2'nin yanlış PASS oranı; G3′ ile G3 uyumu; analitik MDE ile simülasyon gücü arasındaki sapma; GL ve nokta-tahminli latency gate'inin yanlış FAIL oranları; gerçek tanımı (b) sonuçları.
4. Spec v0.1'den sapmalar (koşudan önce)
- H3 yeniden tanımlandı. G2 hata oranını kontrol etmediği için "aynı α'da G3 vs G2" karşılaştırması tanımsız. H3 artık eşleştirmenin etkisini (G3 vs G3u) ölçüyor; G2 betimsel raporlanıyor.
- HNSW için hnswlib yerine FAISS
IndexHNSWFlat. hnswlib'in Windows için hazır wheel'i yok; FAISS zaten bağımlılık. "Seed" = ekleme sırası permütasyonu; inşa tek iş parçacığıyla yapılır. - Python 3.12 (uv ile kurulu; 3.11 yerine).
- Karar kayıtları özet olarak saklanır: (k PASS, R) ve seed. Alt örnek indeksleri seed'den yeniden üretilebilir; satır satır karar tablosu yayımlanmaz.
- Latency yalnız FiQA'da ölçülür (en büyük korpus; süre bütçesi).
max_seq_length = 256bütün dense modellerde (CPU süresi). Model kalitesi bu projenin iddiası değil.- HNSW top-10 (FAISS ef = max(efSearch, k); top-100 istenirse ef_search etkisiz kalır).