Qwen 发布 Qwen3.8-27B 稠密多模态模型
Qwen/Qwen3.8-27B
Qwen 发布 Qwen3.8-27B,这是 Qwen3.8 系列中面向部署的 27B 稠密模型,原生支持图像与视频理解,上下文长度 262,144 tokens 并可扩展至 1,000,000。
27B 稠密模型给出原生 262K 上下文与多项智能体基准对比,可据此判断小尺寸模型的部署取舍。
本仓库包含以 HF Mirror Transformers 格式提供的后训练模型的模型权重和配置文件。
这些产物兼容 HF Mirror Transformers、vLLM、SGLang、TokenSpeed 等。
对于希望获得托管式、可扩展推理且无需维护基础设施的用户,官方 Qwen API 服务由 Qwen Cloud 提供。 特别是,Qwen3.8-27B 将提供托管版本,具备更多生产特性,例如默认 1M 上下文长度、官方内置工具。更多信息请参阅 Qwen3.8-27B 概览。该服务即将推出,敬请关注更新。
继 Qwen3.5 和 Qwen3.6 系列获得社区广泛采用之后,我们很高兴推出 Qwen3.8,这是迄今为止 Qwen 开源模型家族中能力最强的一代。
Qwen3.8 基于 Qwen3.5 的架构基础构建,在编码、专业工作、研究和长时程智能体任务方面均带来显著提升。Qwen3.8-27B 将这些进步带入一个紧凑、易于部署的稠密模型:一个原生视觉语言模型,能够理解图像和视频,具备灵活的思考控制,旨在以更高的可靠性将复杂的多步骤任务执行到底。
Qwen3.8 亮点
Qwen3.8-27B 具备以下增强特性:
- 核心能力:在编码、专业工作、研究和长时程智能体任务方面全面提升。
- 智能体执行:更强的自主规划能力,更好地处理环境反馈,从而实现更可靠的端到端任务完成。
- 下游兼容性:更广泛地支持流行的 harness 和开发工具,更易于集成到您现有的技术栈中。
- 灵活思考控制:思考模式默认开启,可按请求禁用;推理深度可通过
reasoning_effort调节,历史消息中的推理上下文可通过preserve_thinking保留。 - 视觉语言理解:原生支持图像和视频理解,从 STEM 图表和文档到小时级视频。
模型概览
- 类型:带视觉编码器的因果语言模型
- 训练阶段:预训练与后训练
- Language Model
- 参数量:27B
- 隐藏维度:5120
- Token 嵌入:248,320(填充)
- 层数:64
- 隐藏布局:16 × (3 × (Gated DeltaNet → FFN) → 1 × (Gated Attention → FFN))
- Gated DeltaNet:
- 线性注意力头数:V 为 48,QK 为 16
- 头维度:128
- Gated Attention:
- 注意力头数:Q 为 24,KV 为 4
- 头维度:256
- 旋转位置嵌入维度:64
- Feed Forward Network:
- 中间维度:17,408
- LM 输出:248,320(填充)
- MTP(多 Token 预测):使用多步训练
- 上下文长度:原生 262,144,可扩展至 1,000,000 个 token。
基准测试结果
文本性能
| Qwen3.8-27B | Qwen3.6-27B | Qwen3.7-Plus | Muse Glimmer-30B | Opus4.6 Max | |
|---|---|---|---|---|---|
| 编码 | |||||
智能体终端编码 Terminal Bench 2.1 (Terminus) |
73.0 | 63.4 | 64.0 | 51.7 | 78.2 |
智能体编码 SWE-bench Pro |
61.7 | 53.5 | 57.6 | 51.2 | 53.4 |
仓库级代码生成 NL2Repo-Bench |
42.3 | 36.2 | 41.1 | -- | 47.6 |
智能体编码 DeepSWE 1.1 |
42.2 | 13.3 | 14.2 | -- | -- |
软件工程 QwenSWEBench |
79.0 | 49.3 | 59.2 | -- | 63.8 |
| 智能体 | |||||
长时程办公工作 CoWorkBench |
70.7 | 61.0 | 65.1 | -- | 68.2 |
专业工作任务 JobBench |
33.4 | 21.8 | 27.6 | -- | -- |
前沿智能体任务 Agents' Last Exam |
Pass@1 20.4 得分 42.9 |
Pass@1 10.6 得分 27.3 |
Pass@1 13.2 得分 33.6 |
-- | -- |
| 通用 | |||||
指令遵循 IFBench |
79.5 | 69.1 | 79.1 | 77.0 | 62.5 |
科学推理 GPQA Diamond |
89.2 | 87.8 | 90.3 | 83.5 | 91.3 |
多学科推理 HLE |
30.8 | 24.0 | 34.7 | 22.0 | 40.0 |
竞赛编程 LiveCodeBench v6 |
90.3 | 83.9 | 89.6 | -- | 88.8 |
- SWE-bench Pro:除 Opus4.6 Max 使用官方报告分数外,所有模型均在 Claude Code harness 下以 temp=1.0、top_p=0.95 和 256K 上下文窗口进行评估。有问题的任务已修正,所有基线模型均在改进后的基准上重新评估。
- NL2Repo-Bench:使用 Claude Code harness 评估。为防止奖励黑客行为,我们禁用了尝试访问特定仓库的 Bash 命令,例如 pip download、pip install 和 git clone。
- DeepSWE 1.1:在 Claude Code harness 下以 temp=1.0、top_p=0.95 和 256K 上下文窗口进行评估。
- QwenSWEBench:用于评估模型软件工程能力的内部编码基准。使用 Claude Code harness 评估。报告 avg@3,超时时间为 8 小时,max_tokens=32,768,temperature=1.0,上下文窗口为 256K。
- CoWorkBench:内部协作基准,用于评估计算机科学、金融、法律、医疗及其他生产力领域的长时程任务。
- HLE:由 GPT-4o 评判。
- 每行最佳结果以粗体显示。
- 空白单元格(--)表示结果尚不可用或不适用。
VL 性能
| Qwen3.8-27B | Qwen3.6-27B | Qwen3.7-Plus | Muse Glimmer-30B | Opus4.6 Max | |
|---|---|---|---|---|---|
| 智能体多模态智能 | |||||
计算机使用 OSWorld-Verified | 84.3 | 63.9 | 73.3 | 65.9 | 72.7 |
浏览器使用 WebArena-Verified | 64.8 | 48.8 | 55.3 | -- | -- |
移动端使用 AndroidWorld | 81.9 | 70.3 | 81.0 | -- | 62.0 |
应用复现 RecreationBench | 47.1 | 29.8 | 30.2 | -- | -- |
多模态工具使用 ClawEval-MM | Pass@3 57.4 平均 56.9 | Pass@3 42.6 平均 50.4 | Pass@3 57.4 平均 60.1 | -- | Pass@3 52.5 平均 54.7 |
多模态软件工程 SWE-MM | 38.6 | 25.7 | 30.0 | -- | 27.1 |
可视化网页开发 Vision2Web | 62.9 | 45.0 | 42.1 | -- | -- |
| 通用多模态智能 | |||||
视觉数学问题求解 MathVision | 无 CI 90.0 有 CI 94.6 | 无 CI 85.1 | 无 CI 90.3 | -- | 无 CI 65.5 |
通用视觉推理 BabyVision | 无 CI 65.7 有 CI 85.6 | 无 CI 28.9 | 无 CI 64.7 有 CI 70.4 | -- | 无 CI 12.6 |
科学图表分析 CharXiv (RQ) | 无 CI 83.7 有 CI 90.2 | 无 CI 78.4 | 无 CI 85.8 有 CI 85.9 | 78.8 | 无 CI 66.0 |
文档智能 OmniDocBench 1.5 | 91.1 | 89.4 | 91.4 | 75.8 | 86.6 |
真实世界感知 RealWorldQA | 85.9 | 84.1 | 86.9 | -- | 73.9 |
具身智能 ERQA | 65.5 | 62.5 | 69.8 | -- | 40.8 |
- MathVision、BabyVision 和 CharXiv (RQ):在两种设置均可用时,单元格分别报告“无 CI”和“有 CI”;否则仅显示可用的设置。MathVision 和 CharXiv (RQ) 中少量错误的真实标注已在人工验证后修正,这些基准上报告的所有分数均使用修正后的标注计算。
- MathVision:Qwen3.8-27B 使用固定提示进行评估:“Please reason step by step, and put your final answer within
\boxed{}.” 对于其余模型,我们报告两种提示变体中较高的分数——一种带有\boxed{}格式要求,一种不带。 - WebArena-Verified:分数由官方 WebArena-Verified 评分器在 OSWorld 脚手架下计算。
- RecreationBench:内部长时程应用复现基准,旨在评估跨五个平台的混合智能体能力:桌面(Ubuntu、macOS 和 Windows)、移动端(Android)和 Web。
- ClawEval-MM:分数报告为“Pass@3 / 平均分”。Pass@3 是在三次试验中至少一次通过的任务百分比;平均分是三次试验的基准分数均值。
- Vision2Web:分数为前端、网页和网站类别的平均值。评估使用 Claude Code harness,并由
gpt-5.4-2026-03-05评判。 - SWE-MM:分数在 Claude Code harness 上使用 SWE-bench Multimodal 的公开 dev 划分进行评估,并采用了 Claude Opus 4.7 系统卡附录 8.3 中描述的修改。
- 空单元格(--)表示结果尚不可用或不适用。
快速开始
为简化集成,我们建议通过 API 使用 Qwen3.8。
部署 Qwen3.8
不同框架之间的推理效率和吞吐量差异显著。 我们建议使用最新的框架版本,以确保最佳性能和兼容性。 对于生产工作负载或高吞吐量场景,建议使用专用的服务引擎,如 SGLang、vLLM 或 TokenSpeed。
Qwen3.8 可借助主流推理框架进行部署,例如:
API 使用
Qwen3.8 模型默认以思考模式运行,在生成最终回复之前会生成以
<think>\n...</think>\n\n标示的思考内容。 如需禁用思考内容并获取直接回复,请参阅此处的示例。
我们建议在生成时使用以下采样参数组合:
- 思考模式:
temperature=1.0、top_p=0.95、top_k=20、min_p=0.0、presence_penalty=0.0、repetition_penalty=1.0- 指令(或非思考)模式:
temperature=0.7、top_p=0.80、top_k=20、min_p=0.0、presence_penalty=1.5、repetition_penalty=1.0请注意,对采样参数的支持因推理框架而异。
Qwen3.8 官方支持 reasoning_effort,可用于调整推理深度并控制成本:
xhigh(默认):适用于需要全面分析的复杂任务medium:兼顾准确性与速度low:高效推理,优化速度与成本
此外,所有工作负载默认启用 preserve_thinking,以获得最佳开箱即用体验。如需禁用保留思考,请参阅此处的示例。
在多轮智能体任务中,降低推理强度并不总能缩短整体任务完成时间。虽然它可能使每轮响应更快,但也可能导致分析不充分、失败增多和反复重试,从而可能增加总延迟和 token 消耗。
Chat Completions API
Chat Completions API 可与大多数推理框架以及 Qwen Cloud 配合使用。 开始之前,请确保已安装 OpenAI Python SDK,并已配置 API key 和 API base URL,例如:
pip install -U openai
# Set the following accordingly
export OPENAI_BASE_URL='your-base-url'
export OPENAI_API_KEY='your-api-key'
纯文本输入
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [{"role": "user", "content": "Write a Python function to merge two sorted linked lists."}]
completion = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
extra_body={
"chat_template_kwargs": {
"enable_thinking": True, # on by default
"preserve_thinking": True, # on by default
},
},
reasoning_effort="xhigh", # xhigh by default; supported levels are xhigh, medium, and low
stream=True,
stream_options={"include_usage": True},
)
reasoning_content = ""
answer_content = ""
is_answering = False
print("\n" + "=" * 20 + "Reasoning" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
print("\nUsage:")
print(chunk.usage)
continue
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
elif hasattr(delta, "reasoning") and delta.reasoning is not None:
if not is_answering:
print(delta.reasoning, end="", flush=True)
reasoning_content += delta.reasoning
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Answer" + "=" * 20 + "\n")
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content
messages.append({
"role": "assistant",
"content": answer_content,
"reasoning_content": reasoning_content,
"reasoning": reasoning_content,
})
图像输入
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/CI_Demo/mathv-1327.jpg"
}
},
{
"type": "text",
"text": "The centres of the four illustrated circles are in the corners of the square. The two big circles touch each other and also the two little circles. With which factor do you have to multiply the radii of the little circles to obtain the radius of the big circles?\nChoices:\n(A) $\\frac{2}{9}$\n(B) $\\sqrt{5}$\n(C) $0.8 \\cdot \\pi$\n(D) 2.5\n(E) $1+\\sqrt{2}$"
}
]
}
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
)
print("Chat response:", chat_response)
视频输入
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "video_url",
"video_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/video/N1cdUjctpG8.mp4"
}
},
{
"type": "text",
"text": "How many porcelain jars were discovered in the niches located in the primary chamber of the tomb?"
}
]
}
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
)
# When vLLM is launched with `--media-io-kwargs '{"video": {"num_frames": -1}}'`,
# video frame sampling can be configured via `extra_body` (e.g., by setting `fps`).
# This feature is currently supported only in vLLM.
#
# By default, `fps=2` and `do_sample_frames=True`.
# With `do_sample_frames=True`, you can customize the `fps` value to set your desired video sampling rate.
# chat_response = client.chat.completions.create(
# model="Qwen/Qwen3.8-27B",
# messages=messages,
# extra_body={
# "mm_processor_kwargs": {"fps": 2, "do_sample_frames": True},
# },
# )
print("Chat response:", chat_response)
指令(或非思考)模式
Qwen3.8-27B 在回复前默认会进行思考。 你可以通过配置 API 参数,让模型在不思考的情况下直接给出回复。 例如,
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/RealWorld/RealWorld-04.png"
}
},
{
"type": "text",
"text": "Where is this?"
}
]
}
]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
temperature=0.7,
top_p=0.8,
presence_penalty=1.5,
extra_body={
"top_k": 20,
"chat_template_kwargs": {"enable_thinking": False},
},
)
print("Chat response:", chat_response)
如果你使用的是 Qwen Cloud 的 API,除了更改
model之外,请使用"enable_thinking": False而非"chat_template_kwargs": {"enable_thinking": False}。
禁用保留思考
默认情况下,Qwen3.8 会保留所有历史消息中的思考块,从而在整个对话中维持完整的推理轨迹。这种行为称为保留思考,可确保完整的上下文连续性,尤其适用于对决策一致性和减少冗余推理有较高要求的智能体场景。它还能提高 KV 缓存利用率,在思考模式和非思考模式下均优化推理效率。
如果你希望仅保留最新一条用户消息中的思考块,可以通过将 preserve_thinking 设置为 False 来禁用此行为:
from openai import OpenAI
# Configured by environment variables
client = OpenAI()
messages = [...]
chat_response = client.chat.completions.create(
model="Qwen/Qwen3.8-27B",
messages=messages,
extra_body={
"chat_template_kwargs": {"preserve_thinking": False},
},
)
print("Chat response:", chat_response)
如果你使用的是 Qwen Cloud 的 API,除了更改
model之外,请直接使用"preserve_thinking": False,而不要将其包裹在chat_template_kwargs中。
最佳实践
为达到最佳性能,我们建议采用以下设置:
采样参数:我们建议使用以下采样参数组合:
- 思考模式:
temperature=1.0、top_p=0.95、top_k=20、min_p=0.0、presence_penalty=0.0、repetition_penalty=1.0 - 指令(或非思考)模式:
temperature=0.7、top_p=0.80、top_k=20、min_p=0.0、presence_penalty=1.5、repetition_penalty=1.0
对于受支持的框架,你可以在 0 到 2 之间调整
presence_penalty参数以减少无休止的重复。不过,使用较高的值有时可能导致语言混杂,并使模型性能略有下降。- 思考模式:
充足的输出长度:为优化智能体任务上的性能,我们建议分配足够的输出长度,以便模型生成详细而全面的回复。对于支持为内部推理和最终输出分别设置 token 上限的框架,我们建议在 1M 上下文长度内采用以下配置:
- 推理内容:将最大输出长度设为 262,144 个 token。
- 最终回复:将最大输出长度设为 131,072 个 token。
这些设置既为复杂推理提供了必要容量,又确保为高质量的最终交付成果留出充足空间。
处理超长文本:Qwen3.8-27B 原生支持最长 262,144 个 token 的上下文长度。对于总长度(包括输入和输出)超过此限制的长程任务,我们建议使用 RoPE 缩放技术来有效处理长文本,例如 YaRN。
YaRN 目前受到多个推理框架支持,例如 vLLM、SGLang 和 TokenSpeed。 一般来说,在受支持的框架中启用 YaRN 有两种方式:
修改模型配置文件:
在
config.json文件中,将text_config中的rope_parameters字段改为:{ "mrope_interleaved": true, "mrope_section": [ 11, 11, 10 ], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144, }通过命令行参数传入:
对于 vLLM,你可以使用
VLLM_ALLOW_LONG_MAX_MODEL_LEN=1 vllm serve ... --hf-overrides '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --max-model-len 1000000对于 SGLang,你可以使用
SGLANG_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 python -m sglang.launch_server ... --json-model-override-args '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --context-length 1000000对于 TokenSpeed,你可以使用
TOKENSPEED_ALLOW_OVERWRITE_LONGER_CONTEXT_LEN=1 tokenspeed serve ... --hf-overrides '{"text_config": {"rope_parameters": {"mrope_interleaved": true, "mrope_section": [11, 11, 10], "rope_type": "yarn", "rope_theta": 10000000, "partial_rotary_factor": 0.25, "factor": 4.0, "original_max_position_embeddings": 262144}}}' --max-model-len 1000000
所有知名的开源框架实现的都是静态 YaRN,这意味着缩放因子不随输入长度变化,可能影响较短文本上的性能。 我们建议仅在需要处理长上下文时才修改
rope_parameters配置。 同时建议按需修改factor。例如,如果你的应用典型上下文长度为 524,288 个 token,最好将factor设为 2.0。长视频理解:为优化纯文本和图像的推理效率,已发布的
video_preprocessor_config.json中的size参数采用了保守配置。建议将 video_preprocessor_config 文件中的longest_edge参数设为 469,762,048(对应 224k 视频 token),以便对小时级视频启用更高帧率采样,从而获得更优性能。例如,{"longest_edge": 469762048, "shortest_edge": 4096}
引用
如果你觉得我们的工作有帮助,欢迎引用。
@misc{qwen38,
title = {{Qwen3.8-Max}: A New Bar for Coding and Cowork},
url = {https://qwen.ai/blog?id=qwen3.8},
author = {{Qwen Team}},
month = {August},
year = {2026}
}
- 上月下载量
- 8,037,597
Safetensors
Qwen/Qwen3.8-27B 的模型树
使用 Qwen/Qwen3.8-27B 的 Spaces 100
包含 Qwen/Qwen3.8-27B 的合集
来源:Qwen 模型发布 · hf-mirror.com