Ascend-SACT/Qwen3-VL-30B-A3B-Thinking
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

引言

Qwen3-VL-30B-A3B-Thinking 是阿里云通义千问发布的,与 Qwen3-VL-30B-A3B-Instruct 同源,但专门针对复杂推理与深度分析任务进行优化和微调的多模态视觉语言大模型。

作为 Qwen 系列面向高阶智能场景的延伸,它在保持强大基础能力的同时,特别强化了思维链与分步推理能力,旨在挑战需要深思熟虑、逻辑缜密的多模态任务。

下表能帮你快速了解它的核心特性:

特性维度具体描述
模型架构继承高效的混合专家模型(MoE)设计,总参数量为300亿,处理任务时同样仅激活30亿参数,兼具强大性能与推理效率。
核心能力在支持图像与文本的联合理解、视觉问答、图像描述等基础能力之上,深度强化了多模态思维链、逻辑推理、因果分析和分步问题解决能力。
技术亮点原生支持 256K 长上下文,可扩展至 1M;同样具备视觉代理能力和对 32 种语言的 OCR 支持;其独特的“Thinking”优化使其在生成答案时,更倾向于展示完整、透明的推理过程。
性能表现在需要多步推理的 STEM(尤其是数学、物理)、复杂图表解析、逻辑谜题、场景因果推断 等高级别评测中表现尤为突出,更能展现其与 GPT-5-Mini、Claude 4-Sonnet 在深度认知任务上的竞争力。
昇腾生态支持同样基于 vLLM-Ascend 推理框架获得支持,兼容主流的分布式并行能力,一经发布即实现低代码无缝使能。

Qwen3-VL-30B-A3B-Thinking 是 Qwen3-VL 系列中的 “深度思考者”。如果您需要的不仅仅是快速准确的答案,而是希望模型能像专家一样 拆解问题、展示逻辑、并提供令人信服的推导过程,那么 Thinking 版本将是您的理想选择。它代表了通义千问在推动多模态 AI 向更深层认知智能迈进的重要一步。

昇腾基于vLLM-Ascend推理框架支持Qwen3-VL,兼容当前vLLM-Ascend框架内主流的分布式并行能力,Qwen3-VL系列模型一经发布即实现低代码无缝使能,欢迎广大开发者下载体验,探索其在复杂推理场景下的卓越能力。

一、准备运行环境

表1 硬件设备

设备型号NPU配置
Atlas 800I A28*64G
Atlas 800T A28*64G

表2 软件版本配套表

配套版本环境准备指导
Python3.11.13-
torch2.7.1+cpu-
torch_npu2.7.1-
transformers4.57.1-
vllm0.11.0+empty-
vllm_ascend0.11.0rc2-

1.1 获取并安装CANN

1.1.1 软件包下载

Atlas 800I/800T A3(8*64G) CANN版本

1.1.2 安装CANN

# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构,{soc}表示昇腾AI处理器的版本。
chmod +x ./Ascend-cann-toolkit_{version}_linux-{arch}.run
chmod +x ./Ascend-cann-kernels-{soc}_{version}_linux.run
chmod +x ./Ascend-cann-nnal_{version}_linux-{arch}.run
# 校验软件包安装文件的一致性和完整性
./Ascend-cann-toolkit_{version}_linux-{arch}.run --check
./Ascend-cann-kernels-{soc}_{version}_linux.run --check
./Ascend-cann-nnal{version}_linux-{arch}.run --check
# 安装
./Ascend-cann-toolkit_{version}_linux-{arch}.run --install
./Ascend-cann-kernels-{soc}_{version}_linux.run --install
./Ascend-cann-nnal{version}_linux-{arch}.run --torch_atb --install

# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
source /usr/local/Ascend/nnal/atb/set_env.sh

1.2 获取并安装vLLM Ascend镜像

1.2.1 软件包下载

点击下载链接,打开网页后,选择 v0.11.0rc2 版本下载

1.2.2 镜像加载

1、执行以下命令导入镜像

docker load -i v0.11.0rc2.tar

2、执行以下命令查看镜像是否导入成功

docker images | grep v0.11.0rc2

二、下载权重

Qwen3-VL-30B-A3B-Thinking 权重及配置文件说明

