NoCap-Test evidence · think2earn docs
Source code ↗

NoCap-Test evidence CSVs

Public, same-origin logs behind the Verify section of the report. Every published percentage on the page can be recomputed from these files with three lines of arithmetic.

Columns

Each file shares the same header:

ColumnMeaning
stepOptimizer update index (0 → 4768).
tokensCumulative tokens seen.
train_time_msMeasured training clock in milliseconds (validation is paused; compile warmup is inside the measured path). This is the speed clock.
step_avg_msRolling average step time.
lrLearning rate at that row.
train_lossTraining cross-entropy (diagnostic).
val_disjointOfficial disjoint validation loss. This is the quality gate. Lower is better.
val_slidingSliding-window val (diagnostic only — never defines the cross).
ema_val_disjoint / ema_val_slidingEMA diagnostics (unused for the claim).

Rows where val_disjoint is blank are training-only steps; validation rows are logged periodically.

Files

FileRunRole
f1_seal.csvStock AdamW baseline, Clock-WThe sealed public denominator. First-cross @ step 4736, val_disjoint = 3.381538, train_time_ms = 13,918,667.5T = 3.866 h.
f1_claim_w2.csvF1 re-seal, Claim-W2Same-workspace baseline check. First-cross @ step 4768, val 3.380977, train_time_ms = 13,889,386.93.858 h (~+0.2% vs F1_seal).
s2029_cand.csvCandidate (Muon B32 + timing-cheap split-QKV), seed 2029First-cross @ 4736, val 3.372588, train_time_ms = 12,840,827.63.567 h, +7.7% vs F1_seal. Terminal CE 3.369498.
s2029_stock.csvJoint-QKV stock control, seed 2029Never crosses 3.3821 (min val_disjoint = 3.384017, terminal 3.384017). This is the quality ablation, not a speed denominator.
s4242_cand.csvCandidate, seed 4242First-cross @ 4736, val 3.373309, train_time_ms = 12,640,470.53.511 h, +9.2% vs F1_seal. Terminal CE 3.370249.

Recompute the claim (three lines)

For any candidate CSV:

  1. First-cross = the first row where val_disjoint ≤ 3.3821.
  2. T_h = train_time_ms at that row ÷ 3,600,000 (i.e. / 3.6e6).
  3. ΔT% = 100 × (3.866 − T_h) / 3.866, where 3.866 h is the sealed F1_seal denominator.

Worked example — s2029_cand.csv:

first-cross row: step=4736, val_disjoint=3.372588, train_time_ms=12,840,827.6
T_h  = 12,840,827.6 / 3.6e6 = 3.5669 h
ΔT%  = 100 × (3.866 − 3.5669) / 3.866 = +7.7%

A minimal check (Python, standard library only):

import csv
TH, BASE = 3.3821, 3.866
for fn in ["f1_seal","s2029_cand","s4242_cand","s2029_stock","f1_claim_w2"]:
    rows = [r for r in csv.DictReader(open(fn + ".csv")) if r["val_disjoint"].strip()]
    cross = next((r for r in rows if float(r["val_disjoint"]) <= TH), None)
    if cross:
        Th = float(cross["train_time_ms"]) / 3.6e6
        print(fn, "cross@", cross["step"], "T_h=%.4f" % Th, "dT%%=%+.1f" % (100*(BASE-Th)/BASE))
    else:
        print(fn, "never crosses (min val =", min(float(r["val_disjoint"]) for r in rows), ")")

Seed 1337 — summary-only (no CSV)

Seed 1337 has no downloadable CSV here. Its sealed numbers come from the seed summary:

On the page, the seed 1337 chart marker and table row are labelled summary-only for this reason. Do not treat its hours as CSV-derived.

Claim boundary

The published comparison is candidate vs our sealed F1_seal (3.866 h) on the matched pin (A100-SXM4-40GB · torch 2.13.0+cu130) — not an official NoCap-Test win, and not a matched candidate-vs-stock first-cross speedup (the stock control never crosses where it was run, so that ΔT% is N/A). See ../NUMBERS_CANON.md for the canonical table.