Add Results Card doc — standard format for sharing config results
Three-panel format (Serving · Quality · Takeaways) for posting a config's measured serving + quality numbers. Spec-dec is its own column; core 8-pack stays /150 with optional humaneval+/lcb/aider in a separate table. Linked from the docs index; first instance is the Qwen3.6-27B thinking A/B in #221. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -76,5 +76,6 @@ These are cross-cutting references both tracks reach for.
|
||||
| [`DTYPE_MATRIX.md`](DTYPE_MATRIX.md) | Supported dtype × model × engine matrix. |
|
||||
| [`KERNEL_MATRIX.md`](KERNEL_MATRIX.md) | Quant-kernel availability and alignment constraints. |
|
||||
| [`QUALITY_TEST.md`](QUALITY_TEST.md) | The quality-test harness and what it measures. |
|
||||
| [`RESULTS_CARD.md`](RESULTS_CARD.md) | The standard 3-panel format (Serving · Quality · Takeaways) for sharing a config's measured results. |
|
||||
| [`STRUCTURED_COT.md`](STRUCTURED_COT.md) | The bounded-thinking / structured-CoT compose path. |
|
||||
| [`TQ3_MTP_GENESIS.md`](TQ3_MTP_GENESIS.md) | TQ3 KV × MTP × Genesis-patch results and config. |
|
||||
|
||||
67
docs/RESULTS_CARD.md
Normal file
67
docs/RESULTS_CARD.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Results Card
|
||||
|
||||
A small, fixed format for sharing a config's **measured** results — in a discussion, an issue (see the [`numbers-from-your-rig`](../.github/ISSUE_TEMPLATE/numbers-from-your-rig.yml) template), a `learnings/` note, or a PR description.
|
||||
|
||||
It's the empirical counterpart to a compose's `Profile (at-a-glance)` header: the header declares *what the config is*, the Results Card reports *what it measured*. Three panels, always in this order — **Serving → Quality → Takeaways**.
|
||||
|
||||
## When to use it
|
||||
|
||||
Any time you post serving/quality numbers for a `(model, engine, topology, spec-dec, KV)` config. If you're A/B-ing one knob (thinking on/off, KV format, drafter `n`, …), use two value columns in the Quality table and bold the winner per row.
|
||||
|
||||
## Template
|
||||
|
||||
```markdown
|
||||
### Serving — <engine + version>, <topology>
|
||||
|
||||
| Config | Spec-dec | KV / ctx | decode TPS (narr / code) | TTFT | VRAM / card |
|
||||
|--------|----------|----------|--------------------------|------|-------------|
|
||||
| <model + quant> | <MTP / DFlash / ngram / EAGLE / none> (draft, n=) | <k/v quant> · <max ctx> | <narr> / <code> | <ms> | <GB> |
|
||||
|
||||
_(engine-internal decode TPS; 3 warm + 5 measured; temp/top-k/top-p; image/pin; tracking issue. Note any spec-dec accept-rate or balance caveat.)_
|
||||
|
||||
### Quality — 8-pack suite (`benchlocal-cli`, verifier-backed, n=<N>)
|
||||
|
||||
| Pack | <setting A> | <setting B> |
|
||||
|------|-------------|-------------|
|
||||
| toolcall-15 | x/15 | x/15 |
|
||||
| instructfollow-15 | x/15 | x/15 |
|
||||
| structoutput-15 | x/15 | x/15 |
|
||||
| dataextract-15 | x/15 | x/15 |
|
||||
| reasonmath-15 | x/15 | x/15 |
|
||||
| bugfind-15 | x/15 | x/15 |
|
||||
| hermesagent-20 | x/20 | x/20 |
|
||||
| cli-40 | x/40 | x/40 |
|
||||
| **TOTAL (8-pack)** | **x/150 (y%)** | **x/150 (y%)** |
|
||||
|
||||
**Optional reasoning/code packs** _(on top of the core 8-pack — kept separate so /150 stays intact)_:
|
||||
|
||||
| Pack | <setting A> | <setting B> |
|
||||
|------|-------------|-------------|
|
||||
| humaneval-plus-30 | x/30 | x/30 |
|
||||
| lcb-v6-30 | x/30 | x/30 |
|
||||
| aider-polyglot-30 | x/30 | x/30 |
|
||||
|
||||
### Takeaways
|
||||
|
||||
- **<headline verdict>** — the single most important finding (bold lead).
|
||||
- <comparison / tradeoff bullet>
|
||||
- <production / stability note>
|
||||
- _tl;dr — one line._
|
||||
```
|
||||
|
||||
## Rules that keep cards comparable
|
||||
|
||||
- **The core 8-pack is exactly `/150`:** `toolcall-15 + instructfollow-15 + structoutput-15 + dataextract-15 + reasonmath-15 + bugfind-15 + hermesagent-20 + cli-40` (75 + 75). **Never fold the optional packs into the 150** — `humaneval-plus-30` / `lcb-v6-30` / `aider-polyglot-30` go in their own table below. (They're 30-sample subsets; compare the A/B **delta**, not absolute % against fuller external runs.)
|
||||
- **Spec-dec is its own column** — MTP / DFlash / ngram / EAGLE / none. Don't rely on the config name to carry it; the same config name can run different spec methods.
|
||||
- **State the n** (warm/measured runs for TPS; `n=` for quality). Don't present a single run as ranked truth — pack noise is ±5–7, so a small total delta is a tie.
|
||||
- **Reproduce the conditions** in the Serving footnote: sampling params, engine image/pin, and `thinking on/off` (benchlocal sends `enable_thinking=false` unless you pass `--enable-thinking`).
|
||||
|
||||
## Posting to a public discussion/issue
|
||||
|
||||
- **No internal paths or secrets** — grep your draft for absolute host paths, model-store paths, and tokens before posting.
|
||||
- **Don't link files that aren't on a public branch** (experimental/untracked composes 404 — describe them in prose, or link the image tag instead).
|
||||
- **Verify every link resolves** (repo paths via `git ls-tree`, image tags via `docker manifest inspect`).
|
||||
|
||||
## Worked example
|
||||
|
||||
The first Results Card — Qwen3.6-27B Q8 on beellama v0.3.0 DFlash, thinking ON-vs-OFF — is [club-3090 discussion #221](https://github.com/noonghunna/club-3090/discussions/221#discussioncomment-17140596).
|
||||
Reference in New Issue
Block a user