sora
a4d4592864
Scoring-phase progress; pool: fix double-release + cross-loop reuse
...
Scoring progress: docker-exec benches (humaneval etc.) score for
minutes with zero feedback -- the bar sat at 'generating 100%' and
looked hung. evaluate() now takes on_scored(i, n) (atomic counter,
fires from worker threads), run_eval passes it through, and the CLI
shows 'scoring 42/164' on the bar + milestone log lines every 10%
(also fixes the phase match: 'scoring' never matched the capitalized
'Scoring predictions...' status message, so the bar never even
switched its label).
PooledAdapter:
- one release per acquire: the exception path released True (inner
finally) AND False (except handler), double-decrementing _inflight
(over-admission) and applying the x0.7 backoff twice
- AdaptiveGate: rebuild the Condition + probe task when the event loop
changes -- pools are cached across benchmarks and the CLI runs
asyncio.run() per bench/repeat; a loop-bound Condition from a closed
loop raises 'bound to a different event loop' under contention
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-14 03:14:08 +00:00
sora
f5c2e4c5af
Progress bar: fresh-this-run counter; fix KeyError 'success'
...
- Completed X/Y now carries (+N new): samples generated by THIS run,
excluding the checkpoint-restored head start (previously 98/164 told
you nothing about how much work this invocation actually did)
- rate/eta computed over fresh samples only (restored ones counted
toward 141/6s = 23/s when 1 sample had been generated)
- fix KeyError 'success': advance() still read the success/failed task
fields after they were dropped from the column set -- first advance
on a resumed bench killed the whole benchmark
- set_overall: give the overall task the fields the shared columns
actually read (cur/retries/elapsed/eta); the old field set was from
a previous column layout
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-14 03:05:18 +00:00
sora
20d2d5537a
Run plan: show real sample/generation counts from local cache
...
Samples row said 'full dataset (counted when each loads)' -- now it
counts cached samples.jsonl entries (never touches the network, plan
stays instant on cold machines) and multiplies by YAML repeats:
12,957 samples (cached) → 13,617 generations (repeats)
--limit caps each bench before summing; uncached benches are flagged.
YAML config loading extracted to _load_bench_cfg, shared by the run
loop and the plan so repeats can't disagree between the two.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-14 02:45:20 +00:00
sora
e9d7e7f4eb
README overhaul: features overview, config section, perf stats, FAQ
...
- accurate output structure (summary.xlsx/csv + per-bench xlsx; drop
stale detail.md/summary.md mentions)
- dedicated YAML-config section documenting the keys that actually work
(generation params + repeats + max_input_tokens) and precedence
- perf-stats table: what is always collected vs --perf streaming-only
- FAQ: endpoint probe, context-overflow shrink, thinking-mode notes
(non-stream chat_template_kwargs vs cloud-API param), auto-stream
- config/README.md rewritten to match the flat-key reality (old file
documented a directory scheme + judge/env keys that are not consumed)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-14 02:30:38 +00:00
sora
a17dd88611
Untrack pip build/ artifacts, restore gen_profiles.yaml
...
build/lib/* is a local pip-install byproduct, not source.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 13:38:43 +00:00
sora
370953729b
Fix perf stats (wrong import path), per-repeat checkpoints, README
...
- perf_stats aggregator lives in eval/, not model/: the import failed
silently and EVERY perf column was empty (not just ttft). Now warns
on stderr instead of swallowing.
- repeats > 1 get their own checkpoint key (:rep2, :rep3, ...): repeat 2
previously restored repeat 1's predictions and finished instantly with
identical scores. rep1 keeps the legacy key (existing checkpoints still
resume).
- repeats summary: report the MEAN score and aggregate time/tokens over
ALL runs (was: last run only).
- README: six-benchmark command as the primary example.
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 13:38:04 +00:00
sora
52872bcbc7
Per-benchmark Excel: each <bench>/<bench>.xlsx (4 sheets) alongside report.jsonl
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:58:57 +00:00
sora
f118f4092b
Remove detail.md from per-benchmark output (user preference: report.jsonl + summary.xlsx only)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:51:29 +00:00
sora
ed675e790f
Auto-stream threshold 8192→100000 (streaming strips all thinking params on GLM gateway; non-streaming works for 32k); EVALHARNESS_NO_AUTOSTREAM=1 to disable entirely
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:50:03 +00:00
sora
f5aaddb870
Progress bar: colored fields (cur=yellow, elapsed=green, eta=cyan, retries=red, rate=dim)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:45:01 +00:00
sora
624b2fd37e
aime/hmmt max_tokens 32768→8192: stays on non-stream path where GLM gateway honors enable_thinking:false (thinking off, 15s/题)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:43:36 +00:00
sora
3f555878b8
Fix: max_input_tokens extracted from YAML config and passed as the separate run_eval param (was going into gen_kwargs where truncation never saw it -> raw 128k text sent to gateway -> 400)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:28:13 +00:00
sora
ff5d40aad5
Read timeout 300→600s base (GLM gateway 30+s startup on 100k+ token inputs)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:24:16 +00:00
sora
7ada0113ad
max_input_tokens back to 128000 (user confirmed same behavior as 120k)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:23:43 +00:00
sora
b75fbc1a12
max_input_tokens 128000→120000 (GLM gateway unstable on very long inputs, 30s timeout at 128k)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:22:55 +00:00
sora
ebc51de274
Rename dp4-nothink.yaml → default.yaml (auto-loaded)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:12:41 +00:00
sora
ed345c5ac1
Config auto-loads: single yaml in config/ becomes default generation params
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:04:23 +00:00
sora
fe1852302a
--config flag loads evalharness/config/<name>.yaml (per-bench generation params); yaml added to package-data; verified end-to-end
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 09:00:28 +00:00
sora
ebf7a0e7e5
Config: generation params + repeats + max_input_tokens only; judge/env/limit controlled elsewhere
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:47:25 +00:00
sora
60bdef3936
Complete config: all fields included (env, limit, limit_per_task, judge, judge_url, repeats, max_input_tokens, max_turns, concurrency)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:45:35 +00:00
sora
eb6028e8c9
Config simplified: default block + per-bench overrides only (removed env/limit/judge/concurrency; max_input_tokens 128000)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:42:21 +00:00
sora
0815f6e4f8
Config: evalscope generation_config format + our extras (repeats, env) at bench level; parallel_tool_calls noted as unsupported in adapter
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:37:18 +00:00
sora
0ada7d8a0e
Config: exact copy of evalscope dpv4-int8_nothinking.yaml (generation_config + dataset_args + agent_config, zero custom fields)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:35:05 +00:00
sora
3a4be917e6
Restored checkpoint predictions' usage counted in totals (was 0 for fully-restored benches); token stats now correct on resume
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:27:55 +00:00
sora
b8ed18771a
Config exactly matches evalscope dpv4-int8_nothinking.yaml (verified ✅ all match); concurrency removed (CLI controls it)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:25:15 +00:00
sora
787a8a28e9
Standard YAML indentation, no inline braces
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:09:09 +00:00
sora
4d7567adf8
Flatten config: direct key-value per bench, no nested groups
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:05:36 +00:00
sora
d16009d054
Config: single dp4-nothink.yaml with all 28 bench configs (evalscope-style)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 08:02:43 +00:00
sora
c27a22555d
Config directory: dp4-nothink/ with 28 per-bench YAMLs (aime repeats=12, judged, agent, long-context) + README
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 07:59:42 +00:00
sora
77b67f8bbc
gen_profiles.yaml moved to evalharness/config/ (search path added); /data2/hf_home deleted (8.6G freed)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 07:48:41 +00:00
sora
471e0ca1a9
gen_profiles.yaml: YAML profiles (dp4-nothink, qwen3-es-parity, glm53-nothink, t1-short) — edit file to tune parameters, no code changes needed
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 07:45:51 +00:00
sora
63ffd1b613
Fix NameError _fmt (module-level helper restored); aime/hmmt max_tokens 32768->8192 (non-stream path, gateway honors nothink)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 07:20:02 +00:00
sora
d64b236540
run_one: exactly 1 attempt (adapter handles all retries internally)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 07:07:22 +00:00
sora
55b2beab54
Retry chain sanity: adapter 3 retries for long budgets / 6 for normal (was 6 flat); run_one 3 retries (was 6) with shorter backoff; worst case now 12 attempts ~5min (was 42+ attempts ~20min); progress bar shows live retry count; heartbeat recreated on every reset_samples
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 07:06:11 +00:00
sora
d00f330430
Fix frozen progress clock: heartbeat recreated on every reset_samples (previous one died during pause/resume cycles); auto-stream path appends /no_think when gateway drops chat_template_kwargs on streaming
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 06:39:55 +00:00
sora
8bac3483b6
Fixes: theme markup closing tags ([bold green]...[/bold green]); evaluate() runs off the event loop (sympy equivalence on hard math froze the progress clock for the whole bench)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 04:36:51 +00:00
ruoxi_sun
09b2add673
fingerprint: integrate fp_fusion model fingerprint benchmark
...
New evalharness/fingerprint/ package (from evalstone fp_fusion v1.1,
2026-09-07 pruning final): probe battery -> concurrent collection ->
five scoring views (verify/attribution/variant/adversarial/robustness),
bundled family aliases + 27 reference fingerprints (12 fp_fusion schema).
- CLI: 'evalharness fingerprint run ...' (REMAINDER passthrough, single
source of arg definitions) + 'fingerprint list' for bundled references
- imports rewritten package-relative; direct 'python3 run_fp_fusion.py'
execution kept working via package bootstrap
- offline analysis/collection scripts made path-independent (previously
pinned to a /opt/evalscope path absent on this host)
- shell scripts: hardcoded API key -> FP_API_KEY/OPENAI_API_KEY env vars
- --reference accepts short names resolved against bundled references/
- pyproject: +httpx dependency, package-data references/*.json
- tests/test_fingerprint.py: 10 offline tests (battery definitions,
assembly counts, normalization, signals, verdict ladder, CLI wiring)
- README: fingerprint section + architecture entry
Verified on H20-1: tests 10/10, installed CLI OK, full-protocol run vs
vectron GLM-5.3 reproduces baseline (score 0.9451, s_idn 0.846).
2026-09-11 03:52:21 +00:00
sora
7473170784
Auto-stream long generations (max_tokens>8192) and aggregate to the non-stream response shape: gateways hang on large buffered NON-streaming requests (aime25's 32k budget stalled forever); streaming starts emitting immediately so a stuck endpoint surfaces in ~60s instead of the full adaptive read timeout; lazy httpx import fix
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 03:41:24 +00:00
sora
5af8e2a7fd
Pluginize the run shell: @register_progress (rich/plain), @register_theme, @register_hook (on_benchmark_failed/done), @register_prober; CLI gains --progress-plugin/--theme
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 03:26:19 +00:00
sora
98007cccd7
Color scheme: green for facts/phrases/scores, blue for paths
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 03:18:52 +00:00
sora
0ca8aedefe
Scoring line: colon restored, full sentence (score over N samples), score keeps solid green with yellow phrase tail; path coloring covers 'to /abs' endings
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 03:16:08 +00:00
sora
d7f06395a0
Highlight whole noun phrases (1319 samples from cache / 4/4 predictions / 0 samples left to run), not bare numbers; score rule runs first so scores keep solid green
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 03:09:15 +00:00
sora
a8c04311c0
Semantic numbers in narration: bold yellow (bold alone was hard to see)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 03:02:03 +00:00
sora
a1fa75bf89
All narration lines as full sentences (Checkpoint: 4/4 predictions already generated, 0 samples left to run / Generation skipped: ... / Scoring complete: acc 100.0% / Writing results to ...)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 02:59:22 +00:00
sora
20e9b87248
Probe success line as a full sentence: model name, endpoint, response time, pool size, and what happens next
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 02:49:06 +00:00
sora
470496b7ef
Probe line carries model/endpoint/instances/probe-latency (ANSI-colored on tty); semantic numbers (counts, checkpoint fractions) bold in narration lines
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 02:43:10 +00:00
sora
b8ff031be7
Scores in narration lines get bold green (the key fact, previously lost in all-white lines); paths stay cyan
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-11 02:35:49 +00:00
sora
9eb1f7e58b
Fix KeyError 'cur' regression (new-task branch missed the field); live bars hard-disable unless the real stream is a tty (FORCE_COLOR env made rich claim terminal-ness on pipes -> refresh thread stalled the whole run)
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-10 12:02:27 +00:00
sora
c6046dd02e
Progress bar keeps its own elapsed/ETA clock (rich's columns freeze on cross-benchmark task reuse); in-flight shows current sample's elapsed; adaptive read timeout scales with the generation budget (32k-token CoTs were timing out at the fixed 300s and retrying forever -- the 'hang')
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-10 11:36:19 +00:00
sora
e7792a559c
Narration lines get stage icons (⬇ download / 📦 ready / ✳ few-shot / ◷ checkpoint / 🤖 generating / ⏭ skipped / ★ scoring / 📝 writing / 🔗 endpoint) and cyan-highlighted paths
...
Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-10 11:29:07 +00:00