Skip to content

[CI] optional --assert-baseline and update perf JSON baselines - #3695

Merged
hsliuustc0106 merged 7 commits into
vllm-project:mainfrom
yenuo26:pr/perf-assert-baseline
May 20, 2026
Merged

hsliuustc0106 merged 7 commits into
vllm-project:mainfrom
yenuo26:pr/perf-assert-baseline

Conversation

@yenuo26

@yenuo26 yenuo26 commented May 18, 2026 •

Copy link
Copy Markdown
Collaborator

PLEASE FILL IN THE PR DESCRIPTION HERE ENSURING ALL CHECKLIST ITEMS (AT THE BOTTOM) HAVE BEEN CONSIDERED.

Purpose

  • Add a shared pytest flag --assert-baseline (registered in tests/dfx/conftest.py, default off) so omni serve benchmarks and diffusion benchmarks can optionally compare metrics to the baseline blocks in perf JSON configs.
  • tests/dfx/perf/scripts/run_benchmark.py: when the flag is set, restore baseline resolution / result["baseline"] writing and the previous print-only throughput/latency checks against baselines; when unset, only assert request completion counts.
  • tests/dfx/perf/scripts/run_diffusion_benchmark.py: when the flag is set, restore strict assert comparisons (and honor skip-performance-assertion); when unset, only assert completed request counts.
  • Refresh nightly-aligned baseline numbers in perf test JSONs (test_qwen3_omni_*, test_qwen_image_*, test_wan22_i2v_vllm_omni.json, test_tts.json) per agreed rounding rules from benchmark tables.

Nightly Baseline Reference(7 days mean)

Qwen-image

Scenario n QPS latency_mean(s) latency_p99(s) peak_mem(GB) Time Range (Timestamp)
test_qwen_image_single_device | benchmark=1536x1536_steps35 | dataset=random | task=t2i | 1536x1536 | concurrency=1 | prompts=10 6 0.0399 25.0927 25.2693 64.63 20260512-181601 .. 20260517-181457
test_qwen_image_single_device | benchmark=512x512_steps20 | dataset=random | task=t2i | 512x512 | concurrency=1 | prompts=10 6 0.3577 2.7980 3.2098 55.02 20260512-181532 .. 20260517-181428
test_qwen_image_single_device_step_execution | benchmark=1536x1536_steps35 | dataset=random | task=t2i | 1536x1536 | concurrency=1 | prompts=10 6 0.0399 25.0655 25.2778 0.00 20260512-182305 .. 20260517-182203
test_qwen_image_single_device_step_execution | benchmark=512x512_steps20 | dataset=random | task=t2i | 512x512 | concurrency=1 | prompts=10 6 0.3647 2.7473 2.8968 0.00 20260512-182235 .. 20260517-182134
test_qwen_image_ulysses2_cfg2_cache_dit | benchmark=1536x1536_steps35 | dataset=random | task=t2i | 1536x1536 | concurrency=1 | prompts=10 5 0.1816 5.5062 5.9511 66.13 20260513-190948 .. 20260517-183152
test_qwen_image_ulysses2_cfg2_cache_dit | benchmark=512x512_steps20 | dataset=random | task=t2i | 512x512 | concurrency=1 | prompts=10 5 0.4659 2.1593 2.7876 55.30 20260513-190928 .. 20260517-183130
test_qwen_image_ulysses2_cfg2_vae_patch4 | benchmark=1536x1536_steps35 | dataset=random | task=t2i | 1536x1536 | concurrency=1 | prompts=10 5 0.1148 8.7127 8.9592 54.49 20260512-183144 .. 20260517-182810

Qwen-image-layered

Scenario n QPS latency_mean(s) latency_p99(s) peak_mem(GB) Time Range (Timestamp)
test_qwen_image_layered_single_device | benchmark=1024x1024_steps35_i2i | dataset=random | task=i2i | 1024x1024 | concurrency=1 | prompts=10 6 0.0392 25.5091 25.6216 62.24 20260512-181842 .. 20260517-181804
test_qwen_image_layered_single_device | benchmark=640x640_steps20_i2i | dataset=random | task=i2i | 640x640 | concurrency=1 | prompts=10 6 0.0666 15.0076 15.1293 62.24 20260512-181611 .. 20260517-181532

