Skip to content

Commit a726781

Browse files
committed
test: adapt real-quant assertions and refit diagnostics to vllm 0.25
- the real-quant test scripts assert on the engine log's quantization= tag, which on vLLM 0.25 prints the registered NeMo config name (e.g. nemo_modelopt_w4a16_nvfp4) instead of modelopt; accept both (the w4a16-real GB200 run trained and produced healthy metrics but failed only this grep) - log the full traceback when an IPC weight batch load fails: the refit manifest only records the exception message, which for bare assertions (e.g. 'AssertionError: ') leaves nothing to diagnose in CI logs Signed-off-by: Terry Kong <terryk@nvidia.com>
1 parent 3b667dd commit a726781

5 files changed

Lines changed: 8 additions & 4 deletions

nemo_rl/models/generation/vllm/vllm_backend.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -656,6 +656,10 @@ def update_weights_via_ipc_zmq(self) -> bool:
656656
self._load_weights(weights)
657657
except Exception as error:
658658
batch_error = error
659+
# The manifest only keeps the exception message; log
660+
# the full traceback so loader failures stay
661+
# diagnosable from worker logs.
662+
logger.exception("IPC weight batch load failed")
659663
finally:
660664
# Synchronize before releasing or ACKing an IPC allocation,
661665
# including when a loader failed after scheduling CUDA work.

tests/test_suites/llm/grpo-nanov3-30ba3b-4n4g-megatron-qa-nvfp4-w4a16-real.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ uv run --no-sync tests/json_dump_tb_logs.py "$LOG_DIR" --output_path "$JSON_METR
3838

3939
grep -q "VllmQuantInternalWorkerExtension" "$RUN_LOG"
4040
grep -q "Detected ModelOpt NVFP4 checkpoint" "$RUN_LOG"
41-
grep -q "quantization=modelopt" "$RUN_LOG"
41+
grep -qE "quantization=(nemo_)?modelopt" "$RUN_LOG" # vLLM 0.25 logs the registered NeMo quant name (e.g. nemo_modelopt_w4a16_nvfp4)
4242
assert_not_grep "FakeQuantWorker" "$RUN_LOG" \
4343
"Real-quant run unexpectedly used FakeQuantWorker"
4444
assert_not_grep "VLLM_QUANT_CFG" "$RUN_LOG" \

tests/test_suites/llm/grpo-nemotron3-super-120BA12B-16n4g-megatron-qa-nvfp4-w4a16-real-300step.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ uv run --no-sync tests/json_dump_tb_logs.py "$LOG_DIR" --output_path "$JSON_METR
4040
# Real-quant rollout must go through the ModelOpt NVFP4 vLLM kernel path.
4141
grep -q "VllmQuantInternalWorkerExtension" "$RUN_LOG"
4242
grep -q "Detected ModelOpt NVFP4 checkpoint" "$RUN_LOG"
43-
grep -q "quantization=modelopt" "$RUN_LOG"
43+
grep -qE "quantization=(nemo_)?modelopt" "$RUN_LOG" # vLLM 0.25 logs the registered NeMo quant name (e.g. nemo_modelopt_w4a16_nvfp4)
4444
grep -q "nvfp4_experts_weightonly.yaml" "$RUN_LOG"
4545
assert_not_grep "FakeQuantWorker" "$RUN_LOG" \
4646
"Real-quant run unexpectedly used FakeQuantWorker"

tests/test_suites/llm/grpo-nemotron3-super-120BA12B-16n4g-megatron-qa-nvfp4-w4a4-real-300step.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ uv run --no-sync tests/json_dump_tb_logs.py "$LOG_DIR" --output_path "$JSON_METR
4040
# Real-quant rollout must go through the ModelOpt NVFP4 vLLM kernel path.
4141
grep -q "VllmQuantInternalWorkerExtension" "$RUN_LOG"
4242
grep -q "Detected ModelOpt NVFP4 checkpoint" "$RUN_LOG"
43-
grep -q "quantization=modelopt" "$RUN_LOG"
43+
grep -qE "quantization=(nemo_)?modelopt" "$RUN_LOG" # vLLM 0.25 logs the registered NeMo quant name (e.g. nemo_modelopt_w4a16_nvfp4)
4444
grep -q "examples/modelopt/quant_configs/nvfp4_experts.yaml" "$RUN_LOG"
4545
assert_not_grep "FakeQuantWorker" "$RUN_LOG" \
4646
"Real-quant run unexpectedly used FakeQuantWorker"

tests/test_suites/llm/grpo-qwen3-30ba3b-4n4g-megatron-qa-nvfp4-w4a4-real.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ uv run --no-sync tests/json_dump_tb_logs.py "$LOG_DIR" --output_path "$JSON_METR
4040

4141
grep -q "VllmQuantInternalWorkerExtension" "$RUN_LOG"
4242
grep -q "Detected ModelOpt NVFP4 checkpoint" "$RUN_LOG"
43-
grep -q "quantization=modelopt" "$RUN_LOG"
43+
grep -qE "quantization=(nemo_)?modelopt" "$RUN_LOG" # vLLM 0.25 logs the registered NeMo quant name (e.g. nemo_modelopt_w4a16_nvfp4)
4444
assert_not_grep "FakeQuantWorker" "$RUN_LOG" \
4545
"Real-quant run unexpectedly used FakeQuantWorker"
4646
assert_not_grep "VLLM_QUANT_CFG" "$RUN_LOG" \

0 commit comments

Comments
 (0)