Repository navigation
Releases: AIcrowd/whestbench
Releases · AIcrowd/whestbench
Release list
v0.16.1
Raises the flopscope floor to 0.12.1, which makes a symmetry tag describe the
buffer it is attached to. No already-scored submission is repriced by it: the
one change that moves a price is full/full_like with a non-scalar
fill_value, and no scored submission in the current phase passes one.
The digit is a patch by decision, not by detection. cz reports MINOR,
because mc_flops_per_sample() below is a new public API. It publishes the
cost of one Monte-Carlo sample -- the MC@B_m baseline submissions are compared
against -- which was previously not stated anywhere participants could check.
It adds a helper and changes no score.
Feat
- budget: publish the Monte-Carlo per-sample cost model
Fix
- deps: raise the flopscope floor to 0.12.1
v0.16.0
BREAKING CHANGE
- a subprocess worker that dies mid-suite is now replaced and the
run continues, where previously every remaining MLP failed. Suite scores for
submissions that crash on some MLPs will improve, because only the crashing MLPs
are now scored as failures. - the no-dataset default contest is now 1024x16 with 200,000
ground-truth samples and an 8 GB solution-process memory limit, replacing 256x32
with 2,560,000 samples and 64 GB. Local scores from before this change are not
comparable, and an estimator hardcoding 256x32 will now see 1024x16. - the default flop_budget moves from 272_000_000_000 to
2**41 (2,199,023,255,552). Runs that relied on the old default without passing
--flop-budget will meter against a ~8x larger cap. - ContestSpec.lambda_flops_per_second now defaults to 0.0 instead
of 1e11, so effective_compute() and is_combined_budget_exhausted() return
FLOP-only results unless a rate is passed. Callers re-scoring an earlier round
must pass PHASE1_LAMBDA_FLOPS_PER_SECOND explicitly and set
residual_wall_time_limit_s=None.
Feat
- budget: keep every round's config side by side, and document the progression
- seeds: add seed-protocol 4.0 with keyed per-MLP derivation
- config: default to the graded 1024x16 shape and the 8 GB solution memory cap
- budget: default the per-MLP budget to 2**41
- budget: default lambda to 0 so residual wall time is gated, not priced
- limits: set the predict wall cap to 120 s and make both caps configurable
- starterkit: detect dependency drift against the starter kit
- dataset_torch: record the bake's chunking in the synthesized breakdown
Fix
- docs: declare rounds and gpu-dataset-generation in the llms.txt manifest
- docs: add frontmatter to the rounds mirror so the site builds
- scoring: let make_contest_from_dataset take an explicit seed_salt
- scoring: bound the metered window without billing harness checks
- runner: restart a dead worker so one death does not fail the whole suite
- docs: Phase 1 re-score recipe must also pin the 60 s wall cap
- cli: report packaging failures with a packaging code, not a scoring one
- scoring: stop charging harness transport to the per-MLP wall clock
- packaging: scope the secret-file preview to submission candidates
- packaging: name dropped siblings, refuse a single file that imports one
- limits: report wall-clock exhaustion correctly and cap residual at the graded 400 ms
- domain: pin MLP weights to float32 on every construction path
- submit: ask AIcrowd whether a submission is allowed
- dataset_torch: emit operations, use the real chunk_size, drop the fake budget
- card: an empty companion_repo must omit the cross-link, not invent one
v0.15.0
BREAKING CHANGE
- flopscope 0.11.0 moves FLOPs the GRADER charges for calls
that already ran, so scored submissions need re-evaluation, not only a
re-baseline. The >52-letter contraction fallback now bills the honest FMA
count, so tensordot calls built on singleton-axis padding bill ~2x, and ix_
moves from a shipped weight of 0.0 to 1.0. Separately, non-numeric dtypes
(object, str, bytes, datetime64, timedelta64, structured/void) now raise
UnsupportedDtypeError wherever they reach a metered op, on a numeric
allowlist. Results from linalg/cross/outer/contraction/fft/bmat are now
wrapped so downstream arithmetic is billed locally; that raises the
in-process estimate onto what the grader already charged and implies no
re-evaluation.
Feat
- deps: adopt flopscope 0.11.0 and re-cap at <0.12.0
Fix
- runner: honor wall limit before transport timeout
v0.14.0
BREAKING CHANGE
- absolute FLOP counts change with flopscope 0.10.0;
consumers that budget or score on FLOP counts must re-baseline.
Feat
- deps: adopt flopscope 0.10.0 and re-cap at <0.11.0 (#117)
v0.13.0
BREAKING CHANGE
- absolute FLOP counts change with flopscope 0.9.1; consumers that
budget or score on FLOP counts must re-baseline.
Feat
- deps: adopt flopscope 0.9.1 and recalibrate sampling FLOP synthesis (#115)
Fix
- reporting: stop presenting dataset bake time as run-time sampling residual (#113)
Refactor
- reporting: drop the dead legacy budget-breakdown panel renderer (#114)
v0.12.0rc5
v0.12.0rc4
Fix
- Single-source the per-MLP
SeedSequence(mlp_seed).spawn(3)[2]estimator-seed
derivation inwhestbench/seeds.py(used by both dataset baking andMLP.from_row),
and makemake_contest_from_datasetseed-protocol resolution explicit and fail-loud:
it takes aseed_protocol_versionargument and raises on an unresolved or unsupported
version (e.g. a typo, or the wholeseed_protocoldict) instead of silently falling
back to legacy raw seeds. No behavior change forwhest run --dataseton a registered
dataset. Enables the grader to ship the dataset's baked seed so local scores reproduce
(AIcrowd/whestbench-evaluator#153; PR #109).
v0.12.0rc3
v0.12.0rc2
Fix
- cli: drop misleading requirements.txt guidance
- packaging: ship single files as estimator.py; validate predict signature
v0.12.0rc1
Feat
- cli: readable AIcrowd API errors — typed errors with clear messages and hints instead of raw HTTP redirect dumps (#98)
- cli: warn when --revision conflicts with an embedded @rev (#101)
Fix
- deps: bump flopscope pin to >=0.8.0rc2
- cli: honor --revision for hf:// datasets + warn when unpinned (#100)