昇腾社区首页
中文
注册
开发者
下载
vLLM-Omni全模态模型服务发布!昇腾快速上手体验

vLLM-Omni全模态模型服务发布!昇腾快速上手体验

多模态

发表于 2025/12/02

自 vLLM 诞生以来,一直专注于为大型语言模型(LLMs)提供高吞吐量、内存高效的推理服务。然而,生成式 AI 的格局正在迅速变化。模型不再仅仅是文本输入、文本输出的工具。如今的顶尖模型能够在文本、图像、音频和视频之间进行推理,并使用不同的架构生成异构输出。


为了更好的全模态模型推理服务的支持,vLLM社区在12月1日发布了 vLLM-Omni(vllm-project/vllm-omni)项目。vLLM-Omni 是首个支持全模态模型推理的插件,它将 vLLM 卓越的性能扩展到了多模态和非自回归推理领域。

为什么是 vLLM-Omni?

传统推理服务引擎的优化重心集中于文本类自回归(AR)任务。而随着模型逐步演进为 “全模态智能体”—— 具备视觉、听觉与语言交互能力,推理服务基础设施也需同步迭代升级。

vLLM-Omni 针对性解决了模型架构演进中的三大核心能力:

  1. 原生全模态支持:无缝处理并生成文本、图像、视频、音频等多模态数据,打破单一模态局限;
  2. 突破自回归边界:将 vLLM 高效的内存管理技术,拓展至Diffusion扩散模型等并行生成模型,覆盖更多模型类型;
  3. 异构模型流水线调度:支持单请求触发多异构模型组件的复杂工作流编排,例如多模态编码、自回归推理、扩散式多模态生成等场景。

我们与vLLM-Omni项目的开发者共同完成了昇腾支持和验证。这意味着开发者现在就可以一键拉起基于vLLM-Ascend容器镜像在昇腾设备上实现Qwen Omni(Omni全模态模型)、Qwen Image(Diffusion扩散模型)等模型的推理。


基于昇腾的快速上手体验

第一步,安装并启动服务
在体验之前,需确认固件/驱动已正确安装,可运行如下命令确认:

npu-smi info

可以使用如下命令,一键拉起 vLLM Ascend 容器镜像:

# Update DEVICE according to your NPUs (/dev/davinci[0-7])
export DEVICE0=/dev/davinci0
export DEVICE1=/dev/davinci1
# Update the vllm-ascend image
# Atlas A2:
# export IMAGE=quay.nju.edu.cn/ascend/vllm-ascend:v0.11.0rc2
# Atlas A3:
# export IMAGE=quay.nju.edu.cn/ascend/vllm-ascend:v0.11.0rc2-a3
export IMAGE=quay.nju.edu.cn/ascend/vllm-ascend:v0.11.0rc2
docker run --rm \
    --name vllm-omni-npu \
    --shm-size=1g \
    --device $DEVICE0 \
    --device $DEVICE1 \
    --device /dev/davinci_manager \
    --device /dev/devmm_svm \
    --device /dev/hisi_hdc \
    -v /usr/local/dcmi:/usr/local/dcmi \
    -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
    -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
    -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
    -v /etc/ascend_install.info:/etc/ascend_install.info \
    -v /root/.cache:/root/.cache \
    -p 8000:8000 \
    -it $IMAGE bash

拉取源码进行安装(包含example代码的下载):

cd /vllm-workspace
git clone -b v0.11.0rc1 https://github.com/vllm-project/vllm-omni.git
cd vllm-omni
pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
pip install -v -e .

安装 modelscope 并配置环境变量加速模型下载:

pip install modelscope
export VLLM_USE_MODELSCOPE=True


1.Qwen Omni - 全模态模型体验:

在vLLM Omni接下来我们将在昇腾环境中,使用 vLLM Omni 运行 Qwen2.5-Omni,使用仓库已有的 examples 即可快速体验 Qwen2.5-Omni 语音生成:

echo "请用15字内解释可扩展音频生成流程的系统架构" > examples/offline_inference/qwen2_5_omni/prompt.txt

VLLM_WORKER_MULTIPROC_METHOD=spawn VLLM_USE_MODELSCOPE=True \
    python examples/offline_inference/qwen2_5_omni/end2end.py \
    --output-wav output_audio \
    --query-type text \
    --txt-prompts examples/offline_inference/qwen2_5_omni/prompt.txt

该示例要求“请用15字内解释可扩展音频生成流程的系统架构”,生成如下文本及其音频:

嗯...这个嘛,就是先输入数据,然后经过算法处理,最后输出音频。你要是还有啥想知道的,尽管再问哈。


2.Qwen Image - Diffusion 扩散模型图片生成体验
使用仓库已有的 examples 即可快速体验 Qwen-Image 图片生成:

VLLM_USE_MODELSCOPE=True python examples/offline_inference/qwen_image/text_to_image.py \
  --prompt "a cup of coffee on the table" \
  --seed 42 \
  --cfg_scale 4.0 \
  --num_images_per_prompt 1 \
  --num_inference_steps 50 \
  --height 1024 \
  --width 1024 \
  --output outputs/coffee.png

该示例要求"生成一杯在桌子上的咖啡图片",生成如下图片:


未来规划

下一步,我们将与vLLM社区开发者共同完善vLLM Omni,不断扩展全模态、多模态、扩散模型等主流模型的昇腾支持,更进一步提升推理性能。我们诚挚邀请社区伙伴共同参与,携手塑造 vLLM-Omni 的未来发展方向。您可以通过已有的GitHub 仓库和用户文档来了解更多的细节,也可以通过参加我们的每周例会(每周三上午 11:30),与我们共同讨论Roadmap和新功能。让我们共同携手,构建多模态服务的未来!

GitHub 仓库:https://github.com/vllm-project/vllm-omni

用户文档:https://docs.vllm.ai/projects/vllm-omni/en/latest

问题反馈:https://github.com/vllm-project/vllm-omni/issues

社区例会:https://tinyurl.com/vllm-omni-meeting