feat(benchmark): add family-local qualification - #1204
Draft
chaofengw-nv wants to merge 12 commits into
Draft
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
Restore Accuracy and Performance orchestration after the family isolation cutover without introducing a central model registry. Discover optional model-owned configurations, resolve shared benchmark definitions by a plain name, execute each case through a family process boundary, and emit resumable JSON and HTML reports. Add GPT-2 MMLU continuation parity as the first migrated Accuracy workload. Keep model reference and gate settings in the family, device assignment in high-level run configuration, and package the qualification CLI, shared definitions, and family executors. Refs: NVIDIA#1093 Signed-off-by: chaofengw <chaofengw@nvidia.com>
chaofengw-nv
force-pushed
the
feat/family-local-accuracy
branch
from
September 8, 2026 08:44
e2b05e3 to
2969ba8
Compare
Keep the configured reference interpreter path when launching Accuracy references. Resolving a virtual-environment symlink selected the system interpreter and hid its Torch and Transformers dependencies. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Build the GPT-2 125M test bundle for its full 1024-token position capacity so the retained MMLU five-shot workload can run 960 prompt tokens plus 64 generated tokens. Cover the relationship between family-owned Accuracy settings and the model manifest. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Discover a GPT-2 generation performance case beside its Accuracy configuration and execute it through the family-owned process boundary. Report raw latency samples, reduced latency and throughput metrics, measurement policy, runtime environment, and benchmark artifacts without embedding a device-specific pass threshold in the model. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Require Accuracy reports to identify the converted TensorRT bundle used against the Hugging Face reference. Run GPT-2 Performance against the existing Hugging Face torch.compile baseline, reject output mismatches, and report both measurements plus their p50 ratio. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Default to a common Python environment and discover optional family-owned preparation. Preserve interpreter selection through build and reference subprocesses, freeze prepared inputs, and validate receipts before resume. Keep the GPT-2 compiled reference family-local, restore paired measurement stability checks, and report device-run targets separately from model validation. Document the historical benchmark migration scope. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Keep the qualification usage guide in the PR without the design document or its README link. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Own executor and preparation process groups so timeout and cancellation stop descendants. Freeze Accuracy samples before building, keep GPT-2 stability family-local, and preserve inconclusive results across the process boundary. Replace source and artifact content hashes with run-local IDs, explicit revision evidence, and local file-state checks. Add lifecycle, snapshot, reporting, and reverse-dependency regression coverage without changing model acceptance criteria. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Restore ETTh1 conversion parity and add compiled PyTorch-versus-TensorRT performance coverage. Resolve the family-pinned build and reference environment locally so Transformers 4.57.6 does not alter the shared Python environment. Signed-off-by: chaofengw <chaofengw@nvidia.com>
A nested venv does not inherit packages from a parent venv even with system-site-packages, which leaves CUDA PyTorch unavailable. Add the common purelib as the base layer while keeping family-installed packages first, and expose the verification failure when preparation remains incompatible. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Chronos patch padding exposes symbolic modulo and division expressions that PyTorch Inductor cannot split for the 12-value Performance input when dynamic shapes are enabled. Compile the fixed benchmark workload with static shape specialization and require the report evidence to record that choice. Signed-off-by: chaofengw <chaofengw@nvidia.com>
Chronos-Bolt's compiled PyTorch reference can fail compilation, output parity, or stability even when the eager official model remains a valid baseline. Prefer torch.compile, retain its failure evidence, and select eager timing only after it passes the same workload, device, parity, and stability checks. Error only when neither mode produces a valid comparison. Signed-off-by: chaofengw <chaofengw@nvidia.com>
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.
Background
PR #1093 isolated model families but removed the centralized Accuracy path. This draft restores family-local Accuracy and Performance qualification, including HF conversion comparisons, without a central model registry or device policy in model configuration.
Exit Criteria
Implementation
trtmc-qualify plan/prepare/run/resume/report, reusable suite definitions, family executors, and JSON/HTML reports. All preparation precedes measurement.prepare_environment.pyscripts and propagate selected build/reference interpreters. GPT-2 can provision a private CUDA reference without changing the common build environment.Change categories
Validation
Commands and Results
On
230f9d11410183d26c71cd135956980d48899728:PYTHONPATH=core/builder:apps/benchmark:. python3 -m pytest -q apps/benchmark/trtmc_benchmark/tests/test_qualification.py apps/benchmark/trtmc_benchmark/tests/test_qualification_process.py families/gpt2/tests/qualification/test_executor.py families/gpt2/tests/qualification/test_measurement_stability.py families/gpt2/tests/test_e2e.py tools/tests/test_new_ci.py apps/benchmark/trtmc_benchmark/tests/test_perf_matrix.py: 129 passed, 3 GPU-dependent tests skipped.CI_BASE_REF=aefbd09639f2bf036130719554a0df1f80580f94 PYTHONPATH=core/builder:apps/benchmark:. python3 -m tools.community_ci source-quality --base aefbd09639f2bf036130719554a0df1f80580f94: passed, including 125 tests, architecture/family validation, lint, and complexity checks.git diff --check aefbd09639f2bf036130719554a0df1f80580f94...HEAD: passed.Hardware, Environment, and Revisions
230f9d11410183d26c71cd135956980d48899728; clean source checkout, Linux x86_64, Python 3.12.3. This revision's recorded checks are CPU/source checks, not GPU or premerge qualification.ce7a13336309a6ae02bb58f544deda7937af3f50: GPT-2 continuation parity passed and compiled-HF Performance produced a valid stable comparison. That evidence does not validate this new revision.607a30d783dfa663caf39e06633721c8d4cfcd7e, FP32, Torch 2.14.0+cu130, Transformers 5.2.0, and the retained MMLU five-shot continuation dataset. Continuation parity is not an MMLU answer score.Not Run / Remaining Gaps
Notes For Future Readers
apps/benchmark/qualification/README.md, then the process/environment boundary, GPT-2 executor, and packaging. No Design document is included.Risk level
This adds process lifecycle management, environment provisioning, and resumable artifact handling to a shared application. CPU regressions cover the reported failure modes, but package and current-head GPU/protected qualification are still outstanding.