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

120 lines
3.5 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MiniCPM-o 4.5 three-stage deploy on one large-memory GPU.
pipeline: minicpmo_4_5
async_chunk: true
trust_remote_code: true
enable_prefix_caching: false
connectors:
connector_of_shared_memory:
name: SharedMemoryConnector
extra:
connector_get_sleep_s: 0.01
connector_get_max_wait_first_chunk: 3000
connector_get_max_wait: 300
codec_chunk_frames: 25
codec_left_context_frames: 3
# HiFT capture buckets are derived from codec_chunk_frames and
# codec_left_context_frames. (#5869)
# A future initial_codec_chunk_frames shape will use lazy capture unless
# HiFTGraphWrapper.derive_capture_bucket_size explicitly includes it.
enable_hift_graph: true
enable_cfm_graph: true
cfm_max_graphs: 32
stages:
- stage_id: 0
max_num_seqs: 4
# Leave headroom on the shared GPU for Talker KV + concurrent Code2Wav.
gpu_memory_utilization: 0.55
enforce_eager: false
tensor_parallel_size: 1
max_num_batched_tokens: 16384
devices: "0"
# Required for MiniCPM interleaved image/audio Daily-Omni packs (~78% recipe).
# Keep these in YAML so they are applied through --deploy-config.
interleave_mm_strings: true
media_io_kwargs:
video:
fps: 1
num_frames: 128
limit_mm_per_prompt:
# Daily-Omni MiniCPM pack: up to 64 interleaved image/audio pairs (1fps).
image: 64
audio: 64
video: 1
default_sampling_params:
temperature: 0.0
top_p: 1.0
top_k: -1
max_tokens: 2048
seed: 42
detokenize: true
# 1.0 for MCQ accuracy; 1.1 can bias short A–D answers.
repetition_penalty: 1.0
- stage_id: 1
max_num_seqs: 4
# Leave device-level headroom for the colocated HiFi-GAN cuDNN workspace.
gpu_memory_utilization: 0.15
enforce_eager: false
max_num_batched_tokens: 8192
# Talker context is 4096 (tts_config.max_position_embeddings).
max_model_len: 4096
devices: "0"
output_connectors:
to_stage_2: connector_of_shared_memory
# Talker is a single-vocab codec LM. These knobs go to vLLM's Sampler
# (head_code logits). EOS is tts_config.eos_token_id (num_audio_tokens-1).
default_sampling_params:
temperature: 0.8
top_p: 0.8
top_k: 100
repetition_penalty: 1.02
min_tokens: 50
max_tokens: 4096
seed: 42
detokenize: false
- stage_id: 2
max_num_seqs: 4
gpu_memory_utilization: 0.18
enforce_eager: true
enable_chunked_prefill: false
max_num_batched_tokens: 65536
max_model_len: 65536
devices: "0"
input_connectors:
from_stage_1: connector_of_shared_memory
default_sampling_params:
temperature: 0.0
top_p: 1.0
top_k: -1
max_tokens: 65536
detokenize: true
platforms:
cuda:
stages:
- stage_id: 1
# Four Talker streams need much less KV than automatic sizing.
# Leave single-GPU headroom for concurrent Stage 2 diffusion batches.
kv_cache_memory_bytes: 2147483648 # 2 GiB
npu:
stages:
- stage_id: 0
max_num_batched_tokens: 8192
compilation_config:
cudagraph_mode: PIECEWISE
- stage_id: 1
max_num_batched_tokens: 8192
compilation_config:
cudagraph_mode: PIECEWISE
- stage_id: 2
# Stage 2 stays outer-eager and captures only exact-shape CFM DiT
# estimator kernels through the NPU platform patch.
additional_config:
code2wav_enable_npu_graph: true
code2wav_max_npu_graphs: 32