File size: 1,981 Bytes
ec24fb0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""Recreate the fixed evaluation subsets used by the reasoning-trace experiments (deterministic, seed 1234):
  smmlu_dev_sample400            400 random SinhalaMMLU dev questions (HELD OUT from trace training)
  smmlu_dev_rest1450             the other 1,450 dev questions (trace source)
  gmmlu_si_val_nonacademic300    300 random non-academic (Humanities / Social Sciences) Global-MMLU val questions
  gmmlu_si_val_nonacademic_fresh300  300 other random non-academic val questions (cross-model pooling decision only)
  gmmlu_si_val_academic          Global-MMLU val STEM + Business questions
Run after scripts/fetch_data.py and scripts/prepare_data.py.
"""
from __future__ import annotations

import random
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from eval.common import ROOT, read_jsonl, write_jsonl  # noqa: E402

P = ROOT / "data" / "processed"
dev = read_jsonl(P / "sinhalammlu_dev.jsonl")
sample = random.Random(1234).sample(dev, 400)
keep = {r["uid"] for r in sample}
write_jsonl(P / "smmlu_dev_sample400.jsonl", sample)
write_jsonl(P / "smmlu_dev_rest1450.jsonl", [r for r in dev if r["uid"] not in keep])
val = read_jsonl(P / "gmmlu_si_val.jsonl")
non = [r for r in val if r["category"] in ("Humanities", "Social Sciences")]
na300 = random.Random(1234).sample(non, 300)
write_jsonl(P / "gmmlu_si_val_nonacademic300.jsonl", na300)
# Fresh stand-in (27 Oct), never looked at before the cross-model pooling rule was fixed: 300 other non-academic val questions
used = {r["uid"] for r in na300}
write_jsonl(P / "gmmlu_si_val_nonacademic_fresh300.jsonl", random.Random(2026).sample([r for r in non if r["uid"] not in used], 300))
write_jsonl(P / "gmmlu_si_val_academic.jsonl", [r for r in val if r["category"] in ("STEM", "Business")])
print("dev", len(dev), "| sample400", len(sample), "| rest", len(dev) - len(sample), "| nonacademic300 300 | academic",
      sum(r["category"] in ("STEM", "Business") for r in val))