Files
vllm-omni/vllm_omni/deploy/qwen3_tts_fused_single_gpu.yaml
T

55 lines
2.3 KiB
YAML

# Single-stage Qwen3-TTS: the Talker decodes every frame with the stateful
# streaming codec decoder and returns PCM itself (no Code2Wav stage).
# reset_prefix_cache(reset_running_requests=True) returns False while requests
# are running; wait for completion or abort them before resetting the cache.
pipeline: qwen3_tts_fused
model_runner: v2
async_chunk: true
stages:
- stage_id: 0
devices: "0"
max_num_seqs: 128
# Exact conditioned Talker inputs for preemption replay are allocated
# after KV profiling: 16 MiB per active request at 1.7B/max_model_len=4096
# (~2 GiB at 128 requests), in addition to codec state and output buffers.
# Keep headroom when increasing gpu_memory_utilization or capacity.
gpu_memory_utilization: 0.5
trust_remote_code: true
enable_prefix_caching: false
# Model options that multi-stage deployments put on the connector: a
# single stage has no connector edge.
additional_config:
talker_stream_decode: true
# Opt in to first-frame delivery on its own queue for lower first-audio
# latency; leave disabled when prioritizing peak throughput.
talker_stream_first_audio: false
# Match the standard two-stage profile's voice-clone context boundary.
# A shorter context (e.g. 25) can change timbre continuity.
ref_code_context_frames: 72
code_predictor_kv_cache: true
code_predictor_fused_sampling: true
code_predictor_fused: true
# Talker decode contexts are short (~100-700 tokens): FA3 split-KV plus
# its combine kernel costs more than one pass per head.
attention_config:
flash_attn_max_num_splits_for_cuda_graph: 1
async_scheduling: true
max_num_batched_tokens: 512
max_model_len: 4096
compilation_config:
cudagraph_mode: FULL
cudagraph_capture_sizes: [1, 2, 4, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104, 112, 120, 128, 144, 160, 176, 192, 208, 224, 240, 256, 272, 288, 304, 320, 336, 352, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512]
max_cudagraph_capture_size: 512
default_sampling_params:
temperature: 0.9
top_k: 50
max_tokens: 4096
min_tokens: 2
repetition_penalty: 1.05
subtalker_sampling_params:
do_sample: true
temperature: 0.9
top_k: 50
top_p: 1.0