Erk-32B / betikler /bootstrap_sft2.py
aigencydev's picture
Erk-32B: model karti, olcum protokolu, betikler, sonuc vektorleri
9c90564 verified
Raw History Blame Contribute Delete
1.95 kB
"""Ek tur sonrasi olcek taramasi — esli bootstrap guven araliklari.
Soru-bazli vektorler ayni sorular uzerinde oldugu icin fark ESLI hesaplanir:
her yeniden orneklemede ayni soru indeksleri iki kosula da uygulanir. Bagimsiz
bootstrap'a gore araliklar daha dar ve dogru olur (soru zorlugu ortak varyans).
10.000 yeniden ornekleme, tohum 0 — OLCUM-PROTOKOLU ile ayni.
"""
import json, numpy as np
A = json.load(open("/ari/users/ytanis/olcek_ince_sft2.json")) # ek tur SONRASI
try:
B = json.load(open("/ari/users/ytanis/olcek_ince.json")) # ek tur ONCESI
except Exception:
B = {}
rng = np.random.default_rng(0)
N = 10000
def ci(x, y):
x = np.asarray(x, float); y = np.asarray(y, float); n = len(x)
assert n == len(y)
idx = rng.integers(0, n, size=(N, n))
d = (x[idx].mean(1) - y[idx].mean(1)) * 100
lo, hi = np.percentile(d, [2.5, 97.5])
return (x.mean() - y.mean()) * 100, lo, hi
def satir(ad, x, y):
f, lo, hi = ci(x, y)
anl = "ANLAMLI" if (lo > 0 or hi < 0) else " - "
print(" %-40s %+6.2f [%+6.2f, %+6.2f] %s" % (ad, f, lo, hi, anl))
print("EK TUR SONRASI — olcekler arasi (esli, n_sohbet=329, n_kiyas=652)")
print(" SOHBET")
for a, b in [("0.80", "0.00"), ("1.00", "0.00"), ("0.40", "0.00"), ("0.80", "0.40"), ("0.80", "1.00")]:
satir("sohbet %s vs %s" % (a, b), A[a]["sohbet_vec"], A[b]["sohbet_vec"])
print(" KIYAS")
for a, b in [("0.40", "0.00"), ("0.80", "0.00"), ("1.00", "0.00"), ("0.40", "0.80"), ("0.40", "1.00")]:
satir("kiyas %s vs %s" % (a, b), A[a]["mmlu_vec"], A[b]["mmlu_vec"])
if B:
print("\nEK TUR SONRASI vs ONCESI — ayni olcekte (esli)")
for o in ["0.40", "0.50", "1.00"]:
if o in B:
satir("sohbet %s: sonra vs once" % o, A[o]["sohbet_vec"], B[o]["sohbet_vec"])
satir("kiyas %s: sonra vs once" % o, A[o]["mmlu_vec"], B[o]["mmlu_vec"])
else:
print(" (%s once dosyasinda yok)" % o)