Expand self-hosted decision benchmarks on dedicated hardware #7

Merged
kleb merged 4 commits from feat/decision-gpu-expansion into main 2026-11-01 16:13:09 +01:00
Owner

The decision benchmark catalogue was missing many self-hostable models and measured CPU, Iris Xe and RTX 5050 coverage.

This adds pinned native author runtimes alongside the existing GGUF/API backends, guarded workstation scheduling, immutable sanitized measurements and sourced candidate research. It includes 176 measured decision configurations across four datasets; the latest expansion contributes 15 models and 60 GPU configurations. Failed and incompatible candidates are documented rather than published as measurements. Model services were restored after execution.

Proven with 394 Python tests, 46 Bun tests, type checking, full static build/data validation and real guarded runs on the designated hosts.

GPU ranking: decision-gpu-proof.png

The decision benchmark catalogue was missing many self-hostable models and measured CPU, Iris Xe and RTX 5050 coverage. This adds pinned native author runtimes alongside the existing GGUF/API backends, guarded workstation scheduling, immutable sanitized measurements and sourced candidate research. It includes 176 measured decision configurations across four datasets; the latest expansion contributes 15 models and 60 GPU configurations. Failed and incompatible candidates are documented rather than published as measurements. Model services were restored after execution. Proven with 394 Python tests, 46 Bun tests, type checking, full static build/data validation and real guarded runs on the designated hosts. GPU ranking: ![decision-gpu-proof.png](https://git.kleb.sh/attachments/7d43b490-2b3f-4051-914b-6bb9a5c79156)
First-time contributor

kReview review

Verdict: 2 Medium

Review found 2 findings: 2 medium. Highest priority: Record the measured precision in the evidence.

Medium (2)

  • Record the measured precision in the evidence · data/results/decision/evidence/r20261101-q5-01a1930a-igpu2-d-h2o-lightning-4b-anli-r3.json:145
    The evidence identifies the wrong model precision for the ANLI iGPU run. The linked result records Q5_K_M at lines 40–43 and links to this evidence at lines 62–65. This mismatch makes the measurement difficult to reproduce and affects all four Q5 evidence files.
    Suggested fix: Record Q5_K_M in the evidence for all four Q5 runs.

  • Support direct runs without HF_HOME · packages/runners/decision/native_zefan.py:59
    A direct open-jev-2b run fails during startup when HF_HOME is unset. The native runner passes through the environment and does not set this variable; only run-matrix.py sets it for matrix runs (lines 217–220). The bridge accesses it as a required key after downloading the model files.
    Suggested fix: Use the Hugging Face default cache location when HF_HOME is unset, or require and validate an explicit cache path before starting the server.

This review did not check generated or vendored files:

13 excluded files
  • packages/runners/decision/requirements-author-cuda.lock
  • packages/runners/decision/requirements-jev-style-cpu.lock
  • packages/runners/decision/requirements-jev-style-cuda.lock
  • packages/runners/decision/requirements-kev-cpu.lock
  • packages/runners/decision/requirements-kev-cuda.lock
  • packages/runners/decision/requirements-label-gguf-cuda.lock
  • packages/runners/decision/requirements-laya-cuda.lock
  • packages/runners/decision/requirements-mapika-cpu.lock
  • packages/runners/decision/requirements-mapika-cuda.lock
  • packages/runners/decision/requirements-mapika-gguf-cuda.lock
  • packages/runners/decision/requirements-small-s1-cpu.lock
  • packages/runners/decision/requirements-small-s1-cuda.lock
  • packages/runners/decision/requirements-zefan-cuda.lock

kReview checked only the PR diff, metadata, and supplied repository context at 1785557865. It reports only issues supported by this material.

Estimated cost: ~$7.59 total (8.6M in / 7.0k out); this run ~$1.92 (2.2M in / 1.6k out) / gpt-6.1-terra.

Run time: 3:00 total; this run 0:35.

<!-- codex-forgejo-review --> <!-- codex-forgejo-review-head:1785557865cd26693cd11e28447cab669cd5b83f --> <!-- codex-forgejo-review-comparison:v1:517b682ca5d23efdd12356d8e02c8c1724f1e7eb727f4fbcf75952c85f5e1efb --> ## kReview review **Verdict:** 2 Medium Review found 2 findings: 2 medium. Highest priority: Record the measured precision in the evidence. ### Medium (2) - **Record the measured precision in the evidence** · [`data/results/decision/evidence/r20261101-q5-01a1930a-igpu2-d-h2o-lightning-4b-anli-r3.json:145`](https://git.kleb.sh/kleb/benchmark/src/commit/1785557865cd26693cd11e28447cab669cd5b83f/data/results/decision/evidence/r20261101-q5-01a1930a-igpu2-d-h2o-lightning-4b-anli-r3.json#L145) The evidence identifies the wrong model precision for the ANLI iGPU run. The linked result records `Q5_K_M` at lines 40–43 and links to this evidence at lines 62–65. This mismatch makes the measurement difficult to reproduce and affects all four Q5 evidence files. Suggested fix: Record `Q5_K_M` in the evidence for all four Q5 runs. - **Support direct runs without HF_HOME** · [`packages/runners/decision/native_zefan.py:59`](https://git.kleb.sh/kleb/benchmark/src/commit/1785557865cd26693cd11e28447cab669cd5b83f/packages/runners/decision/native_zefan.py#L59) A direct `open-jev-2b` run fails during startup when `HF_HOME` is unset. The native runner passes through the environment and does not set this variable; only `run-matrix.py` sets it for matrix runs (lines 217–220). The bridge accesses it as a required key after downloading the model files. Suggested fix: Use the Hugging Face default cache location when `HF_HOME` is unset, or require and validate an explicit cache path before starting the server. _This review did not check generated or vendored files:_ <details> <summary>13 excluded files</summary> - `packages/runners/decision/requirements-author-cuda.lock` - `packages/runners/decision/requirements-jev-style-cpu.lock` - `packages/runners/decision/requirements-jev-style-cuda.lock` - `packages/runners/decision/requirements-kev-cpu.lock` - `packages/runners/decision/requirements-kev-cuda.lock` - `packages/runners/decision/requirements-label-gguf-cuda.lock` - `packages/runners/decision/requirements-laya-cuda.lock` - `packages/runners/decision/requirements-mapika-cpu.lock` - `packages/runners/decision/requirements-mapika-cuda.lock` - `packages/runners/decision/requirements-mapika-gguf-cuda.lock` - `packages/runners/decision/requirements-small-s1-cpu.lock` - `packages/runners/decision/requirements-small-s1-cuda.lock` - `packages/runners/decision/requirements-zefan-cuda.lock` </details> _kReview checked only the PR diff, metadata, and supplied repository context at `1785557865`. It reports only issues supported by this material._ _Estimated cost: ~$7.59 total (8.6M in / 7.0k out); this run ~$1.92 (2.2M in / 1.6k out) / gpt-6.1-terra._ _Run time: 3:00 total; this run 0:35._ <!-- codex-forgejo-review-state:eyJoZWFkU2hhIjoiMTc4NTU1Nzg2NWNkMjY2OTNjZDExZTI4NDQ3Y2FiNjY5Y2Q1YjgzZiIsImNvbXBhcmlzb25LZXkiOiJ2MTo1MTdiNjgyY2E1ZDIzZWZkZDEyMzU2ZDhlMDJjOGMxNzI0ZjFlN2ViNzI3ZjRmYmNmNzU5NTJjODVmNWUxZWZiIiwic3VtbWFyeSI6IlJldmlldyBmb3VuZCAyIGZpbmRpbmdzOiAyIG1lZGl1bS4gSGlnaGVzdCBwcmlvcml0eTogUmVjb3JkIHRoZSBtZWFzdXJlZCBwcmVjaXNpb24gaW4gdGhlIGV2aWRlbmNlLiIsImZpbmRpbmdzIjpbeyJzZXZlcml0eSI6Im1lZGl1bSIsInRpdGxlIjoiUmVjb3JkIHRoZSBtZWFzdXJlZCBwcmVjaXNpb24gaW4gdGhlIGV2aWRlbmNlIiwiZmlsZSI6ImRhdGEvcmVzdWx0cy9kZWNpc2lvbi9ldmlkZW5jZS9yMjAyNjExMDEtcTUtMDFhMTkzMGEtaWdwdTItZC1oMm8tbGlnaHRuaW5nLTRiLWFubGktcjMuanNvbiIsImxpbmUiOjE0NSwicXVvdGVkX3NuaXBwZXQiOiIrICAgIFwicHJlY2lzaW9uXCI6IFwiUThfMFwiLCJ9LHsic2V2ZXJpdHkiOiJtZWRpdW0iLCJ0aXRsZSI6IlN1cHBvcnQgZGlyZWN0IHJ1bnMgd2l0aG91dCBIRl9IT01FIiwiZmlsZSI6InBhY2thZ2VzL3J1bm5lcnMvZGVjaXNpb24vbmF0aXZlX3plZmFuLnB5IiwibGluZSI6NTksInF1b3RlZF9zbmlwcGV0IjoiKyAgICBjYWNoZSA9IFBhdGgob3MuZW52aXJvbltcIkhGX0hPTUVcIl0pIC8gXCJvcGVuLWpldi1hdXRob3JcIiJ9XSwiY3VtdWxhdGl2ZUNvc3QiOnsidXNkIjo3LjU5MDE4NDUsImlucHV0VG9rZW5zIjo4NjE5NDkyLCJvdXRwdXRUb2tlbnMiOjY5OTksIm1vZGVsIjoiZ3B0LTYuMS10ZXJyYSJ9LCJjdW11bGF0aXZlRHVyYXRpb25NcyI6MTgwMDk0fQ== -->
Author
Owner

For “Record the measured precision in the evidence”: the four original evidence records retain the copied registry default Q8_0. Their paired results record the selected Q5_K_M measurement, and the execution plan pins the Q5 artifact. Repository policy forbids rewriting measured evidence or its published digest, so those bytes remain unchanged. The decision README now explicitly documents this metadata discrepancy and the selected artifact hash. Commit 8d9a20d fixes future evidence to use the engine-selected precision, with a Q5-vs-Q8 regression test. No quality, timing or memory values were modified.

For “Record the measured precision in the evidence”: the four original evidence records retain the copied registry default Q8_0. Their paired results record the selected Q5_K_M measurement, and the execution plan pins the Q5 artifact. Repository policy forbids rewriting measured evidence or its published digest, so those bytes remain unchanged. The decision README now explicitly documents this metadata discrepancy and the selected artifact hash. Commit 8d9a20d fixes future evidence to use the engine-selected precision, with a Q5-vs-Q8 regression test. No quality, timing or memory values were modified.
Author
Owner

Dismissed “Return DecisionTune choice probabilities in the expected field”: the pinned author engine.py (SHA-256 e412c0c00140c4082e5df8aee4ce55210c7d5e725aca609de37634e6262ab091), lines 182-190, already returns {choice, probabilities, confidence}. The bridge preserves that object and adds type; nesting it again would break the real readout. All measured DecisionTune choice datasets answered 300/300 requests. The mocked bridge test had an inaccurate return shape; it is corrected to mirror the pinned author contract.

Dismissed “Return DecisionTune choice probabilities in the expected field”: the pinned author engine.py (SHA-256 e412c0c00140c4082e5df8aee4ce55210c7d5e725aca609de37634e6262ab091), lines 182-190, already returns {choice, probabilities, confidence}. The bridge preserves that object and adds type; nesting it again would break the real readout. All measured DecisionTune choice datasets answered 300/300 requests. The mocked bridge test had an inaccurate return shape; it is corrected to mirror the pinned author contract.
Author
Owner

Deferred “Support direct runs without HF_HOME”: this expansion executes native models through the matrix runner, which explicitly assigns each lane a task-owned HF_HOME before startup. That is the measured and tested workflow. Adding fallback storage in the user-global Hugging Face cache is extra direct-CLI compatibility outside this benchmark/deployment change, and would weaken the task-owned cache convention. Direct invocation of these bridges currently requires an explicitly supplied HF_HOME. No measured run is affected.

Deferred “Support direct runs without HF_HOME”: this expansion executes native models through the matrix runner, which explicitly assigns each lane a task-owned HF_HOME before startup. That is the measured and tested workflow. Adding fallback storage in the user-global Hugging Face cache is extra direct-CLI compatibility outside this benchmark/deployment change, and would weaken the task-owned cache convention. Direct invocation of these bridges currently requires an explicitly supplied HF_HOME. No measured run is affected.
kleb merged commit a10276917d into main 2026-11-01 16:13:09 +01:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kleb/benchmark!7
No description provided.