Alfa-Code / scripts /eval.py
mrsandip's picture
Add eval gate
4a348f0 verified
Raw History Blame Contribute Delete
740 Bytes
"""Eval: perplexity on held-out rows (best-results gate)."""
import json, math
from pathlib import Path
import torch
def main(path="data/processed/train.jsonl", holdout=200):
rows = [json.loads(l) for l in open(path, encoding="utf-8")]
test = rows[-holdout:]
# char-level proxy PPL (real: use trained model loss)
# proxy: uniform over 32000 vocab -> ppl ~32000; trained should be <<100
n_chars = sum(len(r.get("answer", "")) for r in test)
print(f"rows={len(rows)} holdout={len(test)} chars={n_chars}")
print("proxy uniform PPL ~32000. After train.py, target PPL < 50 on this split.")
print("Next: HumanEval pass@1 via bigcode-evaluation-harness (after real model).")
if __name__ == "__main__":
main()