Ascend-SACT/Qwen3-omni-captioner-X86-vLLM
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

介绍

本文档介绍在X86平台上,基于vLLM推理引擎进行Qwen3-omni- captioner模型的推理指导。

一、 Qwen3-omni- captioner模型介绍

Qwen3-omni- captioner模型是基于 Qwen3-Omni-30B-A3B-Instruct 微调而来的下游音频细粒度字幕模型,能够为任意音频输入生成详细且低幻觉的字幕,在多说话人情感识别、环境音分层解析等任务上表现突出。 Qwen3-Omni-30B-A3B-Instruct包含thinker和talker两个部分,Thinker负责思考和推理的“大脑”,它处理复杂的跨模态信息,进行逻辑分析和规划。Talker负责生成回应的“嘴巴”,把 Thinker 的思考结果转化成流畅的文本或自然的语音。 而Qwen3-omni- captioner因为不需要音频输出,所以仅包含thinker模块。 Qwen3-omni- captioner专注音频输入(只支持音频输入,文本输出。),输出低幻觉的详细文字描述,适合音频理解与转写。

二、运行环境准备

由于Qwen3-omni模型结构变化,当前vLLm主干版本还不支持,Qwen团队基于vLLM单独拉了分支版本进行构建。而在昇腾上运行Qwen3-omni模型,需要基于Qwen团队构建的vLLM分支版本进行修改、编译。

参考如下链接中的第一章节安装CANN、torch_npu、vllm版本及依赖库: https://ai.gitcode.com/Ascend-SACT/Qwen3-Omni-30B

三、 模型权重下载

执行如下命令下载模型权重 pip install modelscope modelscope download --model Qwen/Qwen3-Omni-30B-A3B-Captioner --local_dir models/Qwen3-omni-captioner/

四、离线推理指导

1、设置环境变量

: source /usr/local/Ascend/ascend-toolkit/set_env.sh source /usr/local/Ascend/nnal/atb/set_env.sh export LD_LIBRARY_PATH=/usr/local/Ascend/driver/:LDLIBRARYPATHexportLDLIBRARYPATH=/usr/local/Ascend/driver/lib64/driver/:LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/driver/:LDL​IBRARYP​ATHexportLDL​IBRARYP​ATH=/usr/local/Ascend/driver/lib64/driver/:LD_LIBRARY_PATH export HCCL_INTRA_ROCE_ENABLE=1

2、 离线服务拉起

执行如下命令拉起vllm serve: vllm serve /inspire/sj-ssd/project/embodied-multimodality-ascend/public/models/Qwen3-omni-captioner/
--served-model-name qwen3-Omni-captioner
--tensor-parallel-size 4
--dtype bfloat16
--enforce-eager
--port 8106

3、 音频输入测试(远程文件)

通过如下curl命令进行音频输入测试: curl http://127.0.0.1:8106/v1/chat/completions
-H "Content-Type: application/json"
-d '{ "model": "qwen3-omni-captioner", "messages": [ {"role": "user", "content": [ {"type": "audio_url", "audio_url": {"url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-Omni/cookbook/caption2.mp3"}} ]} ] }'

4、音频输入测试(本地文件)

先启动本地 HTTP 服务,将测试音频文件目录以 HTTP 方式共享: python -m http.server 8000 --directory /inspire/sj-ssd/project/embodied-multimodality-ascend/public/datasets/qwen3-omni-testdata/

通过如下curl命令进行音频输入测试: curl http://127.0.0.1:8106/v1/chat/completions
-H "Content-Type: application/json"
-d '{ "model": "qwen3-Omni-captioner", "messages": [ {"role": "user", "content": [ {"type": "audio_url", "audio_url": {"url": "http://127.0.0.1:8000/captioner-case1.wav"}} ]} ], "temperature": 0.6, "max_tokens": 4096, "top_p": 0.95,
"top_k": 20,
"repetition_penalty": 1.1, "seed": 42
}'

五、在线推理指导

1、 在线服务拉起

source /usr/local/Ascend/ascend-toolkit/set_env.sh source /usr/local/Ascend/nnal/atb/set_env.sh export LD_LIBRARY_PATH=/usr/local/Ascend/driver/:LDLIBRARYPATHexportLDLIBRARYPATH=/usr/local/Ascend/driver/lib64/driver/:LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/Ascend/driver/lib64/driver/:LDL​IBRARYP​ATHexportLDL​IBRARYP​ATH=/usr/local/Ascend/driver/lib64/driver/:LD_LIBRARY_PATH export HCCL_INTRA_ROCE_ENABLE=1 vllm serve MODELPATH−−port{MODEL_PATH} --port MODELP​ATH−−port{PORT} --served-model-name qwen3-omni-captioner --tensor-parallel-size 4 --dtype bfloat16 --enforce-eager

2、Api调用测试

export INF_API_KEY="MyDEEXqylyMMtzugabBs5p80Q2h+L8jn1zlU+pM60gg=" curl https://gka8eppokjggcmdbj5am5cokapp5acj9.openapi-sj.sii.edu.cn/v1/chat/completions
-H "Content-Type: application/json"
-H "Authorization: Bearer $INF_API_KEY"
-d '{ "model": "qwen3-omni-captioner", "messages": [ {"role": "user", "content": [ {"type": "audio_url", "audio_url": {"url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-Omni/cookbook/caption2.mp3"}} ]} ] }'

六、 基于Evalscope工具评测

1、Evalscope工具安装

参考如下链接安装evalscope: https://evalscope.readthedocs.io/zh-cn/latest/best_practice/qwen3_omni.html

2、Evalscope性能评测

通过vllm serve拉起模型服务后,通过如下指令执行evalscope性能压测: evalscope perf
--model qwen3-Omni-captioner
--url http://localhost:8106/v1/chat/completions
--api-key "API_KEY"
--parallel 1 5 10 50 100
--number 2 10 20 100 200
--api openai
--dataset random_vl
--min-tokens 1024
--max-tokens 1024
--prefix-length 0
--min-prompt-length 1024
--max-prompt-length 1024
--image-width 512
--image-height 512
--image-format RGB
--image-num 1
--tokenizer-path /inspire/sj-ssd/project/embodied-multimodality-ascend/public/models/Qwen3-30B-A3B-Instruct-2507