vLLM 是我们公众号的常客了,几乎所有关于大模型本地部署的文章都是用 vLLM 启动的
安全审核大模型,本地部署,实测
腾讯混元 OCR 大模型,本地部署,实测
大模型本地部署相关文章,我做了一个网站
但是部署多模态,尤其是最近 N 多全模态大模型,vLLM 就有点捉襟见肘了
vllm-project 团队开源了一个新框架——vLLM-Omni
什么是 vLLM-Omni? 最初,vLLM 是为大规模语言模型(LLM)的文本生成任务量身定制的。
然而,随着需求演进,vLLM-Omni将其能力扩展到了更广阔的领域:
•全模态支持:它不仅能处理文本,还支持图像、视频和音频数据。 •非自回归架构:除了支持传统的自回归模型,它还扩展支持了DiT和其他并行生成模型。 • 异构输出**:能够实现从传统文本生成到各种多模态输出的跨越。
核心技术优势:为什么它如此之快? •高效的缓存管理:继承并优化了 vLLM 的KV 缓存管理机制。 •流水线并行执行:通过阶段执行的重叠(overlapping)来实现高吞吐量性能。 •灵活的资源调度:基于OmniConnector的全解耦架构,支持跨阶段的动态资源分配。 **高性能 (Performance)**:利用流水线阶段执行来重叠计算,确保高吞吐量性能。当一个阶段在处理时,其他阶段不会闲置。
N 卡上阿里 Qwen 能打的多模态模型及户全都支持,华为 NPU 也支持,只是可用模型较少
推荐使用 uv 进行环境管理
uv venv --python 3.12 --seed
source.venv/bin/activate
uv pip install vllm==0.12.0 --torch-backend=auto
uv pip install vllm-omni
内网部署的话,Docker 是必须的
镜像下载:https://hub.docker.com/r/vllm/vllm-omni
docker run --runtime nvidia --gpus 2 \
-v ~/.cache/huggingface:/root/.cache/huggingface \
--env"HF_TOKEN=$HF_TOKEN"\
-p 8091:8091 \
--ipc=host \
vllm/vllm-omni:v0.11.0rc1 \
--model Qwen/Qwen3-Omni-30B-A3B-Instruct --port 8091
以下是使用Tongyi-MAI/Z-Image-Turbo模型进行文生图的简单示例:
fromvllm_omni.entrypoints.omniimportOmni
if__name__ =="__main__":
# 初始化 Omni 模型
omni = Omni(model="Tongyi-MAI/Z-Image-Turbo")
prompt ="a cup of coffee on the table"
# 生成图像
images = omni.generate(prompt)
# 保存结果
images[0].save("coffee.png")
也可以直接命令行
python text_to_image.py \
--model Tongyi-MAI/Z-Image-Turbo \
--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 serve Qwen/Qwen-Image --omni --port 8091
curl -s http://localhost:8091/v1/chat/completions \
-H"Content-Type: application/json"\
-d'{
"messages": [
{"role": "user", "content": "A beautiful landscape painting"}
],
"extra_body": {
"height": 1024,
"width": 1024,
"num_inference_steps": 50,
"true_cfg_scale": 4.0,
"seed": 42
}
}'| jq -r'.choices[0].message.content[0].image_url.url'| cut -d','-f2 | base64 -d > output.png
python openai_chat_client.py --prompt"A beautiful landscape painting"--output output.png
官方还提供了 Gradio 实现的前端
#https://github.com/vllm-project/vllm-omni
python gradio_demo.py
然后浏览器访问http://localhost:7860
最后,官方还提供了一系列实用教程,涉及文生图、图生图、全模态等等:
https://docs.vllm.ai/projects/vllm-omni/en/latest/user_guide/examples/online_serving/text_to_image/#example-materials
在最后,这个项目的核心开发者都是中国面孔
后续我要用 4090 实际运行 Z-Image-Turbo 并进行实测,教程后续更新
| 欢迎光临 链载Ai (https://www.lianzai.com/) | Powered by Discuz! X3.5 |