Qwen-Image-edit

Scenario n QPS latency_mean(s) latency_p99(s) peak_mem(GB) Time Range (Timestamp)
test_qwen_image_edit_single_device | benchmark=1536x1536_steps35_i2i | dataset=random | task=i2i | 1536x1536 | concurrency=1 | prompts=10 6 0.0226 44.3290 44.5647 64.66 20260512-181858 .. 20260517-181634
test_qwen_image_edit_single_device | benchmark=512x512_steps20_i2i | dataset=random | task=i2i | 512x512 | concurrency=1 | prompts=10 6 0.1058 9.4565 9.5034 56.87 20260512-181721 .. 20260517-181459
test_qwen_image_edit_ulysses2_cfg2_cache_dit | benchmark=1536x1536_steps35_i2i | dataset=random | task=i2i | 1536x1536 | concurrency=1 | prompts=10 5 0.1029 9.7187 10.6732 66.04 20260513-185601 .. 20260517-183145
test_qwen_image_edit_ulysses2_cfg2_cache_dit | benchmark=512x512_steps20_i2i | dataset=random | task=i2i | 512x512 | concurrency=1 | prompts=10 5 0.2606 3.8616 4.4052 57.08 20260513-185514 .. 20260517-183107
test_qwen_image_edit_ulysses2_cfg2_vae_patch4 | benchmark=1536x1536_steps35_i2i | dataset=random | task=i2i | 1536x1536 | concurrency=1 | prompts=10 6 0.0629 15.9086 16.3694 55.44 20260512-182931 .. 20260517-182637
test_qwen_image_edit_ulysses2_cfg2_vae_patch4 | benchmark=512x512_steps20_i2i | dataset=random | task=i2i | 512x512 | concurrency=1 | prompts=10 6 0.2123 4.7161 5.0245 55.42 20260512-182841 .. 20260517-182550

Qwen-Image-edit-2509

Scenario n QPS latency_mean(s) latency_p99(s) peak_mem(GB) Time Range (Timestamp)
test_qwen_image_edit_2509_single_device | benchmark=1536x1536_steps35_i2i_2img | dataset=random | task=i2i | 1536x1536 | concurrency=1 | prompts=10 6 0.0175 57.0170 57.5072 66.03 20260512-182605 .. 20260517-181729
test_qwen_image_edit_2509_single_device | benchmark=512x512_steps20_i2i_2img | dataset=random | task=i2i | 512x512 | concurrency=1 | prompts=10 6 0.0678 14.7405 14.9422 56.26 20260512-182336 .. 20260517-181502
test_qwen_image_edit_2509_ulysses2_cfg2_cache_dit | benchmark=1536x1536_steps35_i2i_2img | dataset=random | task=i2i | 1536x1536 | concurrency=1 | prompts=10 5 0.0849 11.7741 12.6370 65.94 20260512-184533 .. 20260517-183557
test_qwen_image_edit_2509_ulysses2_cfg2_cache_dit | benchmark=512x512_steps20_i2i_2img | dataset=random | task=i2i | 512x512 | concurrency=1 | prompts=10 5 0.2102 4.7606 5.3091 56.75 20260512-184442 .. 20260517-183509
test_qwen_image_edit_2509_ulysses2_cfg2_vae_patch4 | benchmark=1536x1536_steps35_i2i_2img | dataset=random | task=i2i | 1536x1536 | concurrency=1 | prompts=10 6 0.0505 19.8123 20.4085 54.98 20260512-183919 .. 20260517-183004
test_qwen_image_edit_2509_ulysses2_cfg2_vae_patch4 | benchmark=512x512_steps20_i2i_2img | dataset=random | task=i2i | 512x512 | concurrency=1 | prompts=10 6 0.1564 6.3964 6.8264 54.52 20260512-183812 .. 20260517-182859

