Repository navigation
validator: per arena scoring rules, envelope budgets and footprint, burned empty pools, router and harness limits, and the context compression grader - #153
Merged
Conversation
…urned empty pools, router and harness limits, and the context compression grader
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #152.
Per arena scoring.
score.Rules.from_definitionreads the definition'sscoringblock (written bymta definefrom each arena.yaml). With no block, every value is today's constant, sosql_gen_s1scores exactly as before.ctx_compress_s1gets:1 − min(1, max(0, gap − 0.02) / 0.10);e_x = min(1, max(0, (ref − x)/ref))with the same weights;applies: false);Envelope budgets.
budgets.max_model_lenis the arena's max input plus max output instead of the miner config's 8,192.nvidia-smidevice usage, which read about 90% of the card for every model because vLLM reserves it.mt submit manifestdefaults to mt-3.Empty pools. With
empty_pools: burn, an empty pool's share goes to the subnet owner hotkey, read from the chain. If the hotkey cannot be read, the validator logs an error and falls back to redistribution. To verify on testnet 576 before the first epoch: does the chain recycle weight set on the owner's uid?Router.
definition.limits.router. The contract ceiling is now 1.5B, and a router above 100M parameters runs on the sandbox GPU, with vLLM held to 75% of the card.router: brier_aurocscores each source as0.5·max(0, 1 − Brier/Brier_base) + 0.5·max(0, 2·AUROC − 1), then the usual 0.7 mean plus 0.3 min.Harness.
max_model_callsrefuses a further model call for an item with 429.added_wall_p95_mszeroes the harness score when its added time (call latency minus model time) at p95 goes over the limit.faults: modelapplies the fault plan to the first model call of a faulted item, for arenas with no tools.Context compression grader (
grader: context_compression):--gpus, temperature 0) that answers the item's probes from the summary alone.Every pool now grades through
EpochContext.grade, so the grader sees the task and the judge.Local tests (not committed) cover: default rules reproduce today's score, the compression rules on fixed inputs, burn to the owner, the grader on good, invented and malformed answers, and AUROC. The existing suite passes. ruff (newest) is clean; mypy shows only the Windows only
resourcefindings already on main.Not in this PR: the GGUF and CPU measurement path for mt-1 and mt-2,
mt envelope check, lower group (edge) tests, and AWQ and GPTQ dequantisation for provenance.🤖 Generated with Claude Code