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.20.2rc1
  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 的多节点部署#

预填充-解码分离部署#

功能验证#

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

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 illustration?"}
    ]}
    ]
    }'

精度评估#

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

使用 AISBench#

  1. 详细信息请参考使用 AISBench 进行精度评估

  2. 执行后即可获得结果,以下是 Qwen3-VL-235B-A22B-Instructvllm-ascend:0.11.0rc2 上的结果,仅供参考。

数据集

版本

指标

模式

vllm-api-general-chat

aime2024

-

准确率

生成

93

性能#

使用 AISBench#

详细信息请参考使用 AISBench 进行性能评估

使用 vLLM 基准测试#

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

更多详细信息请参考 vLLM 基准测试

有三个 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-prompts 200 --request-rate 1 --save-result --result-dir ./

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