梳理 Qwen3-VL 的发布脉络与工程要点:235B-A22B 的 Instruct 与 Thinking 版本、模型架构与在线服务形态,以及 FP8 量化对 H100 及以上显卡与 CUDA 版本的要求。
更新日志
- 2025.09.23:发布了Qwen3-VL-235B-A22B-Instruct 和 Qwen3-VL-235B-A22B-Thinking;
- 2025.03.25:发布了Qwen2.5-VL-32B,响应也更贴近人类的偏好;
- 2025.02.20:发布了Qwen2.5-VL 技术报告,还发布了 Qwen2.5-VL 的量化模型;
- 2025.01.28:发布了Qwen2.5-VL 系列;
- 2024.12.25:发布了QvQ-72B-Preview 模型,专注于增强视觉推理能力;
- 2024.09.19:发布了Qwen2-VL-72B 模型,及其量化版本;
- 2024.08.30:发布了Qwen2-VL 系列,2B 和 7B 均已发布;
模型架构

- Interleaved-MRoPE:通过稳健的位置嵌入实现时间、宽度和高度的全频率分配,增强长视界视频推理。
- DeepStack:融合多级 ViT 功能来捕捉细粒度的细节并锐化图像与文本的对齐。
- 文本时间戳对齐:超越 T-RoPE,实现基于时间戳的精确事件定位,从而实现更强大的视频时间建模。
在线服务
vLLM 服务器
1
2
3
4
5
6
7
8
9
10
11
12
13FP8 requires NVIDIA H100+ and CUDA 12+
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen3-VL-235B-A22B-Instruct\
--served-model-name Qwen/Qwen3-VL-235B-A22B-Instruct \
--tensor-parallel-size 8 \
--mm-encoder-tp-mode data \
--enable-expert-parallel \
--host 0.0.0.0 \
--port 22002 \
--dtype bfloat16 \
--gpu-memory-utilization 0.70 \
--quantization fp8 \
--distributed-executor-backend mpSGLang 服务器:
1
2
3
4
5
6
7python -m sglang.launch_server \
--model-path Qwen/Qwen3-VL-235B-A22B-Instruct\
--host 0.0.0.0 \
--port 22002 \
--tp 8 \
--max-num-batched-tokens 8192 \
--max-num-seqs 256图像请求示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35import time
from openai import OpenAI
client = OpenAI(
api_key="EMPTY",
base_url="http://127.0.0.1:22002/v1",
timeout=3600
)
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://ofasys-multimodal-wlcb-3-toshanghai.oss-accelerate.aliyuncs.com/wpf272043/keepme/image/receipt.png"
}
},
{
"type": "text",
"text": "Read all the text in the image."
}
]
}
]
start = time.time()
response = client.chat.completions.create(
model="Qwen/Qwen3-VL-235B-A22B-Instruct",
messages=messages,
max_tokens=2048
)
print(f"Response costs: {time.time() - start:.2f}s")
print(f"Generated text: {response.choices[0].message.content}")视频请求示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36import time
from openai import OpenAI
client = OpenAI(
api_key="EMPTY",
base_url="http://127.0.0.1:22002/v1",
timeout=3600
)
messages = [
{
"role": "user",
"content": [
{
"type": "video_url",
"video_url": {
"url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2-VL/space_woaudio.mp4"
}
},
{
"type": "text",
"text": "How long is this video?"
}
]
}
]
start = time.time()
response = client.chat.completions.create(
model="Qwen/Qwen3-VL-235B-A22B-Instruct",
messages=messages,
max_tokens=2048
)
print(f"Response costs: {time.time() - start:.2f}s")
print(f"Generated text: {response.choices[0].message.content}")