WAN2.2

Scenario n QPS latency_mean(s) latency_p99(s) peak_mem(GB) Time Range (Timestamp)
test_wan22_i2v_single_device | benchmark=832x480_frames81_steps4 | dataset=random | task=i2v | NonexNone | concurrency=1 | prompts=10 6 0.0444 22.5015 22.8096 74.59 20260512-182336 .. 20260517-181627
test_wan22_i2v_usp2_vae_patch2_hsdp_slicing | benchmark=1280x720_frames121_steps4 | dataset=random | task=i2v | NonexNone | concurrency=1 | prompts=10 6 0.0122 81.8191 82.9422 55.42 20260512-183350 .. 20260517-182628
test_wan22_i2v_usp2_vae_patch2_hsdp_slicing | benchmark=832x480_frames81_steps4 | dataset=random | task=i2v | NonexNone | concurrency=1 | prompts=10 6 0.0624 16.0379 16.0443 47.02 20260512-183059 .. 20260517-182334

Qwen3-Omni

result_stem endpoint backend random_in random_out max_conc num_prompts omni_metrics_profile files_in_window avg_total_token_throughput avg_request_throughput avg_output_throughput avg_mean_ttft_ms avg_median_ttft_ms avg_p99_ttft_ms avg_mean_tpot_ms avg_mean_itl_ms avg_mean_e2el_ms avg_median_e2el_ms avg_p99_e2el_ms avg_mean_audio_rtf avg_median_audio_rtf avg_audio_throughput
result_test_qwen3_omni_chunk_random-mm_0.1_10_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 10 audio_metrics 5 87.45 0.0956 9.2597 499.75 514.19 796.46 7.3877 7.0368 5012.74 4937.15 5926.11 0.1526 0.1518 3.1514
result_test_qwen3_omni_chunk_random-mm_0.1_10_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 10 text_only_metrics 5 90.08 0.0990 9.6707 428.75 463.00 537.78 5.1007 4.9106 919.83 956.16 1028.14 0.0000 0.0000 0.0000
result_test_qwen3_omni_chunk_random-mm_0.5_40_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 40 audio_metrics 5 347.85 0.4668 45.5695 249.84 259.34 581.18 8.1821 7.8225 6739.50 6853.40 8619.02 0.2108 0.2148 14.9941
result_test_qwen3_omni_chunk_random-mm_0.5_40_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 40 text_only_metrics 5 366.69 0.4964 48.2168 182.67 204.25 302.96 5.7477 5.4607 728.75 702.62 1139.30 0.0000 0.0000 0.0000
result_test_qwen3_omni_chunk_random-mm_1.0_100_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 100 audio_metrics 5 1135.26 0.9110 89.7623 629.57 648.82 1591.45 10.7837 10.4652 10176.30 10061.52 14294.55 0.3186 0.3187 29.3386
result_test_qwen3_omni_chunk_random-mm_1.0_100_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 100 text_only_metrics 5 1225.86 0.9885 97.3296 540.87 551.57 1377.68 6.7866 6.5922 1200.10 1142.44 2358.26 0.0000 0.0000 0.0000
result_test_qwen3_omni_chunk_random_16_64_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 16 64 audio_metrics 5 613.04 0.1993 111.9543 518.92 140.67 1675.22 33.8388 13.7165 71176.24 72449.55 123713.95 0.4628 0.4328 35.0579
result_test_qwen3_omni_chunk_random_16_64_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 16 64 text_only_metrics 5 3608.73 1.1800 649.3774 786.24 879.51 1016.85 37.3145 14.1949 13561.67 13545.10 14018.31 0.0000 0.0000 0.0000
result_test_qwen3_omni_chunk_random_1_4_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 1 4 audio_metrics 5 123.16 0.0401 22.4689 379.09 143.47 1074.17 13.2892 7.3839 25259.77 23503.53 43246.87 0.1445 0.1434 7.0119
result_test_qwen3_omni_chunk_random_1_4_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 1 4 text_only_metrics 5 659.81 0.2161 117.9056 92.95 92.93 97.83 9.0906 5.0401 4629.05 4628.07 4635.36 0.0000 0.0000 0.0000
result_test_qwen3_omni_chunk_random_32_128_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 32 128 audio_metrics 3 817.84 0.2675 145.4592 810.18 142.48 3016.78 42.9572 16.4698 108009.69 104186.44 197729.53 0.7317 0.6834 45.0315
result_test_qwen3_omni_chunk_random_32_128_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 32 128 text_only_metrics 5 4511.61 1.4770 807.2981 1449.74 1376.07 6841.40 51.8500 20.2102 19638.89 19142.32 28675.18 0.0000 0.0000 0.0000
result_test_qwen3_omni_chunk_random_4_16_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 4 16 audio_metrics 5 266.66 0.0858 50.9897 276.80 132.19 733.43 20.9091 9.3701 42480.00 45378.85 66217.24 0.2556 0.2299 16.0110
result_test_qwen3_omni_chunk_random_4_16_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 4 16 text_only_metrics 5 1618.45 0.5209 312.1207 237.28 254.26 284.64 17.9282 8.2700 7680.33 7705.25 7864.79 0.0000 0.0000 0.0000
result_test_qwen3_omni_chunk_random_8_32_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 8 32 audio_metrics 5 423.62 0.1368 79.7930 373.15 130.88 1105.82 24.5710 11.1055 51357.23 53361.07 84585.29 0.3131 0.2897 25.2458
result_test_qwen3_omni_chunk_random_8_32_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 8 32 text_only_metrics 5 2452.44 0.8009 443.8122 435.45 483.60 533.03 25.7993 10.6159 9989.81 9974.15 10364.25 0.0000 0.0000 0.0000
result_test_qwen3_omni_random-mm_0.1_10_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 10 audio_metrics 5 649.25 0.0949 9.2314 494.66 508.72 763.24 7.0853 6.7958 5623.04 5476.71 7011.69 0.1677 0.1665 3.1999
result_test_qwen3_omni_random-mm_0.5_40_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 40 audio_metrics 5 3071.06 0.4646 45.4092 245.79 256.97 595.61 7.7983 7.4822 6179.19 6110.83 7884.27 0.1907 0.1900 15.1280
result_test_qwen3_omni_random-mm_1.0_100_in100_out100 openai-chat-omni openai-chat-omni 100 100 None 100 audio_metrics 5 6140.04 0.9281 91.3664 657.23 675.30 1612.90 10.3135 9.9626 8235.66 8171.62 11719.45 0.2545 0.2493 30.2429
result_test_qwen3_omni_random_16_64_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 16 64 audio_metrics 5 8281.71 0.2355 128.6660 506.04 152.67 1597.70 31.1421 12.3200 60270.31 56071.29 111623.14 0.4000 0.3538 40.7365
result_test_qwen3_omni_random_1_4_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 1 4 audio_metrics 5 1203.88 0.0318 17.7342 362.55 143.99 1009.42 12.9853 6.9674 31851.37 31652.38 47633.79 0.1887 0.1724 5.9265
result_test_qwen3_omni_random_32_128_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 32 128 audio_metrics 5 11195.34 0.3150 177.2774 813.68 158.02 3090.12 38.7391 15.8696 89734.35 85386.66 166461.95 0.5777 0.5236 55.0513
result_test_qwen3_omni_random_4_16_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 4 16 audio_metrics 5 3537.77 0.1059 60.4259 257.99 133.49 667.30 18.9634 8.3357 33471.02 32024.33 58280.91 0.2405 0.2164 17.3746
result_test_qwen3_omni_random_8_32_in2500_out900 openai-chat-omni openai-chat-omni 2500 900 8 32 audio_metrics 5 6067.93 0.1557 93.4017 347.09 143.54 958.16 21.3309 10.1190 44964.64 45972.87 72727.11 0.2680 0.2365 29.8514
result_test_qwen3_omni_vllm_text_random-mm_0.1_10_in100_out100 vllm vllm 100 100 None 10 text_only_metrics 5 19.89 0.0995 9.9452 29.09 28.61 33.48 5.1317 5.1337 537.13 536.78 541.34 0.0000 0.0000 0.0000
result_test_qwen3_omni_vllm_text_random-mm_0.5_40_in100_out100 vllm vllm 100 100 None 40 text_only_metrics 5 99.33 0.4967 49.6654 29.36 28.82 36.05 5.5089 5.5115 574.74 543.85 692.63 0.0000 0.0000 0.0000
result_test_qwen3_omni_vllm_text_random-mm_1.0_100_in100_out100 vllm vllm 100 100 None 100 text_only_metrics 5 198.39 0.9920 99.1965 29.90 29.25 40.10 6.0700 6.0709 630.83 616.07 878.32 0.0000 0.0000 0.0000
result_test_qwen3_omni_vllm_text_random_16_64_in2500_out900 vllm vllm 2500 900 16 64 text_only_metrics 5 4287.15 1.2609 1134.8332 518.20 531.69 925.61 13.5427 13.5435 12693.09 12679.70 13298.98 0.0000 0.0000 0.0000
result_test_qwen3_omni_vllm_text_random_1_4_in2500_out900 vllm vllm 2500 900 1 4 text_only_metrics 5 662.42 0.1948 175.3471 230.63 80.70 669.47 5.4646 5.4668 5143.33 4982.21 5623.68 0.0000 0.0000 0.0000
result_test_qwen3_omni_vllm_text_random_32_128_in2500_out900 vllm vllm 2500 900 32 128 text_only_metrics 5 6450.15 1.8971 1707.3935 732.38 654.71 1879.78 17.8221 17.8221 16754.47 16792.08 18163.89 0.0000 0.0000 0.0000
result_test_qwen3_omni_vllm_text_random_4_16_in2500_out900 vllm vllm 2500 900 4 16 text_only_metrics 5 1705.90 0.5017 451.5631 271.64 220.34 516.73 8.5677 8.5692 7974.04 7931.00 8282.72 0.0000 0.0000 0.0000
result_test_qwen3_omni_vllm_text_random_8_32_in2500_out900 vllm vllm 2500 900 8 32 text_only_metrics 5 2585.25 0.7604 684.3304 963.27 365.85 4216.21 10.6982 10.7000 10581.00 9823.71 13617.31 0.0000 0.0000 0.0000

