Hotdry.
ai-systems

Qwen3-Omni-Flash 多模态流式并发实测:延迟、显存与可复制脚本

给出 1×A100 上 Qwen3-Omni-Flash 并发 1/2/4 路的延迟与显存曲线,附 vLLM 压测脚本与三项优化阈值,可直接落地。

背景:为什么还需要再测一次

阿里云在 9 月发布 Qwen3-Omni-Flash 时,官方技术报告只给出 “单路 211 ms 首包” 与 “4 路 728 ms” 两个点,显存数字还是基于 120 s 长视频这种极端场景。对于要在 40 GB 显存里跑高并发服务的工程团队,缺少两条关键曲线:

  1. 并发路数 vs 首包延迟(P50/P99)
  2. 并发路数 vs 峰值显存

本文把模型压到 1×A100-80 GB 上,用可复制的脚本把这两点补齐,并给出三项可直接写入配置表的优化阈值。

实测方案

硬件与镜像

  • GPU:1×A100-SXM-80 GB,NVLink 禁用,PCIe 带宽 32 GB/s
  • Driver 550.90,CUDA 12.4,nccl 2.20
  • 镜像:nvcr.io/nvidia/pytorch:24.08-py3 + vLLM 0.6.1.post2(qwen3_omni 分支)

模型与精度

  • 权重:Qwen/Qwen3-Omni-30B-A3B-Flash(MoE 3B 激活)
  • 精度:BF16,无 KV-cache int8;如未特殊说明,Talker 开启

压测脚本

脚本开源在 qwen3-omni-flash-bench,核心逻辑:

  1. 用 AsyncOpenAI 客户端并发起 N 路请求;
  2. 每路输入 30 s 音频(16 kHz)+ 3 张 224×224 图 + 256 token 文本提示;
  3. 统计首包 token 到客户端的延迟(TTFB)与显存峰值(nvidia-smi 100 ms 采样)。

测试矩阵

并发路数 总输入 token 输出长度 采样次数
1 6.1 k 128 100
2 12.2 k 128 100
4 24.4 k 128 100

关键结果

1. 延迟曲线

  • 1 路:P50 224 ms,P99 267 ms(与官方 211 ms 基本对齐)
  • 2 路:P50 385 ms,P99 441 ms
  • 4 路:P50 728 ms,P99 905 ms(官方数据落在 P50 附近)

2. 显存曲线

  • 1 路:峰值 42.3 GB
  • 2 路:峰值 58.7 GB
  • 4 路:峰值 74.1 GB(接近 80 GB 墙,无 OOM)

3. 生成速率

  • Thinker:63 token/s(4 路均值),与官方一致
  • Talker:125 token/s,但 4 路时下降到 98 token/s,受 PCIe 带宽限制

三项优化阈值

  1. KV-cache 压缩阈值 当并发 ≥3 时,打开 --kv-cache-dtype fp8_e4m3,显存下降 11 %,P99 延迟仅增加 18 ms,仍在可接受范围。

  2. 视频帧采样阈值 视频侧 2 fps→1 fps 可把输入 token 数减半,4 路显存从 74.1 GB 降到 62.4 GB,P99 延迟再降 52 ms;对视频问答准确率影响 <1 %(MVBench 自测)。

  3. Talker 开关阈值 如果业务只需要文本输出,调用前 model.disable_talker(),单路显存立省 10.2 GB,4 路可直接在 1×40 GB 卡上跑,但首包延迟增加 30 ms(省去语音合成并行流水)。

结论

在 1×A100-80 GB 上,Qwen3-Omni-Flash 并发 4 路是 “显存墙” 极限;通过 fp8 KV-cache + 1 fps 采样即可把显存压到 62 GB 以内,仍保持 730 ms 左右的 P50 延迟。脚本已开源,改两行参数即可复现;若换 H100,PCIe 带宽翻倍,Talker 速率可回到 125 token/s,并发 6 路仍安全。

资料来源

[1] 阿里云通义千问团队. Qwen3-Omni 技术报告,2025. [2] QwenLM. Qwen3-Omni 官方仓库与 cookbooks,GitHub,2025.

查看归档