模型权重
Qwen3-VL-30B-A3B-Thinkinghuggingface下载链接

三、运行指导

3.1 单机双卡部署

3.1.1 启动容器服务样例命令

export model_dir="/opt/data/modelscope/models"     # 宿主机保存模型权重的路径
export container_model_dir="/root/models"          # 映射到容器内保存模型权重的路径
export container_name="Qwen3-VL"                   # 指定容器名称
export IMAGE=m.daocloud.io/quay.io/ascend/vllm-ascend:v0.11.0rc2   # 容器镜像的名称
docker run -itd --privileged \
--name ${container_name} \
--net=host \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
--shm-size=512g \
-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 \
-v ${model_dir}:${container_model_dir} \
$IMAGE /bin/bash

3.1.2 进入容器

docker exec -it -u root Qwen3-VL bash

3.1.3 启动推理服务

  • Qwen3-VL-30B(单机双卡)
# 通过如下ASCEND_RT_VISIBLE_DEVICES环境变量指定使用的NPU卡设备
export ASCEND_RT_VISIBLE_DEVICES=3,7

# 如下/root/models/Qwen/Qwen3-VL-30B-A3B-Thinking 为容器内权重文件的路径,qwen3-vl-30b为指定的模型实例名称
nohup vllm serve /root/models/Qwen/Qwen3-VL-30B-A3B-Thinking \
  --host 0.0.0.0 \
  --port 33030 \
  --tensor-parallel-size 2 \
  --enable-expert-parallel \
  --max-num-seqs 16 \
  --max-num-batched-tokens 4096 \
  --trust-remote-code \
  --no-enable-prefix-caching \
  --gpu-memory-utilization 0.8 \
  --max-model-len 32768 \
  --served-model-name qwen3-vl-30b > ./qwen3-vl-30b.log 2>&1 &

启动推理等待大约3~10分钟,出现如下日志,服务启动成功 alt text

3.2 推理服务验证

3.2.1 命令行方式

1、登录服务器,修改如下命令中{IP地址:端口号}为推理服务所在的IP:端口,通过curl命令进行调用:

curl http://{IP地址:端口号}/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3-vl-30b",
    "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?"}
        ]}
    ]
}'

样例输出 alt text

3.2.2 API方式

1、创建如下python文件,修改文件中{IP地址:端口号}为推理服务所在的IP:端口,{本地图片路径}替换为实际本地路径

# 文件名 test.py
import requests
import json
import base64

def image_to_base64(file_path):
    with open(file_path, "rb") as f:
        image_byte = f.read()
    return base64.b64encode(image_byte).decode('utf-8')

base64_str = image_to_base64("{本地图片路径}")    # 指定一张本地的图片
url = "http://{IP地址:端口号}/v1/chat/completions"
headers = {
    "Content-Type": "application/json"
}
data = {
    "model": "qwen3-vl-30b",  # 确保mode名称与启动推理服务命令中的served-model-name参数一致
    "messages": [
        {
            "role": "user",
            "content": [
                {"type": "image_url", "image_url": {"url": f"data:image/jpg;base64,{base64_str}"}},
                {"type": "text", "text": "Explain the details in the image."}
            ]
        }
    ],
    "max_tokens": 100,
    "temperature": 0.7
}

response = requests.post(url, headers=headers, data=json.dumps(data))

if response.status_code == 200:
    result = response.json()
    print(result['choices'][0]['message']['content'])
else:
    print(f"请求失败,状态码: {response.status_code}, 响应内容: {response.text}")

2、运行 python ./test.py 命令

样例输出 alt text

四、常见问题

4.1、基于vllm ascend运行Qwen3-VL时出现EngineCore_DP0进程died unexpectedly,如何解决?

【问题现象】 只要推理任务重一些,就会出现如下日志,然后vllm推理服务异常停止 alt text

【问题原因】 创建容器时未显式指定共享内存大小,而容器默认的大小为64MB,对于vllm的进程间通讯来说不够,所以发生内存异常

【解决方案】创建容器时需要通过--shm-size参数显式指定共享内存大小,建议256GB以上 alt text

参考链接:Bug: vllm:EngineCore process coredump while testing TextVQA dataset