Qwen3-TTS

Scenario n audio_tput mean_ttft_ms mean_e2el_ms mean_audio_rtf completed Latest Date
result_test_qwen3_tts_base_seed-tts_16_128_inna_outna | ep=openai-audio-speech | backend=openai-audio-speech | model=Qwen/Qwen3-TTS-12Hz-1.7B-Base | in=None out=None | conc=16 | prompts=128 3 14.5750 2195.85 4602.19 1.1205 128 20260517-181659
result_test_qwen3_tts_base_seed-tts_1_20_inna_outna | … Base … conc=1 | prompts=20 3 1.7057 2102.11 2710.17 0.5941 20 20260517-181523
result_test_qwen3_tts_base_seed-tts_64_128_inna_outna | … 3 14.2674 13127.43 15583.58 3.8706 128 20260517-181756
result_test_qwen3_tts_base_seed-tts_8_80_inna_outna | … 3 12.3301 813.14 2767.70 0.6564 80 20260517-181606
result_test_qwen3_tts_customvoice_seed-tts-design_16_128_inna_outna | … CustomVoice … 3 43.0049 668.91 1664.36 0.3638 128 20260517-182417
result_test_qwen3_tts_customvoice_seed-tts-design_1_20_inna_outna | … 5 7.2130 51.07 669.01 0.1396 20 20260517-182328
result_test_qwen3_tts_customvoice_seed-tts-design_2.0_100_inna_outna | … 5 9.2163 63.17 738.26 0.1587 100 20260517-182550
result_test_qwen3_tts_customvoice_seed-tts-design_64_128_inna_outna | … 3 45.0149 4237.99 5172.96 1.1735 128 20260517-182447
result_test_qwen3_tts_customvoice_seed-tts-design_8_80_inna_outna | … 5 37.2199 88.85 988.25 0.2098 80 20260517-182349
result_test_qwen3_tts_customvoice_seed-tts-text_16_128_inna_outna | … 3 46.8397 719.19 1833.38 0.3310 128 20260517-182133
result_test_qwen3_tts_customvoice_seed-tts-text_1_20_inna_outna | … 5 2.2769 1666.31 2360.48 0.3779 20 20260517-182040
result_test_qwen3_tts_customvoice_seed-tts-text_2.0_100_inna_outna | … 5 10.7190 65.30 881.80 0.1618 100 20260517-182303
result_test_qwen3_tts_customvoice_seed-tts-text_64_128_inna_outna | … 3 48.6209 4658.80 5729.44 1.0519 128 20260517-182200
result_test_qwen3_tts_customvoice_seed-tts-text_8_80_inna_outna | … 5 33.1854 223.44 1272.02 0.2355 80 20260517-182152

