[https://nvbugs/6546609][fix] Kept the verified reference registration + 4 stale waiver removals; amended… - #17210
Conversation
…V4-Flash-Base TestDeepSeekV4FlashBase::test_fp8_4gpus_static_eplb failed with "ValueError: Not registered specs" from AccuracyTask.get_hypothesis_testing_params: the model name deepseek-ai/DeepSeek-V4-Flash-Base had no entry in gsm8k.yaml, so the reference list was empty. The class's other tests pass is_integration_test=True and never look up a reference, while the shared _run_deepseekv4_eplb helper runs a full 1319-sample GSM8K evaluation that requires one. The instruct DeepSeek-V4-Flash reference (95.11) does not transfer, since this is a pretrained base checkpoint. Measured 90.90 on 4x B200 at TP=4/EP=4 with WIDEEP and static EPLB, and registered that value. This also covers test_fp8_4gpus_online_eplb, which resolves to the same specs. Removes the now-stale waivers for this bug. Signed-off-by: trtllm-agent <296075020+trtllm-agent@users.noreply.github.com>
WalkthroughThe PR adds a GSM8K accuracy reference for ChangesDeepSeek V4 Flash Base validation
Estimated code review effort: 1 (Trivial) | ~2 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tests/integration/defs/accuracy/references/gsm8k.yaml`:
- Around line 148-154: Scope the 90.90 GSM8K reference under
DeepSeek-V4-Flash-Base to the static test configuration by adding the
appropriate EPLB/backend discriminator used by test_fp8_4gpus_static_eplb.
Ensure TestDeepSeekV4FlashBase.test_fp8_4gpus_online_eplb no longer matches this
reference, or add a distinct reference for its configuration.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 2fc8c9ff-b16e-4146-811d-b5d3b26cdb97
📒 Files selected for processing (2)
tests/integration/defs/accuracy/references/gsm8k.yamltests/integration/test_lists/waives.txt
💤 Files with no reviewable changes (1)
- tests/integration/test_lists/waives.txt
| deepseek-ai/DeepSeek-V4-Flash-Base: | ||
| # Base (pretrained, non-instruct) checkpoint, so GSM8K lands well below the | ||
| # instruct DeepSeek-V4-Flash above. Measured on 4x B200 183GB at TP=4/EP=4 | ||
| # via test_fp8_4gpus_static_eplb (WIDEEP, 1319 samples) across three runs: | ||
| # 90.90, 91.02, 91.43; reference records the low end for run-to-run margin. | ||
| - quant_algo: FP8_BLOCK_SCALES | ||
| accuracy: 90.90 |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
rg -n -C 8 'GSM8K\(|_run_deepseekv4_eplb|extra_acc_spec|is_integration_test' \
tests/integration/defs/accuracy || true
rg -n -C 4 'DeepSeek-V4-Flash-Base|test_fp8_4gpus_static_eplb|test_fp8_4gpus_online_eplb' \
tests/integration/test_lists || trueRepository: NVIDIA/TensorRT-LLM
Length of output: 50376
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '== changed files =='
git diff --name-status
printf '%s\n' '== reference and lookup implementation =='
rg -n -C 10 'class AccuracyTask|def get_hypothesis_testing_params|hypothesis_testing|quant_algo|backend|eplb|extra_acc_spec' \
tests/integration/defs/accuracy \
-g '*.py' -g '*.yaml' | head -n 500
printf '%s\n' '== DeepSeek V4 test methods and exact configuration =='
sed -n '3750,3960p' tests/integration/defs/accuracy/test_llm_api_pytorch.py
printf '%s\n' '== model and test-list entries =='
rg -n -C 5 'DeepSeek-V4-Flash-Base|test_fp8_4gpus_static_eplb|test_nvfp4_4gpus_static_eplb|test_nvfp4_4gpus_online_eplb|test_fp8_4gpus_online_eplb' \
tests/integration/test_lists tests/integration/defs/accuracy \
-g '*.yaml' -g '*.yml' -g '*.json' -g '*.py' | head -n 500
printf '%s\n' '== target file header =='
head -n 12 tests/integration/defs/accuracy/references/gsm8k.yamlRepository: NVIDIA/TensorRT-LLM
Length of output: 50375
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '== target reference =='
nl -ba tests/integration/defs/accuracy/references/gsm8k.yaml | sed -n '135,165p'
printf '%s\n' '== matching implementation =='
nl -ba tests/integration/defs/accuracy/accuracy_core.py | sed -n '152,185p;195,232p'
printf '%s\n' '== all DeepSeek V4 declarations and GSM8K calls =='
rg -n 'DeepSeek-V4-Flash-Base|DeepSeek-V4-Flash|GSM8K|def test_.*eplb|_run_deepseekv4_eplb' \
tests/integration/defs/accuracy/test_llm_api_pytorch.py \
tests/integration/test_lists -g '*.py' -g '*.yaml' -g '*.yml' -g '*.json' \
| grep -E 'DeepSeek-V4|GSM8K|eplb|test_' | tail -n 250
printf '%s\n' '== parsed GSM8K entries for the affected model =='
python3 - <<'PY'
import yaml
from pathlib import Path
p = Path("tests/integration/defs/accuracy/references/gsm8k.yaml")
data = yaml.safe_load(p.read_text())
for model, entries in data.items():
if "DeepSeek-V4" in model:
print(model)
for i, entry in enumerate(entries or []):
print(i, entry)
PY
printf '%s\n' '== test-list files containing the affected model or test names =='
for f in $(git ls-files tests/integration/test_lists); do
if rg -q 'DeepSeek-V4-Flash-Base|test_fp8_4gpus_static_eplb|test_nvfp4_4gpus_static_eplb|test_nvfp4_4gpus_online_eplb|test_fp8_4gpus_online_eplb' "$f"; then
echo "--- $f"
rg -n -C 3 'DeepSeek-V4-Flash-Base|test_fp8_4gpus_static_eplb|test_nvfp4_4gpus_static_eplb|test_nvfp4_4gpus_online_eplb|test_fp8_4gpus_online_eplb' "$f"
fi
doneRepository: NVIDIA/TensorRT-LLM
Length of output: 220
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '== target reference =='
sed -n '135,165p' tests/integration/defs/accuracy/references/gsm8k.yaml
printf '%s\n' '== matching implementation =='
sed -n '152,185p;195,232p' tests/integration/defs/accuracy/accuracy_core.py
printf '%s\n' '== all DeepSeek V4 declarations and GSM8K calls =='
rg -n 'DeepSeek-V4-Flash-Base|DeepSeek-V4-Flash|GSM8K|def test_.*eplb|_run_deepseekv4_eplb' \
tests/integration/defs/accuracy/test_llm_api_pytorch.py \
tests/integration/test_lists -g '*.py' -g '*.yaml' -g '*.yml' -g '*.json' \
| grep -E 'DeepSeek-V4|GSM8K|eplb|test_' | tail -n 250
printf '%s\n' '== parsed GSM8K entries for the affected model =='
python3 - <<'PY'
try:
import yaml
except ImportError:
print("PyYAML unavailable")
else:
from pathlib import Path
data = yaml.safe_load(Path("tests/integration/defs/accuracy/references/gsm8k.yaml").read_text())
for model, entries in data.items():
if "DeepSeek-V4" in model:
print(model)
for i, entry in enumerate(entries or []):
print(i, entry)
PY
printf '%s\n' '== test-list files containing the affected model or test names =='
for f in $(git ls-files tests/integration/test_lists); do
if rg -q 'DeepSeek-V4-Flash-Base|test_fp8_4gpus_static_eplb|test_nvfp4_4gpus_static_eplb|test_nvfp4_4gpus_online_eplb|test_fp8_4gpus_online_eplb' "$f"; then
echo "--- $f"
rg -n -C 3 'DeepSeek-V4-Flash-Base|test_fp8_4gpus_static_eplb|test_nvfp4_4gpus_static_eplb|test_nvfp4_4gpus_online_eplb|test_fp8_4gpus_online_eplb' "$f"
fi
doneRepository: NVIDIA/TensorRT-LLM
Length of output: 50375
🏁 Script executed:
#!/usr/bin/env bash
set -euo pipefail
printf '%s\n' '== DeepSeek V4 Flash Base class =='
sed -n '4000,4085p' tests/integration/defs/accuracy/test_llm_api_pytorch.py
printf '%s\n' '== shared runner and configuration fields =='
sed -n '3820,3850p' tests/integration/defs/accuracy/test_llm_api_pytorch.py
sed -n '3880,3930p' tests/integration/defs/accuracy/test_llm_api_pytorch.py
printf '%s\n' '== exact test-list coverage for the affected class =='
rg -n -C 2 'TestDeepSeekV4FlashBase' tests/integration/test_lists
printf '%s\n' '== reference matching probe without repository imports =='
python3 - <<'PY'
from pathlib import Path
text = Path("tests/integration/defs/accuracy/references/gsm8k.yaml").read_text()
start = text.index("deepseek-ai/DeepSeek-V4-Flash-Base:")
end = text.find("\n", text.find("accuracy:", start)) + 1
print(text[start:end])
# The matcher compares only the fields passed by evaluate(); absent fields
# default to None except dtype, which defaults to "auto".
entry = {"quant_algo": "FP8_BLOCK_SCALES", "accuracy": 90.90}
for name, specs in {
"static WIDEEP": {
"dtype": "auto",
"quant_algo": "FP8_BLOCK_SCALES",
"kv_cache_quant_algo": None,
"spec_dec_algo": None,
"extra_acc_spec": None,
},
"online TRTLLM": {
"dtype": "auto",
"quant_algo": "FP8_BLOCK_SCALES",
"kv_cache_quant_algo": None,
"spec_dec_algo": None,
"extra_acc_spec": None,
},
}.items():
matched = all(entry.get(k, "auto" if k == "dtype" else None) == v
for k, v in specs.items())
print(name, "matches =", matched, "selected_accuracy =", entry["accuracy"])
PYRepository: NVIDIA/TensorRT-LLM
Length of output: 11211
Scope the GSM8K reference to the measured configuration.
TestDeepSeekV4FlashBase.test_fp8_4gpus_online_eplb also selects 90.90 because the evaluator passes no EPLB or backend discriminator. Add a discriminator or a separate reference for the online configuration.
Coverage: No test functions changed. The static test is listed in tests/integration/test_lists/qa/llm_function_core.txt; the online test is not listed. Verdict: insufficient.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@tests/integration/defs/accuracy/references/gsm8k.yaml` around lines 148 -
154, Scope the 90.90 GSM8K reference under DeepSeek-V4-Flash-Base to the static
test configuration by adding the appropriate EPLB/backend discriminator used by
test_fp8_4gpus_static_eplb. Ensure
TestDeepSeekV4FlashBase.test_fp8_4gpus_online_eplb no longer matches this
reference, or add a distinct reference for its configuration.
…eference Fold in the fix from the closed PR NVIDIA#17210. The checkpoint was missing from references/gsm8k.yaml, so the spec lookup raised Not registered specs and test_fp8_4gpus_static_eplb ended up waived on all four Blackwell platforms. The three measurements recorded there came from the WIDEEP variant this branch deprecates. A DEEPGEMM run on 4x B300 scored 91.13, inside that spread, which is expected because both backends share the DeepGEMM FP8 block-scale path on SM100/SM103. The four waivers go away now that the reference resolves. Signed-off-by: xxi <xxi@nvidia.com>
…eference Fold in the fix from the closed PR NVIDIA#17210. The checkpoint was missing from references/gsm8k.yaml, so the spec lookup raised Not registered specs and test_fp8_4gpus_static_eplb ended up waived on all four Blackwell platforms. The three measurements recorded there came from the WIDEEP variant this branch deprecates. A DEEPGEMM run on 4x B300 scored 91.13, inside that spread, which is expected because both backends share the DeepGEMM FP8 block-scale path on SM100/SM103. The four waivers go away now that the reference resolves. Signed-off-by: xxi <xxi@nvidia.com>
Summary
deepseek-ai/DeepSeek-V4-Flash-Basewas absent fromreferences/gsm8k.yaml, soself.referencewas empty and the spec lookup fell through its for/else toraise ValueError("Not registered specs").Test plan
Links
Dev Engineer Review
90.90GSM8K reference fordeepseek-ai/DeepSeek-V4-Flash-Base.QA Engineer Review
TestDeepSeekV4FlashBase::test_fp8_4gpus_static_eplb[moe_backend=WIDEEP]waiver entries for B200, B300, GB200, and GB300.Verdict: needs follow-up