Repository navigation
[Bugfix] Restore MiniCPM duplex Seed-TTS startup - #8152
Conversation
Mark nonempty initial user text as pending input when preparing a native duplex session. Preserve the accepted-terminator guard introduced by vllm-project#7974 and the existing input-consumption lifecycle. Add regression coverage for seeded and empty input, explicit forced listening, and silence after completion. Signed-off-by: Nolen Liang <nliang@nvidia.com> Signed-off-by: bcsdhjew <nliang@nvidia.com>
be3075e to
b59d9ac
Compare
|
This PR appears to belong to: docs/design/module/model_integration.md, docs/design/module/ar_runtime.md. Module owners: @tzhouam @fake0fan @Gaohan123 Routing: @tzhouam via module of the changed files, CODEOWNERS; @fake0fan via module of the changed files; @Gaohan123 via module of the changed files @NolenLiang, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer. Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment. |
Omni ReviewBot triage noteAutomated triage of commit
These are automated triage suggestions only — the final decision belongs to the maintainers. |
|
Self review: Passed multiple repeated experiments, minimal fix is done. |
Signed-off-by: Nolen Liang <nliang@nvidia.com> Signed-off-by: bcsdhjew <nliang@nvidia.com> Signed-off-by: nagisa-kun <1434936049@qq.com>
Purpose
Fixes #8138. Since #7974, native duplex Seed-TTS can remain listening without starting its first response. Mark nonempty initial text as pending input during session initialization; existing generation logic consumes it while preserving forced listening and post-response silence.
Keep #7974's discarded-lookahead guard. Source inspection and synthetic-logits replay indicate that earlier discarded sampling could clear
current_turn_ended, masking the missing seed initialization. No historical GPU token/state trace was captured.Test Plan
vLLM Version: 0.30.0.
vLLM-Omni Commit:
6fb2b36before/after the patch;b308e19+ patch; pristine controlsd486bf0and7a8d956.One GB200;
openbmb/MiniCPM-o-4_5at503e754,zhaochenyang20/seed-tts-evalat8f5e1aa. Retain the original deployment, four English targets, two warmups, assertions and timeouts; model/dataset paths point to local copies. CI uses H100. Benchmark command from CI, followed by focused checks:Test Result
d486bf0passes; its child7a8d956and issue revision6fb2b36fail in both warmups and the measured request.6fb2b36+ patch completes 1/1 request and four audio targets.b308e19. Coverage includes empty/missing text, forced listening and post-response silence. Changed-file pre-commit checks pass with the repository-pinned tools.test_duplex_seeded_text_to_text_needs_no_reference_voicecase was also run in isolation:d486bf07a8d956response.doneb308e19+ patchThe controlled comparisons use the same GPU, runtime, model and inputs; comparability checks pass. This confirms the text-only regression at #7974, but the patch leaves it unresolved. Its remaining internal cause is not isolated. The demonstrated repair is Seed-TTS startup, not the entire Duplex Test step or #8123.
Nightly 16046 already passed Seed-TTS on vLLM 0.30.0 before #7974; merge build 16048 used the same version and failed all five seeded cases. This boundary is reproduced locally above.
AI assistance: Codex assisted with testing and drafting; Claude performed an independent review.