Test Plan

  • python -m json.tool on touched tests/dfx/perf/tests/*.json (already valid JSON).
  • With a full GPU/vLLM environment, run smoke collection or a single benchmark job, without --assert-baseline (default):
pytest -sv tests/dfx/perf/scripts/run_benchmark.py --test-config-file tests/dfx/perf/tests/test_tts.json
  • Optionally repeat with --assert-baseline to confirm baseline checks run when explicitly requested:
pytest -sv tests/dfx/perf/scripts/run_benchmark.py --test-config-file tests/dfx/perf/tests/test_tts.json --assert-baseline
pytest -s -v tests/dfx/perf/scripts/run_diffusion_benchmark.py --test-config-file tests/dfx/perf/tests/test_qwen_image_vllm_omni.json

(Same pattern for run_diffusion_benchmark.py with an appropriate --test-config-file.)

Test Result

6e096106-41b5-4f6f-b176-134403d90916 f7781f21-c297-49c3-bc3f-6d2239930f11 890024b8-c144-42a4-ac32-713efe934241
Essential Elements of an Effective PR Description Checklist
  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan. Please provide the test scripts & test commands. Please state the reasons if your codes don't require additional test scripts. For test file guidelines, please check the test style doc
  • The test results. Please paste the results comparison before and after, or the e2e results.
  • (Optional) The necessary documentation update, such as updating supported_models.md and examples for a new model. Please run mkdocs serve to sync the documentation editions to ./docs.
  • (Optional) Release notes update. If your change is user-facing, please update the release notes draft.

BEFORE SUBMITTING, PLEASE READ https://github.com/vllm-project/vllm-omni/blob/main/CONTRIBUTING.md (anything written below this line will be removed by GitHub Actions)

This commit introduces a new command-line option, `--assert-baseline`, to the performance benchmarking scripts. When enabled, it allows the comparison of benchmark metrics against the baseline values defined in the JSON configuration files. The option is integrated into the `pytest` configuration and affects the behavior of the `assert_result` function in both `run_benchmark.py` and `run_diffusion_benchmark.py`. Additionally, several performance test JSON files have been updated to reflect new baseline values for various metrics.

Signed-off-by: wangyu <410167048@qq.com>
@yenuo26 yenuo26 changed the title tests(perf): optional --assert-baseline and update perf JSON baselines [CI] optional --assert-baseline and update perf JSON baselines May 18, 2026
@yenuo26

yenuo26 commented May 18, 2026

Copy link
Copy Markdown
Collaborator Author

Signed-off-by: wangyu <410167048@qq.com>

@hsliuustc0106 hsliuustc0106 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good pattern for optional baseline assertions. 7-day mean baselines are comprehensive.

@yenuo26
yenuo26 force-pushed the pr/perf-assert-baseline branch from 89368c2 to 3e89d4b Compare May 19, 2026 01:22

@fhfuih fhfuih left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for the qwen image edit part

@linyueqian linyueqian left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM for the TTS side. I checked the updated test_tts.json baselines against the configured sweeps: the baseline list lengths line up with num_prompts/max_concurrency/request_rate, JSON is valid, and the optional --assert-baseline behavior keeps baseline assertions disabled by default while preserving the recorded baseline blocks for explicit perf checks. No requested changes from me.

"mean_audio_ttfp_ms": [1000, 3000, 5000, 7000, 9000],
"mean_audio_rtf": [0.2, 0.35, 0.6, 0.85, 0.9]
"mean_ttft_ms": [
300,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The baseline data does not quite match the actual data.
Image

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

yenuo26 added 2 commits May 19, 2026 10:26
Signed-off-by: wangyu <410167048@qq.com>
Signed-off-by: wangyu <410167048@qq.com>
@amy-why-3459

Copy link
Copy Markdown
Collaborator

Please resolve the conflict.

yenuo26 and others added 2 commits May 19, 2026 14:27
… template

This update introduces a fallback mechanism for benchmark results in the `run_benchmark` function. If the expected result file is not generated, the function now uses a predefined JSON template (`result_omni_template.json`) to ensure consistent output. Additionally, the function's docstring has been updated to clarify the behavior regarding baseline metrics and the fallback process.

Signed-off-by: wangyu <410167048@qq.com>
Signed-off-by: wangyu <53896905+yenuo26@users.noreply.github.com>
@yenuo26

yenuo26 commented May 19, 2026

Copy link
Copy Markdown
Collaborator Author

Please resolve the conflict.

fixed

@amy-why-3459

Copy link
Copy Markdown
Collaborator

LGTM

@hsliuustc0106 hsliuustc0106 added the ready label to trigger buildkite CI label May 19, 2026

@hsliuustc0106 hsliuustc0106 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I checked

  • DCO: PASSED
  • Mergeability: MERGEABLE
  • Template file: result_omni_template.json exists on main — the fallback path in conftest.py resolves correctly
  • Deduplication: _resolve_baseline_value and _safe_filename_token correctly removed from run_benchmark.py; the renamed resolve_baseline_value is imported from conftest.py
  • Flag default: --assert-baseline defaults to False — no breaking change to default CI
  • Baseline values: Spot-checked several entries against the nightly tables; thresholds are conservative and should catch real regressions without false positives
  • PR description evidence: 7-day nightly benchmark tables are comprehensive; test results screenshots are provided

Verdict

No blocking issues. The flag is opt-in, the deduplication is clean, and baselines are data-driven from nightly runs. Domain experts have already approved their areas. LGTM once CI is green.

@hsliuustc0106
hsliuustc0106 merged commit 4e82192 into vllm-project:main May 20, 2026
7 of 9 checks passed
zengchuang-hw pushed a commit to zengchuang-hw/vllm-omni that referenced this pull request Jun 1, 2026
…project#3695)

Signed-off-by: wangyu <410167048@qq.com>
Signed-off-by: wangyu <53896905+yenuo26@users.noreply.github.com>
Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
@yenuo26
yenuo26 deleted the pr/perf-assert-baseline branch June 11, 2026 07:24
@congw729 congw729 mentioned this pull request Jun 16, 2026
5 tasks
Nughm3 pushed a commit to Nughm3/vllm-omni that referenced this pull request Jun 18, 2026
…project#3695)

Signed-off-by: wangyu <410167048@qq.com>
Signed-off-by: wangyu <53896905+yenuo26@users.noreply.github.com>
Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
khairulkabir1661 pushed a commit to khairulkabir1661/vllm-omni that referenced this pull request Sep 25, 2026
…project#3695)

Signed-off-by: wangyu <410167048@qq.com>
Signed-off-by: wangyu <53896905+yenuo26@users.noreply.github.com>
Co-authored-by: Hongsheng Liu <liuhongsheng4@huawei.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready label to trigger buildkite CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants