Repository navigation
[CI] Refresh Voxtral-4B-TTS perf baselines from a clean window - #6032
Merged
Gaohan123 merged 3 commits intoAug 15, 2026
Merged
Conversation
The eight Voxtral H100 baselines in tests/dfx/perf/tests/test_tts.json were set in vllm-project#5231 as the plain mean of the seven nightlies 2026-07-05..07-11. Three of those nights fall inside a nine-night window (nightlies 06-29..07-07) when Voxtral emitted unrelated, over-long audio: vllm-project#4527 moved the inter-stage codec feedback under codes.audio while tts_preprocess still read top-level audio, so decode lost its previous audio-code embeddings. vllm-project#4954 fixed that and closed vllm-project#4949. mean_audio_duration_s on the stress cell reads 5.05-5.16 s before the window, 7.35-7.47 s inside it, and 5.13 s again from the first nightly after the fix. The anomaly is Voxtral-only; Qwen3-TTS, VoxCPM2 and Higgs are flat across the same window. Because the stress cell is rate-pinned, audio_throughput is essentially request_rate x mean_audio_duration, so the inflated duration inflated the baseline directly. The resulting 11.7605 target sits above the arithmetic ceiling of that configuration: 100 prompts at 2.0 req/s span 49.5 s, so at the correct 5.138 s/prompt the ceiling is 10.380 even against an infinitely fast server. Measured values have been 9.64-10.47 on all 31 nightlies since the fix landed, so the check reported a regression on every one of them. Refresh all eight baselines to the plain mean of those 31 clean nightlies (2026-07-08..08-09), the same estimator used in vllm-project#5231 and vllm-project#5774. Metadata only; no runtime code changes. Closes vllm-project#5967 Signed-off-by: Yueqian Lin <linyueqian@outlook.com>
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
3 of 4 tasks
Gaohan123
enabled auto-merge (squash)
August 15, 2026 11:30
khairulkabir1661
pushed a commit
to khairulkabir1661/vllm-omni
that referenced
this pull request
Sep 25, 2026
…project#6032) Signed-off-by: Yueqian Lin <linyueqian@outlook.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.
Summary
Nightly CI has reported a Voxtral-4B-TTS perf regression on H100 (#5967):
audio_throughput-12.20% andmedian_audio_rtf-6.74%. It is not a regression. The baselines it compares against were averaged over a window that includes three nights when Voxtral output was broken, and the resultingaudio_throughputtarget is unreachable by construction.This refreshes all eight Voxtral H100 baselines in
tests/dfx/perf/tests/test_tts.jsonto the plain mean of the 31 clean nightlies (2026-07-08 .. 2026-08-09). Metadata only, no runtime code changes.Why the current baselines are wrong
#5231 set them as the plain mean of the seven nightlies 2026-07-05..07-11. All eight values reproduce exactly as that mean. Three of those nights sit inside a nine-night window when Voxtral emitted unrelated, over-long audio:
codes.audiowhiletts_preprocessstill read top-levelaudio, so decode lost its previous audio-code embeddings.voxtral_tts.pynames [Core] Performance fix for orchestrator bottleneck: separates inter-stage from client outputs #4527.mean_audio_duration_s, stress cell (request_rate=2.0,n=100):Boundary nightlies map to
1b318d11d..c45ac74d4(contains #4527) and7ab50965e..267b49b88(heads with #4954). The anomaly is Voxtral-only: Qwen3-TTS Base/CustomVoice, VoxCPM2 and Higgsmean_audio_duration_sare flat across the same window.The stress baseline is unreachable, not merely unobserved
100 prompts at
request_rate=2.0means 99 inter-arrival gaps, so the arrival span alone is 49.5 s and wall clock cannot be shorter (observed 50.63-50.96 s). At the correct 5.138 s/prompt,audio_throughputis capped at100 x 5.138 / 49.5 = 10.380even against an infinitely fast server. Hitting 11.7605 requires 5.821 s/prompt at that bound; the largest per-prompt mean in 31 clean nights is 5.333 s, and only the #4527 window reaches 7.47 s.Clean-window statistics (31 nightlies):
audio_throughputmedian_audio_rtfThe flagged night is one of the better ones on record.
Before / after
Recomputing the pass/fail verdict for every clean nightly against the same measured values, old baselines vs new:
audio_throughputmedian_audio_rtfThe stress-cell check fired on every single clean night. Note this is not "loosen until green": 12 pairs still flag at 10% after the change, mostly
c=8 median_audio_ttfp_ms(6/31, the one genuinely noisy cell at 10.2% CV), so real outlier nights stay detectable.New baselines
Plain mean over the clean window, the estimator used in #5231 and #5774. Medians differ by at most 2.5%, so the choice is not load-bearing.
Testing
Ran the CI harness against the patched spec on 1x H20 (voxtral entry only):
H100bucket resolved to the per-sweep scalaris_hardware_nested_baselineandresolve_baseline_for_sweep(raw, sweep_index=0)return the patched scalars for all three cellsH20 independently corroborates the ceiling: the stress cell measured
mean_audio_duration_s = 5.384withaudio_throughput = 10.576, and2.0 x 5.384 = 10.77. Absolute throughput on H20 is not comparable to an H100 baseline, so those numbers are reported for completeness only; the H100 baselines come from the archived nightlies.Live audio length is 4.9-5.4 s/prompt across both runs, matching the clean regime and never the 7.37 s the old baseline was built from.
Follow-ups, not in this PR
test_tts.json. The [Core] Performance fix for orchestrator bottleneck: separates inter-stage from client outputs #4527 breakage produced unrelated speech for nine nights and the perf dashboard read it as an improvement; only the weekly transcript check ([Bug]: Weekly CI, voxtral_tts, output audio doesn't match input #4949) caught it. A WER cell would have flagged it on night one.mean_audio_rtf) is the same class of duration-normalized metric, and its per-nightmean_audio_duration_sis visibly bimodal in the same raw data. Worth the same clean-window check before treating it as a slowdown.--assert-baselinecomparison fromassert_resultinrun_benchmark.py, so the in-repo test no longer has any perf-comparison logic. It only ever printed rather than failed, but the flag is now referenced nowhere.Closes #5967