fix(tts): prevent runaway GPT-SoVITS filler vowels - #22
Conversation
e589dcf to
7bb99b3
Compare
|
Maintainer self-review complete: no blocking findings. The decoder masks unwritten/alignment slots, writes from the real prompt length, and preserves full conditioning by switching to dynamic KV at bucket exhaustion. The pre-vocoder guard is token-ID independent, retries at most once, and fails closed; Graph capture no longer advances sampling RNG; the first-sentence cache revision prevents reuse of pre-fix audio. Validation on the rebased head in the formal .venv_cu124 environment (Python 3.12.10, Torch 2.5.1+cu124): 59 focused TTS/cache/Graph/guard tests passed, changed-surface Ruff/compile/diff checks passed, provenance passed with 0 errors, and deterministic source-release passed with 0 errors/0 warnings. A fresh physical-GPU paired probe (2 seeds x 4 quick cases x 3 modes = 24 trials, production one-retry guard) completed with 0 anomalies, 0 errors, 100% EOS, and 100% Graph/static and static token parity against dynamic. Required build and cpu-model-less checks are green on head 7bb99b3. Admin merge bypass is used only for the unavailable external approval requirement. |
中文摘要
关联问题:#21。
Summary
Evidence
A fixed 660-trial filler-heavy paired-seed cohort (same physical GPU, model hashes, texts, seeds, and 400-token cap) changed from:
After the KV fix, Graph/static and static/dynamic semantic streams match exactly for 220/220 paired case/seed combinations. The final guard makes the same retry decision in all 220/220 pairs.
For
うーん……正直、まだ完全には分からないわ。at seed 2001:うーん。Normal median T2S latency on the final full matrix is 108.4 ms Graph/static, 300.0 ms static, and 297.8 ms dynamic; Graph remains about 2.75x lower-latency than non-Graph paths.
Validation
50 passedtargeted public TTS/backend regression suitegit diff --checkpassedCloses #21