过去三个月,我们持续扩展了Qwen3-30B-A3B的思维能力,显著提升了推理的质量与深度。现隆重推出Qwen3-30B-A3B-Thinking-2507版本,主要增强包括:
注意:本版本思维长度有所增加,强烈推荐用于高复杂度推理场景。

Qwen3-30B-A3B-Thinking-2507 具备以下特性:
注:本模型仅支持思维模式运行,且无需再指定enable_thinking=True参数
特别说明:为强制启用思维模式,默认对话模板已自动包含<think>标签。因此当模型输出仅显示闭合标签</think>而未见起始标签时,此属正常现象。
更多技术细节(包括基准测试、硬件需求及推理性能)请参阅我们的博客、GitHub及技术文档。
| Gemini2.5-Flash-Thinking | Qwen3-235B-A22B Thinking | Qwen3-30B-A3B Thinking | Qwen3-30B-A3B-Thinking-2507 | |
|---|---|---|---|---|
| 知识能力 | ||||
| MMLU-Pro | 81.9 | 82.8 | 78.5 | 80.9 |
| MMLU-Redux | 92.1 | 92.7 | 89.5 | 91.4 |
| GPQA | 82.8 | 71.1 | 65.8 | 73.4 |
| SuperGPQA | 57.8 | 60.7 | 51.8 | 56.8 |
| 推理能力 | ||||
| AIME25 | 72.0 | 81.5 | 70.9 | 85.0 |
| HMMT25 | 64.2 | 62.5 | 49.8 | 71.4 |
| LiveBench 20241125 | 74.3 | 77.1 | 74.3 | 76.8 |
| 编程能力 | ||||
| LiveCodeBench v6 (25.02-25.05) | 61.2 | 55.7 | 57.4 | 66.0 |
| CFEval | 1995 | 2056 | 1940 | 2044 |
| OJBench | 23.5 | 25.6 | 20.7 | 25.1 |
| 对齐能力 | ||||
| IFEval | 89.8 | 83.4 | 86.5 | 88.9 |
| Arena-Hard v2$ | 56.7 | 61.5 | 36.3 | 56.0 |
| Creative Writing v3 | 85.0 | 84.6 | 79.1 | 84.4 |
| WritingBench | 83.9 | 80.3 | 77.0 | 85.0 |
| 智能体能力 | ||||
| BFCL-v3 | 68.6 | 70.8 | 69.1 | 72.4 |
| TAU1-Retail | 65.2 | 54.8 | 61.7 | 67.8 |
| TAU1-Airline | 54.0 | 26.0 | 32.0 | 48.0 |
| TAU2-Retail | 66.7 | 40.4 | 34.2 | 58.8 |
| TAU2-Airline | 52.0 | 30.0 | 36.0 | 58.0 |
| TAU2-Telecom | 31.6 | 21.9 | 22.8 | 26.3 |
| 多语言能力 | ||||
| MultiIF | 74.4 | 71.9 | 72.2 | 76.4 |
| MMLU-ProX | 80.2 | 80.0 | 73.1 | 76.4 |
| INCLUDE | 83.9 | 78.7 | 71.9 | 74.4 |
| PolyMATH | 49.8 | 54.7 | 46.1 | 52.6 |
$ 为确保结果可复现,本表采用GPT-4.1评估的胜率数据。
& 对于高难度任务(包括PolyMATH及所有推理和编程任务),我们设置输出长度为81,920 tokens。其他任务统一采用32,768 tokens的输出长度。
Qwen3-MoE的代码已集成至最新版Hugging Face transformers库,建议您使用最新版本的transformers。
若使用transformers<4.51.0版本,将会遇到以下报错:
KeyError: 'qwen3_moe'以下包含一段代码示例,演示如何基于给定输入使用模型生成内容。
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen3-30B-A3B-Thinking-2507"
# load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
# prepare the model input
prompt = "Give me a short introduction to large language model."
messages = [
{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
# conduct text completion
generated_ids = model.generate(
**model_inputs,
max_new_tokens=32768
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
# parsing thinking content
try:
# rindex finding 151668 (</think>)
index = len(output_ids) - output_ids[::-1].index(151668)
except ValueError:
index = 0
thinking_content = tokenizer.decode(output_ids[:index], skip_special_tokens=True).strip("\n")
content = tokenizer.decode(output_ids[index:], skip_special_tokens=True).strip("\n")
print("thinking content:", thinking_content) # no opening <think> tag
print("content:", content)
部署时,您可以使用sglang>=0.4.6.post1或vllm>=0.8.5来创建兼容OpenAI的API端点:
python -m sglang.launch_server --model-path Qwen/Qwen3-30B-A3B-Thinking-2507 --context-length 262144 --reasoning-parser deepseek-r1vllm serve Qwen/Qwen3-30B-A3B-Thinking-2507 --max-model-len 262144 --enable-reasoning --reasoning-parser deepseek_r1注意:若遇到内存不足(OOM)问题,可尝试调低上下文长度参数。但由于模型推理可能需要更长的token序列,我们强烈建议尽可能保持上下文长度大于131,072。
本地运行时,Ollama、LMStudio、MLX-LM、llama.cpp和KTransformers等应用也已支持Qwen3模型。
Qwen3在工具调用方面表现卓越。我们推荐使用Qwen-Agent来充分发挥其智能体能力。Qwen-Agent内置了工具调用模板和解析器,可大幅降低编码复杂度。
您可以通过MCP配置文件定义可用工具,使用Qwen-Agent的集成工具,或自行集成其他工具。
from qwen_agent.agents import Assistant
# Define LLM
# Using Alibaba Cloud Model Studio
llm_cfg = {
'model': 'qwen3-30b-a3b-thinking-2507',
'model_type': 'qwen_dashscope',
}
# Using OpenAI-compatible API endpoint. It is recommended to disable the reasoning and the tool call parsing
# functionality of the deployment frameworks and let Qwen-Agent automate the related operations. For example,
# `VLLM_USE_MODELSCOPE=true vllm serve Qwen/Qwen3-30B-A3B-Thinking-2507 --served-model-name Qwen3-30B-A3B-Thinking-2507 --tensor-parallel-size 8 --max-model-len 262144`.
#
# llm_cfg = {
# 'model': 'Qwen3-30B-A3B-Thinking-2507',
#
# # Use a custom endpoint compatible with OpenAI API:
# 'model_server': 'http://localhost:8000/v1', # api_base without reasoning and tool call parsing
# 'api_key': 'EMPTY',
# 'generate_cfg': {
# 'thought_in_content': True,
# },
# }
# Define Tools
tools = [
{'mcpServers': { # You can specify the MCP configuration file
'time': {
'command': 'uvx',
'args': ['mcp-server-time', '--local-timezone=Asia/Shanghai']
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
},
'code_interpreter', # Built-in tools
]
# Define Agent
bot = Assistant(llm=llm_cfg, function_list=tools)
# Streaming generation
messages = [{'role': 'user', 'content': 'https://qwenlm.github.io/blog/ Introduce the latest developments of Qwen'}]
for responses in bot.run(messages=messages):
pass
print(responses)为支持超长上下文处理(最高达100万token),我们整合了两项核心技术:
这些创新技术协同工作,在超过256K token的序列上同时提升了生成质量与推理效率。在处理接近100万token的序列时,系统相比标准注意力实现可获得最高3倍加速。
完整技术细节请参阅Qwen2.5-1M技术报告。
[!注意]
要有效处理100万token上下文,用户需准备约240GB显存总量,涵盖模型参数、KV缓存存储及峰值激活内存需求。
下载模型后,将config.json内容替换为config_1m.json,该文件已包含长度外推与稀疏注意力的相关配置。
export MODELNAME=Qwen3-30B-A3B-Thinking-2507
huggingface-cli download Qwen/${MODELNAME} --local-dir ${MODELNAME}
mv ${MODELNAME}/config.json ${MODELNAME}/config.json.bak
mv ${MODELNAME}/config_1m.json ${MODELNAME}/config.json完成配置更新后,选择通过 vLLM 或 SGLang 部署模型服务。
运行支持100万上下文长度的Qwen模型:
pip install -U vllm \
--torch-backend=auto \
--extra-index-url https://wheels.vllm.ai/nightly随后启用双分块闪存注意力机制启动服务器:
VLLM_ATTENTION_BACKEND=DUAL_CHUNK_FLASH_ATTN VLLM_USE_V1=0 \
vllm serve ./Qwen3-30B-A3B-Thinking-2507 \
--tensor-parallel-size 4 \
--max-model-len 1010000 \
--enable-chunked-prefill \
--max-num-batched-tokens 131072 \
--enforce-eager \
--max-num-seqs 1 \
--gpu-memory-utilization 0.85 \
--enable-reasoning --reasoning-parser deepseek_r1| 参数 | 用途 |
|---|---|
VLLM_ATTENTION_BACKEND=DUAL_CHUNK_FLASH_ATTN | 启用定制注意力核以实现长上下文高效处理 |
--max-model-len 1010000 | 设置最大上下文长度约100万token |
--enable-chunked-prefill | 支持超长输入的块状预填充(避免内存溢出) |
--max-num-batched-tokens 131072 | 控制预填充阶段的批处理大小,平衡吞吐量与内存占用 |
--enforce-eager | 禁用CUDA图捕获(双块注意力机制必需) |
--max-num-seqs 1 | 因极端内存消耗限制并发序列数 |
--gpu-memory-utilization 0.85 | 设置模型执行器可用的GPU内存占比 |
首先克隆并安装专用分支:
git clone https://github.com/sgl-project/sglang.git
cd sglang
pip install -e "python[all]"启动支持DCA的服务器:
python3 -m sglang.launch_server \
--model-path ./Qwen3-30B-A3B-Thinking-2507 \
--context-length 1010000 \
--mem-frac 0.75 \
--attention-backend dual_chunk_flash_attn \
--tp 4 \
--chunked-prefill-size 131072 \
--reasoning-parser deepseek-r1| 参数 | 作用 |
|---|---|
--attention-backend dual_chunk_flash_attn | 启用双分块闪存注意力机制 |
--context-length 1010000 | 定义最大输入长度 |
--mem-frac 0.75 | 用于静态分配的内存比例(模型权重和KV缓存内存池)。若出现内存不足错误,可适当调小该值 |
--tp 4 | 张量并行度(需与模型分片配置匹配) |
--chunked-prefill-size 131072 | 长序列预填充分块大小,避免内存溢出 |
出现错误:"模型最大序列长度(xxxxx)超过KV缓存可存储的最大token数" 或 "RuntimeError: 内存不足,请尝试增加--mem-fraction-static参数"
KV缓存预留显存不足:
max_model_len或增加tensor_parallel_size与gpu_memory_utilization。也可减少max_num_batched_tokens,但会显著降低推理速度context-length或增加tp与mem-frac。也可减少chunked-prefill-size,但会显著降低推理速度出现错误:"torch.OutOfMemoryError: CUDA显存不足"
激活权重预留显存不足。可尝试降低gpu_memory_utilization或mem-frac,但需注意这会减少KV缓存可用显存
出现错误:"输入提示(xxxxx tokens) + 前瞻槽位(0)过长,超出块管理器容量" 或 "输入长度(xxx tokens)超过模型上下文长度(xxx tokens)"
输入序列过长。建议缩短输入或增加max_model_len/context-length
我们在RULER基准测试的1M版本上进行评估:
| 模型名称 | 平均准确率 | 4k | 8k | 16k | 32k | 64k | 96k | 128k | 192k | 256k | 384k | 512k | 640k | 768k | 896k | 1000k |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Qwen3-30B-A3B (Thinking) | 70.6 | 96.7 | 94.4 | 94.5 | 93.4 | 82.6 | 78.4 | 74.5 | 70.6 | 63.1 | 60.0 | 56.3 | 51.0 | 48.4 | 47.2 | 48.2 |
| Qwen3-30B-A3B-Thinking-2507 (全注意力) | 91.4 | 99.6 | 100.0 | 99.8 | 99.2 | 97.4 | 96.8 | 96.8 | 94.8 | 89.4 | 90.2 | 84.0 | 82.6 | 81.9 | 80.1 | 77.5 |
| Qwen3-30B-A3B-Thinking-2507 (稀疏注意力) | 91.5 | 100.0 | 99.2 | 99.1 | 98.5 | 97.3 | 97.1 | 96.9 | 95.8 | 89.0 | 89.3 | 85.5 | 84.8 | 80.0 | 79.9 | 79.6 |
为获得最佳性能,我们推荐以下配置方案:
采样参数设置:
Temperature=0.6、TopP=0.95、TopK=20及MinP=0组合presence_penalty参数值设为0到2之间以减少无限循环现象。但需注意,过高数值可能导致偶发性的语言混杂现象及模型性能轻微下降合理输出长度:
标准化输出格式: 建议通过提示词规范模型输出格式:
answer字段中仅显示选项字母,例如"answer": "C""历史记录处理规范: 在多轮对话中,历史模型输出应仅保留最终应答部分,无需包含思考过程。该规范已在提供的Jinja2聊天模板中实现。对于未直接使用该模板的框架,需开发者自行确保遵循此最佳实践
如认为我们的工作对您有所帮助,欢迎引用我们的成果
@misc{qwen3technicalreport,
title={Qwen3 Technical Report},
author={Qwen Team},
year={2025},
eprint={2505.09388},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2505.09388},
}