Repository navigation
feat(serving): speedbench scenario family (SPEED-Bench acceptance length) - #45
Conversation
…gth) Port of the SPEED-Bench collectors to the serving architecture: one request per row of the fully resolved Green-Lab/speed-bench-prepared files (pinned per config in the dataset lock), first turn only as the aiperf/vLLM loaders send it, golden-matrix sampling defaults, thinking switch via chat_template_kwargs. Shares specdec (spec_decode block), arms: and the summary speedup column with greenspec; the data is public, so greenspec's upload guard is not applied.
…at/speedbench-refactor
…style (ruff excludes tests)
|
Thanks for the contribution!
中文感谢你的贡献!
|
|
Generally most InferenceX submissions don't need to add changes to the infx package. On the off chance they do, generally the diff is small. Please prompt your agent to clean your PR to keep your diff to only necessary & minimal changes too. We have an increased code quality bar for changes to the infx package. 中文大多数 InferenceX 提交通常不需要修改 infx 包。即使确实需要,改动通常也很小。请让你的 agent 清理 PR,使改动只包含必要且最小的内容。infx 包的改动有更高的代码质量要求。 |
|
Ready for review. SpeedBench adds a Verified: smoke on rtx6000pro-hcm (run 40992115048), base + mtp6, 20/20 requests each, MTP6 acceptance length 4.94. Lint and Tests are green. Hi @thangquang09, please review. Make no mistake :D |
|
Approve with changes — code, tests (266 pass at head), ruff and smoke runs all check out. Two doc fixes before merge:
Suggestion: both misses are hand-copied facts drifting. Add Minor: consider dropping |
Resolve lock.yaml (greenspec-v1.1.1 + speedbench entries) and test_datasets.py. Review fixes: lock entries carry private: true and runner-setup keys off it, serving-bench lists the speedbench scenario and variants, drop the test that pins lock.yaml contents.
|
Thanks @thangquang09. Addressed in c8135ba, merged with the latest
Local: 272 tests pass, ruff check and format clean. The runner-setup rule is not enforced by any check; it is only reworded. 🤖 Generated with Claude Code |
|
Confirmed mergeable after #43 merges (your branch is one commit behind |
Pick up the greenspec v1.1.1 pin, the SGLang 0.0-gauge fix and the lock private flag (e5ba0c2) merged via #43. Conflicts resolved: lock.yaml keeps the six speedbench entries beside greenspec-v1.1.1, runner-setup SKILL.md keeps the wording that names both scenarios. 274 serving tests pass, ruff clean.
Stacked on #43 (base
feat/greenspec-refactor); once #43 merges the base moves torefactor/vng-benchmarkand the diff stays the same.What
New serving scenario family
speedbench: SPEED-Bench prompts replayed through AgentX/aiperf asraw_payloadrequest bodies, one request per dataset row (no duration, noignore_eos). Spec-decode acceptance length comes from the samespec_decodeblock GreenSpec uses;arms:(base vs MTP) and the summary speedup column work unchanged.infx/serving/speedbench.py: selection (config,category,requests), sampling (max_tokens4096,temperature1.0,top_p0.95 as in the golden-AL collectors),chat_template_kwargsfor the thinking switch, request payloads. Only the first turn of a row is sent, as the aiperf/vLLM loaders do.client.py:prepare/runtake either family throughselection_family(). The leak guard and filtered console stay GreenSpec-only; SpeedBench data is public, nothing is filtered.speedbench-qualitative,speedbench-throughput-{1k,2k,8k,16k,32k}), pinned revision + sha256. They point atGreen-Lab/speed-bench-prepared(private copy with every row resolved;nvidia/SPEED-Benchmasks ~60% of the qualitative rows). NeedsGREENLAB_HF_TOKEN, already passed by feat(serving): greenspec scenario, spec-decode acceptance, arms, run summary #43.configs/serving/gemma4-speedbench-qualitative.yamlexample, ARCHITECTURE.md section, tests.Verified
rtx6000pro-hcm(run 40992115048, commit 657bb36): Gemma-4-31B FP8, base + mtp6, 20codingrequests, conc 1. Both arms 20/20; MTP6 acceptance length 4.94, accept rate 65.7%; summary table shows the speedup column. The dataset was read with the runner token and matched its sha256.ruff check/ruff format --checkoninferencex-e2e/infxclean; 265 serving tests pass.Not verified
temperature,top_p,enable_thinking=false) in the live run: aiperf artifacts do not keep the request body. Covered by unit tests only.codeowners,git,srtctlmissing from my venv); CI runs them.