阿里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
