Download make_progress_chart.py from SlayerLab/gollem-v5-ckpts: direct link, hf CLI and curl.
- Browser
- Download file 3.55 kB
-
https://huggingface.co/SlayerLab/gollem-v5-ckpts/resolve/e88580ae13aca9b6a7520fae0d34262caa156aa2/make_progress_chart.py
- Command line
-
hf download hf://SlayerLab/gollem-v5-ckpts@e88580ae13aca9b6a7520fae0d34262caa156aa2/make_progress_chart.py
-
curl -L -o make_progress_chart.py https://huggingface.co/SlayerLab/gollem-v5-ckpts/resolve/e88580ae13aca9b6a7520fae0d34262caa156aa2/make_progress_chart.py
3.55 kB
| #!/usr/bin/env python3 | |
| """GoLLeM-v5 progress chart: crown@expanded (#18->#14 via ARC) + 16M token-scan (BLiMP plateau / ARC climb).""" | |
| import json, matplotlib | |
| matplotlib.use("Agg") | |
| import matplotlib.pyplot as plt | |
| D = json.load(open(r"C:/Projekty/Slayer/gollem-v5-en-staging/board_eff_vs_params.json", encoding="utf-8")) | |
| board = D["board"] | |
| # our points (Glint-real). crown@expanded eff 75.83 (#14, Latarnik decomposition) | |
| ours = { | |
| "16M@10B": dict(p=17.4, blimp=70.36, arc=39.52, eff=74.99, rank="#18"), | |
| "crown@expand": dict(p=17.4, blimp=70.53, arc=40.91, eff=75.83, rank="#14"), | |
| "32M@10B": dict(p=31.4, blimp=70.08, arc=42.59, eff=74.53, rank="#20"), | |
| } | |
| fig, ax = plt.subplots(1, 2, figsize=(13, 5), dpi=130) | |
| # Panel A: efficiency vs params (board + our progression) | |
| bx = [r["params_M"] for r in board]; be = [r["eff"] for r in board] | |
| ax[0].scatter(bx, be, s=40, c="#9aa0a6", alpha=.6, edgecolor="none", label="Glint board (74)") | |
| colors = {"16M@10B": "#e08a2a", "crown@expand": "#d11a1a", "32M@10B": "#2a8ad1"} | |
| for name, r in ours.items(): | |
| big = name == "crown@expand" | |
| ax[0].scatter([r["p"]], [r["eff"]], s=430 if big else 230, marker="*", c=colors[name], | |
| edgecolor="k", zorder=6, linewidth=1.2) | |
| off = {"16M@10B": (8, -20), "crown@expand": (10, 12), "32M@10B": (12, -6)} | |
| for name, r in ours.items(): | |
| ax[0].annotate(f'{name} eff {r["eff"]:.1f} {r["rank"]}', (r["p"], r["eff"]), | |
| textcoords="offset points", xytext=off[name], | |
| fontsize=8, fontweight="bold" if name == "crown@expand" else "normal", color=colors[name]) | |
| best = max(board, key=lambda r: r["eff"]) | |
| ax[0].annotate(f'#1 {best["name"][:14]} eff {best["eff"]:.1f}', (best["params_M"], best["eff"]), | |
| textcoords="offset points", xytext=(-4, -26), fontsize=7, color="#1864ab") | |
| ax[0].annotate("expanded corpus: #18 -> #14\n(ARC +1.39; BLiMP capped ~70.5)", (0.03, 0.05), | |
| xycoords="axes fraction", fontsize=8.5, color="#555") | |
| ax[0].set_xscale("log"); ax[0].set_xlabel("parameters (M, log)"); ax[0].set_ylabel("efficiency") | |
| ax[0].set_title("Where we are: efficiency vs params (board rank metric)", fontsize=10) | |
| ax[0].grid(alpha=.3, which="both"); ax[0].legend(fontsize=8, loc="lower right") | |
| # Panel B: 16M token scan (BLiMP plateau, ARC climb) | |
| tok = [3.2, 6, 10, 16] | |
| blimp = [67.40, 68.92, 70.36, 70.53] | |
| arc = [38.22, 39.10, 39.52, 40.91] | |
| ax[1].plot(tok, blimp, "o-", color="#2c6fbb", lw=2, label="BLiMP") | |
| ax[1].plot(tok, arc, "s-", color="#d1662a", lw=2, label="ARC-Easy") | |
| 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) | |
| 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) | |
| ax[1].axvspan(10, 16, color="#2c6fbb", alpha=.06) | |
| ax[1].annotate("BLiMP plateau\n(data-lever exhausted)", (13, 71.3), fontsize=8, ha="center", color="#2c6fbb") | |
| ax[1].annotate("ARC still climbing\n-> ARC-MIX lever", (13, 37.6), fontsize=8, ha="center", color="#d1662a") | |
| ax[1].set_xlabel("training tokens (B)"); ax[1].set_ylabel("Glint score (%)") | |
| ax[1].set_title("16M token scan: BLiMP saturates, ARC is the lever", fontsize=10) | |
| ax[1].grid(alpha=.3); ax[1].legend(fontsize=8, loc="center right") | |
| fig.suptitle("GoLLeM-v5 progress: 16M @ expanded corpus -> board #14 (ARC-driven)", fontsize=12, y=1.02) | |
| fig.tight_layout() | |
| out = "C:/Projekty/datasets/gollem-v5-models/progress_v5.png" | |
| fig.savefig(out, bbox_inches="tight") | |
| print("saved", out) | |