[perf] Minicpm o4.5 optimization (#5228)
Signed-off-by: R2-Y <ruiruyang2@gmail.com> Co-authored-by: Sy03 <1370724210@qq.com>
This commit is contained in:
1 parent
acf941da4d
commit
ad3a162eb8
54 files changed
+3861
-3997
No files matched your search
@@ -4,10 +4,8 @@
|
||||
# thinker weights take ~17.5 GB per card
|
||||
# on 4090, leaving ~3 GB for KV cache /
|
||||
# activations).
|
||||
# Stage 1 (talker) : GPU 4 — MiniCPMTTS + Token2Wav, ~90% mem
|
||||
# (covers both the talker LM and the
|
||||
# in-process Token2Wav vocoder that emits
|
||||
# the waveform).
|
||||
# Stage 1 (talker) : GPU 4 — MiniCPMTTS codec generation, ~90% mem.
|
||||
# Stage 2 (code2wav): GPU 5 — codec-to-waveform generation, ~90% mem.
|
||||
#
|
||||
# max_model_len is pinned to 4096 because the upstream config.json
|
||||
# advertises max_position_embeddings=40960 (tuned for H20 141GB); on a
|
||||
@@ -16,11 +14,21 @@
|
||||
# this thinker model + vision/audio encoders + Whisper preallocation,
|
||||
# so 4096 is the empirically-verified safe ceiling.
|
||||
pipeline: minicpmo_4_5
|
||||
async_chunk: false
|
||||
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
|
||||
|
||||
stages:
|
||||
- stage_id: 0
|
||||
max_num_seqs: 1
|
||||
@@ -42,19 +50,40 @@ stages:
|
||||
repetition_penalty: 1.1
|
||||
|
||||
- stage_id: 1
|
||||
# Talker only consumes runtime_additional_information[0]; any value > 1
|
||||
# makes concurrent requests share request-0's audio (mm_outputs fallback).
|
||||
max_num_seqs: 1
|
||||
gpu_memory_utilization: 0.9
|
||||
enforce_eager: true
|
||||
max_num_batched_tokens: 8192
|
||||
devices: "4"
|
||||
output_connectors:
|
||||
to_stage_2: connector_of_shared_memory
|
||||
# vLLM samples the binary continue/stop row; codec sampling comes from
|
||||
# the checkpoint's tts_config and currently uses a deterministic seed.
|
||||
default_sampling_params:
|
||||
temperature: 0.0
|
||||
top_p: 1.0
|
||||
top_k: -1
|
||||
max_tokens: 1
|
||||
min_tokens: 50
|
||||
max_tokens: 2048
|
||||
stop_token_ids: [1]
|
||||
seed: 42
|
||||
detokenize: false
|
||||
|
||||
- stage_id: 2
|
||||
max_num_seqs: 1
|
||||
gpu_memory_utilization: 0.9
|
||||
enforce_eager: true
|
||||
enable_chunked_prefill: false
|
||||
max_num_batched_tokens: 65536
|
||||
max_model_len: 65536
|
||||
devices: "5"
|
||||
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: {}
|
||||
Reference in new issue
Block a user