Qwen3-VL-235B-A22B-Instruct#

简介#

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

本文档将展示模型的主要验证步骤,包括支持的特性、特性配置、环境准备、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.12.0rc1
  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多节点部署#

Prefill-Decode 分离#

功能验证#

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

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. 执行后,您可以获得结果,以下是Qwen3-VL-235B-A22B-Instructvllm-ascend:0.11.0rc2上的结果,仅供参考。

数据集

version

指标

模式

vllm-api-general-chat

aime2024

-

accuracy

gen

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 ./

大约几分钟后,您就可以得到性能评估结果。