Qwen3-VL-4B-Thinking是阿里通义千问推出的一款面向轻量级、高效率部署场景的多模态视觉语言模型。它在保持极低显存占用的同时,继承了Qwen3-VL系列强大的多模态理解和深度推理能力。
其核心创新在于,该模型包含了独特的“Thinking”深度推理模式。模型可以根据任务的复杂程度,智能地在“快思考”和“慢思考”之间切换。对于简单问题,它能快速给出答案以节省算力;而对于需要复杂分析的任务,它会激活“Thinking”模式,执行多步骤的逐步推导,从而提供更深思熟虑的答案。这一混合推理机制,使得它在资源受限的设备上也能完成复杂的多模态推理任务。
下表汇总了它的核心特性,帮助你快速了解其技术亮点和应用优势。
| 特性维度 | 具体描述 |
|---|---|
| 模型架构与定位 | 属于Qwen3-VL家族中的4B(40亿)参数密集型模型,是一个轻量级视觉语言模型。相比动辄千亿参数的大模型,它显著降低了部署门槛,旨在为中小企业和边缘设备提供高效解决方案。 |
| 核心技术创新 | 1. 混合推理模式:集成了“快思考”与“慢思考”,能根据问题复杂度自适应调整推理深度。 2. 架构优化:采用MRoPE-Interleave位置编码增强时空建模,引入DeepStack技术融合多层次视觉特征,提升视觉细节理解能力。 3. 高效显存利用:通过动态稀疏激活、FP8量化等黑科技,实现了在仅需8GB显存(最低甚至可压缩至4GB)的环境下运行,解锁了千亿级视觉智能能力。 |
| 关键性能指标 | 1. 多模态理解:在OCRBench、DocVQA等文档理解任务中,性能超越同类轻量级模型Gemini 2.5 Flash Lite和GPT-5 Nano,部分能力可比肩前代72B大模型。 2. 长上下文支持:原生支持256K token的超长上下文,可处理数百页文档或长达数小时的视频内容。 3. 推理与智能体能力:在MathVista等视觉数学推理评测中表现突出,具备优秀的视觉智能体(Visual Agent)能力,可以理解并操作电脑/手机界面、调用工具执行任务。 |
| 应用场景 | 非常适合对成本、功耗和实时性有要求的场景,包括:工业质检、智能客服、文档自动化处理、教育辅助(拍照搜题/解题)、移动端智能应用以及机器人视觉导航等。 |
| 部署与生态 | 1. 部署友好:支持FP8量化,模型体积小。 2. 开源开放:采用Apache 2.0协议开源,开发者可通过Hugging Face等平台免费获取并商用,极大地促进了技术普惠和应用生态的构建。 |
昇腾基于vLLM-Ascend推理框架支持Qwen3-VL,兼容当前vLLM-Ascend框架内主流的分布式并行能力,Qwen3-VL系列模型一经发布即实现低代码无缝使能,欢迎广大开发者下载体验,探索其在复杂推理场景下的卓越能力。
表1 硬件设备
| 设备型号 | NPU配置 |
|---|---|
| Atlas 800I A2 | 8*64G |
| Atlas 800T A2 | 8*64G |
表2 软件版本配套表
| 配套 | 版本 | 环境准备指导 |
|---|---|---|
| Python | 3.11.13 | - |
| torch | 2.7.1+cpu | - |
| torch_npu | 2.7.1 | - |
| transformers | 4.57.1 | - |
| vllm | 0.11.0+empty | - |
| vllm_ascend | 0.11.0rc2 | - |
Atlas 800I/800T A3(8*64G) 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点击下载链接,打开网页后,选择 v0.11.0rc2 版本下载
1、执行以下命令导入镜像
docker load -i v0.11.0rc2.tar2、执行以下命令查看镜像是否导入成功
docker images | grep v0.11.0rc2Qwen3-VL-4B-Thinking 权重及配置文件说明
| 模型 | 权重 |
|---|---|
| Qwen3-VL-4B-Thinking | huggingface下载链接 |
export model_dir="/opt/data/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=256g \
-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/bashdocker exec -it -u root Qwen3-VL bash# 通过如下ASCEND_RT_VISIBLE_DEVICES环境变量指定使用的NPU卡设备
export ASCEND_RT_VISIBLE_DEVICES=5
# 如下/root/models/Qwen/Qwen3-VL-4B-Thinking 为容器内权重文件的路径,qwen3-vl-4b为指定的模型实例名称
nohup vllm serve /root/models/Qwen/Qwen3-VL-4B-Thinking \
--host 0.0.0.0 \
--port 33030 \
--tensor-parallel-size 1 \
--max-num-seqs 4 \
--max-num-batched-tokens 4096 \
--trust-remote-code \
--no-enable-prefix-caching \
--gpu-memory-utilization 0.85 \
--max-model-len 32768 \
--served-model-name qwen3-vl-4b > ./qwen3-vl-4b.log 2>&1 &启动推理等待大约3~5分钟,出现如下日志,服务启动成功

1、登录服务器,修改如下命令中{IP地址:端口号}为推理服务所在的IP:端口,通过curl命令进行调用:
curl http://{IP地址:端口号}/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-vl-4b",
"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?"}
]}
]
}'样例输出

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-4b", # 确保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 image in less than 20 words."}
]
}
],
"max_tokens": 2048,
"temperature": 0
}
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 命令
样例输出
