chemistry-reproduce-the-scoring-path-before-you-replace-it

Solid

Use at implementation, experimentation and analysis when you are reproducing a published benchmark number and the source's scoring path is one you can read — which rows are scored, in what order, how many the loader drops, which epoch is reported, how tasks are pooled, over how many seeds. Covers implementing that path exactly before improving it, the one-row-per-step ladder from the published rule down to your own honest estimate, and why one un-replicated step makes the reproduction gap you report uninterpretable.

AI & Automation 805 stars 25 forks Updated 2 weeks ago NOASSERTION

Install

View on GitHub

Quality Score: 85/100

Stars 20%
97
Recency 20%
90
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Implement the scoring rule you intend to condemn A leaderboard number is not the model's output. It is the output of a *path*: a split, a subset of its rows, an order, a batch loader that may discard a partial batch, a checkpoint or an epoch chosen by some rule, an aggregation across tasks or targets, a statistic across seeds. Every one of those steps is worth points of metric, and any one of them left out of your re-implementation goes into your reproduction gap without a label on it. So enumerate the path before you compute anything. Read it off the source's training script and methods section and write it down as ordered steps in `notes/scoring_path.md`: which split, which rows of it, in what order, how many are dropped, at which epoch, aggregated how, over how many runs. Where the paper and the code disagree, record both readings as separate steps — that disagreement is a finding you will want later. Transcribing the caption's protocol is one line of `rebuild-the-sources-headline-table-row-for-row`'s literature-stage step; this is what to do with it afterwards. ## Implement every step, including the ones you can see are wrong The first column of your reproduction table is your model scored through the source's exact path, standing next to the published value. That column is the only thing in the report that lets a reader decide whether your re-implementation is the same model as theirs. Everything else you do — a better estimator, a fairer aggregation, a validation-...

Details

Author
tangxiangru
Repository
tangxiangru/AutoR
Created
6 months ago
Last Updated
2 weeks ago
Language
Python
License
NOASSERTION

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Solid

copy-the-graders-limits-not-just-its-logic

Use at study design, implementation and experimentation when the task's score is produced by *executing* what you submit - running generated programs against hidden test cases, simulating, decoding, solving, rendering - and where you are building a local copy of the scorer to choose among candidates or to measure a method before committing to it. Covers reading the resource limits out of the shipped scorer's source rather than out of the prose that summarises it, giving every limit a named constant with its source line beside it, why a replica looser than the grader is far worse than one that is stricter, the failure taxonomy your local report must be able to express (a bucket that is empty in every arm is the tell), and the item-by-item calibration that catches a replica whose average already agrees.

805 Updated 2 weeks ago
tangxiangru
AI & Automation Solid

add-the-baseline-back-on-the-split-you-cannot-score

Use at study design, implementation and every write thereafter, whenever the value you submit is assembled from parts - a fitted baseline plus a model's residual, a level plus a shape, a de-trended prediction that has to be re-trended, any inverse transform - and the validation arrays and the graded arrays are produced by separate calls. Covers assembling every split through one function, using the baseline you already fitted as a label-free reference vector on the graded split, why row count, header, dtype and finiteness cannot see this class of error, and putting the gate inside the writer rather than in a script somebody has to remember to run.

805 Updated 2 weeks ago
tangxiangru
AI & Automation Solid

a-scoreable-file-in-the-first-hour

Use at the first stage of a run whose deliverable is a predictions file, and again at every stage when one still does not exist. Covers why a trivial submission written early dominates a good one written late, what the first version should contain, and how to improve it in place without ever leaving it invalid.

805 Updated 2 weeks ago
tangxiangru