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

141 lines
4.6 KiB
YAML
Raw Permalink 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
# Native full-duplex shares this profile with /v1/chat/completions. Every other
# duplex_session knob keeps its runtime default.
session_mode: duplex
# Keep the active window aligned with the session and stage capacities below.
# A smaller window serializes first-packet generation for concurrent chat turns.
active_stream_window: 4
duplex_session:
# Matches Stage 0/1 max_num_seqs below.
max_sessions: 4
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
# Native duplex uses MiniCPMTTS.generate_with_buffer's supported
# sliding_recompute policy: retain one completed condition/codec chunk
# when the next condition arrives. Other deploy profiles continue to use
# the checkpoint's full_attention policy.
hf_overrides:
tts_config:
attention_type: sliding_recompute
# 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).
# Values track upstream utils.TTSSamplingParams (min_p/win_size/tau_r are
# declared there but never read, so they stay out). repetition_penalty is
# consumed by the Talker, which rescores it over upstream's 16-frame window
# instead of the Sampler's whole-stream presence penalty.
# min_tokens is upstream's min_new_token.
default_sampling_params:
temperature: 0.8
top_p: 0.85
top_k: 25
repetition_penalty: 1.05
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