Qwen3-VL-235B-A22B-Instruct#

简介#

阿里云的 Qwen-VL(视觉-语言)系列包含了一系列强大的大型视觉语言模型 (LVLM),旨在实现全面的多模态理解。它们接受图像、文本和边界框作为输入,并输出文本和检测框,从而支持图像检测、多模态对话和多图推理等高级功能。

本文档将展示该模型的主要验证步骤,包括支持的功能、功能配置、环境准备、NPU 部署、精度和性能评估。

本教程使用 vLLM-Ascend v0.11.0rc2 版本进行演示,以 Qwen3-VL-235B-A22B-Instruct 模型为例展示多 NPU 部署。

支持的功能#

请参考 支持功能列表 以获取该模型支持的功能矩阵。

请参考 功能指南 以获取功能的配置方式。

环境准备#

模型权重#

  • Qwen3-VL-235B-A22B-Instruct (BF16 版本):需要 1 台 Atlas 800 A3 (64G × 16) 节点,或 2 台 Atlas 800 A2 (64G * 8) 节点。下载模型权重

建议将模型权重下载到多节点共享目录中,例如 /root/.cache/

验证多节点通信(可选)#

如果您想部署多节点环境,需要根据 验证多节点通信环境 进行验证。

安装#

例如,使用镜像 quay.io/ascend/vllm-ascend:v0.11.0rc2(适用于 Atlas 800 A2)和 quay.io/ascend/vllm-ascend:v0.11.0rc2-a3(适用于 Atlas 800 A3)。

根据您的机器类型选择镜像并在节点上启动 Docker 镜像,请参考 使用 Docker

  # Update --device according to your device (Atlas A2: /dev/davinci[0-7] Atlas A3:/dev/davinci[0-15]).
  # Update the vllm-ascend image according to your environment.
  # Note you should download the weight to /root/.cache in advance.
  # Update the vllm-ascend image
  export IMAGE=m.daocloud.io/quay.io/ascend/vllm-ascend:v0.13.0
  export NAME=vllm-ascend

  # Run the container using the defined variables
  # Note: If you are running bridge network with docker, please expose available ports for multiple nodes communication in advance
  docker run --rm \
  --name $NAME \
  --net=host \
  --privileged=true \
  --shm-size=500g \
  --device /dev/davinci0 \
  --device /dev/davinci1 \
  --device /dev/davinci2 \
  --device /dev/davinci3 \
  --device /dev/davinci4 \
  --device /dev/davinci5 \
  --device /dev/davinci6 \
  --device /dev/davinci7 \
  --device /dev/davinci_manager \
  --device /dev/devmm_svm \
  --device /dev/hisi_hdc \
  -v /usr/local/dcmi:/usr/local/dcmi \
  -v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \
  -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 \
  -it $IMAGE bash

您可以从源码构建所有内容。

如果您想部署多节点环境,需要在每个节点上分别设置环境。

部署#

使用 Ray 进行多节点部署#

预填充-解码分离 (PD 分离)#

功能验证#

服务器启动后,您可以使用输入提示词查询模型:

curl http://<node0_ip>:<port>/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
    "model": "qwen3",
    "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": [
        {"type": "image_url", "image_url": {"url": "https://modelscope.oss-cn-beijing.aliyuncs.com/resource/qwen.png"}},
        {"type": "text", "text": "What is the text in the illustrate?"}
    ]}
    ]
    }'

精度评估#

以下是两种精度评估方法。

使用 AISBench#

  1. 详见 使用 AISBench

  2. 执行后可获取结果,以下为 vllm-ascend:0.11.0rc2Qwen3-VL-235B-A22B-Instruct 的测试结果,仅供参考。

数据集

版本

指标

模式

vllm-api-general-chat

aime2024

-

准确率

生成

93

性能#

使用 AISBench#

详见 使用 AISBench 进行性能评估

使用 vLLM 基准测试 (Benchmark)#

Qwen3-VL-235B-A22B-Instruct 的性能评估为例。

更多细节请参考 vLLM Benchmark

共有三个 vllm bench 子命令:

  • latency:测试单批次请求的延迟。

  • serve:测试在线服务的吞吐量。

  • throughput:测试离线推理的吞吐量。

serve 模式为例,运行如下代码。

export VLLM_USE_MODELSCOPE=true
vllm bench serve --model Qwen/Qwen3-VL-235B-A22B-Instruct  --dataset-name random --random-input 200 --num-prompt 200 --request-rate 1 --save-result --result-dir ./

大约几分钟后,您即可获得性能评估结果。