From b4cc0d6da6b0efb9a081f3960e7ab91ddb9a5758 Mon Sep 17 00:00:00 2001 From: amy-why-3459 Date: Wed, 12 Aug 2026 15:21:50 +0800 Subject: [PATCH] [CI][MiniCPM-o] Add MiniCPM-o 4.5 perf coverage to the ready gate (#6092) Signed-off-by: amy-why-3459 --- .buildkite/cuda/test-ready.yml | 15 ++++ .buildkite/npu/test-npu-ready.yml | 9 +++ .../perf/tests/test_minicpmo_4_5_ready.json | 80 +++++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 tests/dfx/perf/tests/test_minicpmo_4_5_ready.json diff --git a/.buildkite/cuda/test-ready.yml b/.buildkite/cuda/test-ready.yml index 74317dc6a..2c17957bc 100644 --- a/.buildkite/cuda/test-ready.yml +++ b/.buildkite/cuda/test-ready.yml @@ -158,6 +158,21 @@ steps: " mirror_hardwares: h100_1 + - label: "Omni · MiniCPM-o 4.5 Perf Test" + timeout_in_minutes: 60 + source_file_dependencies: + - tests/dfx/perf/tests/test_minicpmo_4_5_ready.json + - vllm_omni/deploy/minicpmo_4_5.yaml + - vllm_omni/model_executor/models/minicpmo_4_5/ + - vllm_omni/model_executor/models/step_audio2/ + - vllm_omni/model_executor/models/cosyvoice3/code2wav_core/ + - vllm_omni/model_executor/models/cosyvoice3/utils.py + - vllm_omni/model_executor/stage_input_processors/minicpmo_4_5_omni.py + commands: + - export BENCHMARK_DIR=tests/dfx/perf/results + - pytest -s -v tests/dfx/perf/scripts/run_benchmark.py --test-config-file tests/dfx/perf/tests/test_minicpmo_4_5_ready.json -m 'core_model and cuda' + mirror_hardwares: h100_1 + # - label: "TTS · VoxCPM2 Test" # source_file_dependencies: # - tests/e2e/online_serving/test_voxcpm2_tts.py diff --git a/.buildkite/npu/test-npu-ready.yml b/.buildkite/npu/test-npu-ready.yml index 53d4075b9..50e85a3fa 100644 --- a/.buildkite/npu/test-npu-ready.yml +++ b/.buildkite/npu/test-npu-ready.yml @@ -19,6 +19,15 @@ steps: HF_TOKEN: "${HF_TOKEN}" commands: - pytest -s -v tests/e2e/online_serving/test_minicpmo_4_5_duplex.py -m 'core_model and npu and A3 and omni' --run-level 'core_model' + - label: "Omni · MiniCPM-o 4.5 Perf Test" + timeout_in_minutes: 60 + mirror_hardwares: a3_npu_2 + env: + VLLM_WORKER_MULTIPROC_METHOD: spawn + VLLM_ALLOW_LONG_MAX_MODEL_LEN: "1" + commands: + - export BENCHMARK_DIR=tests/dfx/perf/results + - pytest -s -v tests/dfx/perf/scripts/run_benchmark.py --test-config-file tests/dfx/perf/tests/test_minicpmo_4_5_ready.json -m 'core_model and npu and A3 and omni' # - group: ":card_index_dividers: TTS Model Test" # key: ready-tts-group diff --git a/tests/dfx/perf/tests/test_minicpmo_4_5_ready.json b/tests/dfx/perf/tests/test_minicpmo_4_5_ready.json new file mode 100644 index 000000000..e327be510 --- /dev/null +++ b/tests/dfx/perf/tests/test_minicpmo_4_5_ready.json @@ -0,0 +1,80 @@ +[ + { + "test_name": "test_minicpmo_4_5_ready", + "mark": [ + { + "hardware_marks": { + "res": { + "cuda": "H100", + "npu": "A3" + }, + "num_cards": 1 + } + }, + "core_model", + "omni" + ], + "server_params": { + "model": "openbmb/MiniCPM-o-4_5", + "extra_cli_args": [ + "--deploy-config", + "vllm_omni/deploy/minicpmo_4_5.yaml", + "--trust-remote-code" + ] + }, + "benchmark_params": [ + { + "dataset_name": "seed-tts", + "dataset_path": "zhaochenyang20/seed-tts-eval", + "backend": "openai-chat-omni", + "endpoint": "/v1/chat/completions", + "num_prompts": [ + 10, + 40 + ], + "max_concurrency": [ + 1, + 4 + ], + "no_oversample": true, + "trust_remote_code": true, + "seed_tts_locale": "en", + "extra_body": { + "modalities": [ + "text", + "audio" + ], + "chat_template_kwargs": { + "enable_thinking": false, + "use_tts_template": true + } + }, + "percentile-metrics": "ttft,e2el,audio_ttfp,audio_rtf,audio_duration", + "baseline": { + "H100": { + "request_throughput": [ + 0.7803, + 1.1008 + ], + "mean_ttft_ms": [ + 166.9764, + 307.7133 + ], + "mean_e2el_ms": [ + 1361.1682, + 3800.6332 + ], + "mean_audio_ttfp_ms": [ + 635.8099, + 1615.6591 + ], + "mean_audio_rtf": [ + 0.3151, + 0.8568 + ] + } + } + } + ] + } +]