Maggio33 commited on
Commit
18cfe4b
·
verified ·
1 Parent(s): 9c09f17

Upload make_progress_chart.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. make_progress_chart.py +59 -0
make_progress_chart.py ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """GoLLeM-v5 progress chart: crown@expanded (#18->#14 via ARC) + 16M token-scan (BLiMP plateau / ARC climb)."""
3
+ import json, matplotlib
4
+ matplotlib.use("Agg")
5
+ import matplotlib.pyplot as plt
6
+
7
+ D = json.load(open(r"C:/Projekty/Slayer/gollem-v5-en-staging/board_eff_vs_params.json", encoding="utf-8"))
8
+ board = D["board"]
9
+ # our points (Glint-real). crown@expanded eff 75.83 (#14, Latarnik decomposition)
10
+ ours = {
11
+ "16M@10B": dict(p=17.4, blimp=70.36, arc=39.52, eff=74.99, rank="#18"),
12
+ "crown@expand": dict(p=17.4, blimp=70.53, arc=40.91, eff=75.83, rank="#14"),
13
+ "32M@10B": dict(p=31.4, blimp=70.08, arc=42.59, eff=74.53, rank="#20"),
14
+ }
15
+
16
+ fig, ax = plt.subplots(1, 2, figsize=(13, 5), dpi=130)
17
+
18
+ # Panel A: efficiency vs params (board + our progression)
19
+ bx = [r["params_M"] for r in board]; be = [r["eff"] for r in board]
20
+ ax[0].scatter(bx, be, s=40, c="#9aa0a6", alpha=.6, edgecolor="none", label="Glint board (74)")
21
+ colors = {"16M@10B": "#e08a2a", "crown@expand": "#d11a1a", "32M@10B": "#2a8ad1"}
22
+ for name, r in ours.items():
23
+ big = name == "crown@expand"
24
+ ax[0].scatter([r["p"]], [r["eff"]], s=430 if big else 230, marker="*", c=colors[name],
25
+ edgecolor="k", zorder=6, linewidth=1.2)
26
+ off = {"16M@10B": (8, -20), "crown@expand": (10, 12), "32M@10B": (12, -6)}
27
+ for name, r in ours.items():
28
+ ax[0].annotate(f'{name} eff {r["eff"]:.1f} {r["rank"]}', (r["p"], r["eff"]),
29
+ textcoords="offset points", xytext=off[name],
30
+ fontsize=8, fontweight="bold" if name == "crown@expand" else "normal", color=colors[name])
31
+ best = max(board, key=lambda r: r["eff"])
32
+ ax[0].annotate(f'#1 {best["name"][:14]} eff {best["eff"]:.1f}', (best["params_M"], best["eff"]),
33
+ textcoords="offset points", xytext=(-4, -26), fontsize=7, color="#1864ab")
34
+ ax[0].annotate("expanded corpus: #18 -> #14\n(ARC +1.39; BLiMP capped ~70.5)", (0.03, 0.05),
35
+ xycoords="axes fraction", fontsize=8.5, color="#555")
36
+ ax[0].set_xscale("log"); ax[0].set_xlabel("parameters (M, log)"); ax[0].set_ylabel("efficiency")
37
+ ax[0].set_title("Where we are: efficiency vs params (board rank metric)", fontsize=10)
38
+ ax[0].grid(alpha=.3, which="both"); ax[0].legend(fontsize=8, loc="lower right")
39
+
40
+ # Panel B: 16M token scan (BLiMP plateau, ARC climb)
41
+ tok = [3.2, 6, 10, 16]
42
+ blimp = [67.40, 68.92, 70.36, 70.53]
43
+ arc = [38.22, 39.10, 39.52, 40.91]
44
+ ax[1].plot(tok, blimp, "o-", color="#2c6fbb", lw=2, label="BLiMP")
45
+ ax[1].plot(tok, arc, "s-", color="#d1662a", lw=2, label="ARC-Easy")
46
+ for x, y in zip(tok, blimp): ax[1].annotate(f"{y:.1f}", (x, y), textcoords="offset points", xytext=(0, 7), ha="center", fontsize=8)
47
+ for x, y in zip(tok, arc): ax[1].annotate(f"{y:.1f}", (x, y), textcoords="offset points", xytext=(0, -14), ha="center", fontsize=8)
48
+ ax[1].axvspan(10, 16, color="#2c6fbb", alpha=.06)
49
+ ax[1].annotate("BLiMP plateau\n(data-lever exhausted)", (13, 71.3), fontsize=8, ha="center", color="#2c6fbb")
50
+ ax[1].annotate("ARC still climbing\n-> ARC-MIX lever", (13, 37.6), fontsize=8, ha="center", color="#d1662a")
51
+ ax[1].set_xlabel("training tokens (B)"); ax[1].set_ylabel("Glint score (%)")
52
+ ax[1].set_title("16M token scan: BLiMP saturates, ARC is the lever", fontsize=10)
53
+ ax[1].grid(alpha=.3); ax[1].legend(fontsize=8, loc="center right")
54
+
55
+ fig.suptitle("GoLLeM-v5 progress: 16M @ expanded corpus -> board #14 (ARC-driven)", fontsize=12, y=1.02)
56
+ fig.tight_layout()
57
+ out = "C:/Projekty/datasets/gollem-v5-models/progress_v5.png"
58
+ fig.savefig(out, bbox_inches="tight")
59
+ print("saved", out)