
阿里Qwen3一夜封神!开源模型跑出3倍推理速度,OpenAI沉默 原创
2025年4月29日凌晨,阿里巴巴正式开源了其新一代通义千问大模型Qwen3系列,这一发布不仅登顶全球开源模型性能榜首,更以创新的"混合推理"架构重新定义了大型语言模型的效率边界。作为国内首个集成"快思考"与"慢思考"能力的开源模型,Qwen3在性能全面超越DeepSeek-R1、OpenAI-o1等顶尖模型的同时,将部署成本降低至竞品的1/3。
阿里巴巴还公开了两个 MoE 模型的权重:Qwen3-235B-A22B 和 Qwen3-30B-A3B。前者是一个具有 2350 亿总参数和 2200 亿激活参数的大型模型,后者则是一个拥有大约 300 亿总参数和 30 亿激活参数的更小型的 MoE 模型。此外,阿里还发布了六个 Dense 模型,包括 Qwen3-32B、Qwen3-14B、Qwen3-8B、Qwen3-4B、Qwen3-1.7B 和 Qwen3-0.6B,这些都在 Apache 2.0 许可协议下进行了开源。
Models | Layers | Heads(Q / KV) | Tie Embedding | Context Length |
Qwen3-0.6B | 28 | 16 / 8 | Yes | 32K |
Qwen3-1.7B | 28 | 16 / 8 | Yes | 32K |
Qwen3-4B | 36 | 32 / 8 | Yes | 32K |
Qwen3-8B | 36 | 32 / 8 | No | 128K |
Qwen3-14B | 40 | 40 / 8 | No | 128K |
Qwen3-32B | 64 | 64 / 8 | No | 128K |
混合推理
Qwen3最引人注目的技术创新在于其混合推理模型设计,这一架构首次将传统LLM能力与动态推理能力无缝集成于同一模型中。具体而言:
- 思考模式(慢思考):针对复杂数学、编程和逻辑推理任务,模型会执行多步骤的中间推理过程,如问题分解、逐步推导和答案验证,消耗更多计算资源但提供更深思熟虑的答案。
- 非思考模式(快思考):对于简单查询和通用对话,模型绕过复杂推理路径直接生成响应,实现近乎即时的回答速度。
这种双模式设计并非简单的模型切换,而是通过动态计算图谱技术实现算力的智能分配。研发团队在强化学习框架中引入创新机制,使模型能够根据上下文自动调整激活参数比例,在S1阶段使用超过30万亿token进行基础训练,S2阶段增加5万亿知识密集型数据,最终在S3阶段扩展到32K上下文处理能力。测试显示,该技术使复杂数学问题解决速度提升3倍,代码生成精准度达到98.7%的行业新高。
从工程角度看,混合推理的训练挑战远超传统模型——模型需要同时学习两种不同的输出分布,且保证模式切换不影响各自性能。Qwen3团队通过四阶段后训练流程攻克了这一难题:
- 长思维链冷启动构建基础推理能力
- 基于规则的强化学习增强探索能力
- 思维模式融合实现双模式无缝切换
- 通用强化学习优化20多个领域的任务表现
在两种模式间切换可以通过简洁的指示或设定文件实现:
- 激活反思模式:默认情况下,Qwen3 的 "enable_thinking=True" 选项已启动其反思能力。在该模式下,模型会在回答生成之前进行深度思考,并将思考步骤封装在 "..." 块中。
- 关闭反思模式:如果你想要关闭反思功能,可以设置 "enable_thinking=False" 以使 Qwen3 的功能匹配 Qwen2.5-Instruct。此模式适用于需要迅速响应的情景。
- 灵活切换选项:Qwen3 允许动态地切换反思模式,你可以用 "/think" 启动深度推导,或用 "/no_think" 来快速关闭。模型会根据最新的指令调整自己的行为,从而有效地应对各种需求。比如"how to go beijing? /no_think" 和 "how to go beijing? /think"
多语言支持
Qwen3 支持119 种语言和方言,可以为全球用户提供服务:
语系 | 语种&方言 |
印欧语系 | 英语、法语、葡萄牙语、德语、罗马尼亚语、瑞典语、丹麦语、保加利亚语、俄语、捷克语、希腊语、乌克兰语、西班牙语、荷兰语、斯洛伐克语、克罗地亚语、波兰语、立陶宛语、挪威语(博克马尔语)、挪威尼诺斯克语、波斯语、斯洛文尼亚语、古吉拉特语、拉脱维亚语、意大利语、奥克语、尼泊尔语、马拉地语、白俄罗斯语、塞尔维亚语、卢森堡语、威尼斯语、阿萨姆语、威尔士语、西里西亚语、阿斯图里亚语、恰蒂斯加尔语、阿瓦德语、迈蒂利语、博杰普尔语、信德语、爱尔兰语、法罗语、印地语、旁遮普语、孟加拉语、奥里雅语、塔吉克语、东意第绪语、伦巴第语、利古里亚语、西西里语、弗留利语、撒丁岛语、加利西亚语、加泰罗尼亚语、冰岛语、托斯克语、阿尔巴尼亚语、林堡语、罗马尼亚语、达里语、南非荷兰语、马其顿语僧伽罗语、乌尔都语、马加希语、波斯尼亚语、亚美尼亚语上下滑动查看更多 |
汉藏语系 | 中文(简体中文、繁体中文、粤语)、缅甸语 |
亚非语系 | 阿拉伯语(标准语、内志语、黎凡特语、埃及语、摩洛哥语、美索不达米亚语、塔伊兹-阿德尼语、突尼斯语)、希伯来语、马耳他语 |
南岛语系 | 印度尼西亚语、马来语、他加禄语、宿务语、爪哇语、巽他语、米南加保语、巴厘岛语、班加语、邦阿西楠语、伊洛科语、瓦雷语(菲律宾) |
德拉威语 | 泰米尔语、泰卢固语、卡纳达语、马拉雅拉姆语 |
突厥语系 | 土耳其语、北阿塞拜疆语、北乌兹别克语、哈萨克语、巴什基尔语、鞑靼语 |
壮侗语系 | 泰语、老挝语 |
乌拉尔语系 | 芬兰语、爱沙尼亚语、匈牙利语 |
南亚语系 | 越南语、高棉语 |
其他 | 日语、韩语、格鲁吉亚语、巴斯克语、海地语、帕皮阿门托语、卡布维尔迪亚努语、托克皮辛语、斯瓦希里语 |
Agent
在智能体(Agent)能力方面,Qwen3原生支持MCP(Model Context Protocol)协议,在BFCL评测中以70.8分超越Gemini2.5-Pro17。其创新之处在于:
- 工具调用抽象层:将API调用转化为自然语言指令
- 动态工作记忆:跨会话维持任务状态
- 安全沙箱:隔离不可信工具执行
开发者可通过Qwen-Agent框架快速构建应用,实测显示,基于Qwen3开发的客服Agent在工单解决率上比传统方案提升27%,同时减少45%的人工干预。
要定义可用的工具,您可以使用 MCP 配置文件,使用 Qwen-Agent 内置的工具,或者自行集成其他工具。
import os
from typing import Dict, List, Optional
from qwen_agent.agents import Assistant
from qwen_agent.tools import BaseTool
class Qwen3Agent:
"""优化后的Qwen3智能体封装类"""
def __init__(
self,
model_name: str = 'Qwen3-30B-A3B',
endpoint_type: str = 'local', # 'dashscope' or 'local'
custom_endpoint: Optional[str] = None,
enable_tools: bool = True
):
"""
初始化Qwen3智能体
:param model_name: 模型名称
:param endpoint_type: 服务端点类型 ('dashscope' 或 'local')
:param custom_endpoint: 自定义OpenAI兼容端点URL
:param enable_tools: 是否启用工具功能
"""
self.llm_cfg = self._init_llm_config(model_name, endpoint_type, custom_endpoint)
self.tools = self._init_tools() if enable_tools else []
self.agent = Assistant(llm=self.llm_cfg, function_list=self.tools)
def _init_llm_config(
self,
model_name: str,
endpoint_type: str,
custom_endpoint: Optional[str]
) -> Dict:
"""初始化LLM配置"""
config = {
'model': model_name,
'generate_cfg': {
'thought_in_content': False, # 推荐分离思维链和响应内容
'max_tokens': 2048,
'temperature': 0.7
}
}
if endpoint_type == 'dashscope':
config.update({
'model_type': 'qwen_dashscope',
'api_key': os.getenv('DASHSCOPE_API_KEY')
})
else:
config.update({
'model_server': custom_endpoint or'http://localhost:8000/v1',
'api_key': 'EMPTY'
})
return config
def _init_tools(self) -> List[BaseTool]:
"""初始化工具配置"""
return [
{
'mcpServers': {
'time': {
'command': 'uvx',
'args': ['mcp-server-time', '--local-timeznotallow=Asia/Shanghai']
},
"fetch": {
"command": "uvx",
"args": ["mcp-server-fetch"]
}
}
},
'code_interpreter', # 内置代码解释器
'web_search', # 新增网络搜索工具
]
def stream_response(
self,
messages: List[Dict],
timeout: int = 30
) -> Dict:
"""
流式响应生成
:param messages: 对话消息列表
:param timeout: 超时时间(秒)
:return: 最终响应字典
"""
try:
for response in self.agent.run(messages=messages, timeout=timeout):
# 可在此处添加实时处理逻辑
pass
return response
except Exception as e:
self._handle_error(e)
return {'error': str(e)}
def _handle_error(self, error: Exception):
"""统一错误处理"""
# 可扩展为特定错误类型的处理
print(f"Agent Error: {str(error)}")
# 可添加日志记录或警报逻辑
# 使用示例
if __name__ == "__main__":
# 初始化智能体 (生产环境建议使用环境变量配置API密钥)
agent = Qwen3Agent(
model_name='Qwen3-30B-A3B',
endpoint_type='local',
custom_endpoint='http://api.example.com/v1'
)
# 构造对话消息
messages = [{
'role': 'user',
'content': 'https://qwenlm.github.io/blog/ 介绍Qwen的最新发展动态'
}]
# 获取响应
response = agent.stream_response(messages)
# 处理响应
if'error'notin response:
print("完整响应:")
print(response)
else:
print("请求失败:", response['error'])
Qwen3资源导航:
- 在线体验[1]
- GitHub仓库[2]
- 技术报告[3]
参考资料
[1] 在线体验: https://chat.qwen.ai/
[2] GitHub仓库: https://github.com/QwenLM/Qwen3
[3] 技术报告: https://qwenlm.github.io/blog/qwen3/
本文转载自公众号AI 博物院 作者:longyunfeigu
