阿里Qwen3一夜封神!開源模型跑出3倍推理速度,OpenAI沉默 原創(chuàng)
2025年4月29日凌晨,阿里巴巴正式開源了其新一代通義千問大模型Qwen3系列,這一發(fā)布不僅登頂全球開源模型性能榜首,更以創(chuàng)新的"混合推理"架構(gòu)重新定義了大型語言模型的效率邊界。作為國內(nèi)首個(gè)集成"快思考"與"慢思考"能力的開源模型,Qwen3在性能全面超越DeepSeek-R1、OpenAI-o1等頂尖模型的同時(shí),將部署成本降低至競品的1/3。
阿里巴巴還公開了兩個(gè) MoE 模型的權(quán)重:Qwen3-235B-A22B 和 Qwen3-30B-A3B。前者是一個(gè)具有 2350 億總參數(shù)和 2200 億激活參數(shù)的大型模型,后者則是一個(gè)擁有大約 300 億總參數(shù)和 30 億激活參數(shù)的更小型的 MoE 模型。此外,阿里還發(fā)布了六個(gè) Dense 模型,包括 Qwen3-32B、Qwen3-14B、Qwen3-8B、Qwen3-4B、Qwen3-1.7B 和 Qwen3-0.6B,這些都在 Apache 2.0 許可協(xié)議下進(jìn)行了開源。
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最引人注目的技術(shù)創(chuàng)新在于其混合推理模型設(shè)計(jì),這一架構(gòu)首次將傳統(tǒng)LLM能力與動(dòng)態(tài)推理能力無縫集成于同一模型中。具體而言:
- 思考模式(慢思考):針對(duì)復(fù)雜數(shù)學(xué)、編程和邏輯推理任務(wù),模型會(huì)執(zhí)行多步驟的中間推理過程,如問題分解、逐步推導(dǎo)和答案驗(yàn)證,消耗更多計(jì)算資源但提供更深思熟慮的答案。
- 非思考模式(快思考):對(duì)于簡單查詢和通用對(duì)話,模型繞過復(fù)雜推理路徑直接生成響應(yīng),實(shí)現(xiàn)近乎即時(shí)的回答速度。
這種雙模式設(shè)計(jì)并非簡單的模型切換,而是通過動(dòng)態(tài)計(jì)算圖譜技術(shù)實(shí)現(xiàn)算力的智能分配。研發(fā)團(tuán)隊(duì)在強(qiáng)化學(xué)習(xí)框架中引入創(chuàng)新機(jī)制,使模型能夠根據(jù)上下文自動(dòng)調(diào)整激活參數(shù)比例,在S1階段使用超過30萬億token進(jìn)行基礎(chǔ)訓(xùn)練,S2階段增加5萬億知識(shí)密集型數(shù)據(jù),最終在S3階段擴(kuò)展到32K上下文處理能力。測試顯示,該技術(shù)使復(fù)雜數(shù)學(xué)問題解決速度提升3倍,代碼生成精準(zhǔn)度達(dá)到98.7%的行業(yè)新高。
從工程角度看,混合推理的訓(xùn)練挑戰(zhàn)遠(yuǎn)超傳統(tǒng)模型——模型需要同時(shí)學(xué)習(xí)兩種不同的輸出分布,且保證模式切換不影響各自性能。Qwen3團(tuán)隊(duì)通過四階段后訓(xùn)練流程攻克了這一難題:
- 長思維鏈冷啟動(dòng)構(gòu)建基礎(chǔ)推理能力
- 基于規(guī)則的強(qiáng)化學(xué)習(xí)增強(qiáng)探索能力
- 思維模式融合實(shí)現(xiàn)雙模式無縫切換
- 通用強(qiáng)化學(xué)習(xí)優(yōu)化20多個(gè)領(lǐng)域的任務(wù)表現(xiàn)
在兩種模式間切換可以通過簡潔的指示或設(shè)定文件實(shí)現(xiàn):
- 激活反思模式:默認(rèn)情況下,Qwen3 的 "enable_thinking=True" 選項(xiàng)已啟動(dòng)其反思能力。在該模式下,模型會(huì)在回答生成之前進(jìn)行深度思考,并將思考步驟封裝在 "..." 塊中。
- 關(guān)閉反思模式:如果你想要關(guān)閉反思功能,可以設(shè)置 "enable_thinking=False" 以使 Qwen3 的功能匹配 Qwen2.5-Instruct。此模式適用于需要迅速響應(yīng)的情景。
- 靈活切換選項(xiàng):Qwen3 允許動(dòng)態(tài)地切換反思模式,你可以用 "/think" 啟動(dòng)深度推導(dǎo),或用 "/no_think" 來快速關(guān)閉。模型會(huì)根據(jù)最新的指令調(diào)整自己的行為,從而有效地應(yīng)對(duì)各種需求。比如"how to go beijing? /no_think" 和 "how to go beijing? /think"
多語言支持
Qwen3 支持119 種語言和方言,可以為全球用戶提供服務(wù):
語系 | 語種&方言 |
印歐語系 | 英語、法語、葡萄牙語、德語、羅馬尼亞語、瑞典語、丹麥語、保加利亞語、俄語、捷克語、希臘語、烏克蘭語、西班牙語、荷蘭語、斯洛伐克語、克羅地亞語、波蘭語、立陶宛語、挪威語(博克馬爾語)、挪威尼諾斯克語、波斯語、斯洛文尼亞語、古吉拉特語、拉脫維亞語、意大利語、奧克語、尼泊爾語、馬拉地語、白俄羅斯語、塞爾維亞語、盧森堡語、威尼斯語、阿薩姆語、威爾士語、西里西亞語、阿斯圖里亞語、恰蒂斯加爾語、阿瓦德語、邁蒂利語、博杰普爾語、信德語、愛爾蘭語、法羅語、印地語、旁遮普語、孟加拉語、奧里雅語、塔吉克語、東意第緒語、倫巴第語、利古里亞語、西西里語、弗留利語、撒丁島語、加利西亞語、加泰羅尼亞語、冰島語、托斯克語、阿爾巴尼亞語、林堡語、羅馬尼亞語、達(dá)里語、南非荷蘭語、馬其頓語僧伽羅語、烏爾都語、馬加希語、波斯尼亞語、亞美尼亞語上下滑動(dòng)查看更多 |
漢藏語系 | 中文(簡體中文、繁體中文、粵語)、緬甸語 |
亞非語系 | 阿拉伯語(標(biāo)準(zhǔn)語、內(nèi)志語、黎凡特語、埃及語、摩洛哥語、美索不達(dá)米亞語、塔伊茲-阿德尼語、突尼斯語)、希伯來語、馬耳他語 |
南島語系 | 印度尼西亞語、馬來語、他加祿語、宿務(wù)語、爪哇語、巽他語、米南加保語、巴厘島語、班加語、邦阿西楠語、伊洛科語、瓦雷語(菲律賓) |
德拉威語 | 泰米爾語、泰盧固語、卡納達(dá)語、馬拉雅拉姆語 |
突厥語系 | 土耳其語、北阿塞拜疆語、北烏茲別克語、哈薩克語、巴什基爾語、韃靼語 |
壯侗語系 | 泰語、老撾語 |
烏拉爾語系 | 芬蘭語、愛沙尼亞語、匈牙利語 |
南亞語系 | 越南語、高棉語 |
其他 | 日語、韓語、格魯吉亞語、巴斯克語、海地語、帕皮阿門托語、卡布維爾迪亞努語、托克皮辛語、斯瓦希里語 |
Agent
在智能體(Agent)能力方面,Qwen3原生支持MCP(Model Context Protocol)協(xié)議,在BFCL評(píng)測中以70.8分超越Gemini2.5-Pro17。其創(chuàng)新之處在于:
- 工具調(diào)用抽象層:將API調(diào)用轉(zhuǎn)化為自然語言指令
- 動(dòng)態(tài)工作記憶:跨會(huì)話維持任務(wù)狀態(tài)
- 安全沙箱:隔離不可信工具執(zhí)行
開發(fā)者可通過Qwen-Agent框架快速構(gòu)建應(yīng)用,實(shí)測顯示,基于Qwen3開發(fā)的客服Agent在工單解決率上比傳統(tǒng)方案提升27%,同時(shí)減少45%的人工干預(yù)。
要定義可用的工具,您可以使用 MCP 配置文件,使用 Qwen-Agent 內(nèi)置的工具,或者自行集成其他工具。
import os
from typing import Dict, List, Optional
from qwen_agent.agents import Assistant
from qwen_agent.tools import BaseTool
class Qwen3Agent:
"""優(yōu)化后的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: 服務(wù)端點(diǎn)類型 ('dashscope' 或 'local')
:param custom_endpoint: 自定義OpenAI兼容端點(diǎn)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, # 推薦分離思維鏈和響應(yīng)內(nèi)容
'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', # 內(nèi)置代碼解釋器
'web_search', # 新增網(wǎng)絡(luò)搜索工具
]
def stream_response(
self,
messages: List[Dict],
timeout: int = 30
) -> Dict:
"""
流式響應(yīng)生成
:param messages: 對(duì)話消息列表
:param timeout: 超時(shí)時(shí)間(秒)
:return: 最終響應(yīng)字典
"""
try:
for response in self.agent.run(messages=messages, timeout=timeout):
# 可在此處添加實(shí)時(shí)處理邏輯
pass
return response
except Exception as e:
self._handle_error(e)
return {'error': str(e)}
def _handle_error(self, error: Exception):
"""統(tǒng)一錯(cuò)誤處理"""
# 可擴(kuò)展為特定錯(cuò)誤類型的處理
print(f"Agent Error: {str(error)}")
# 可添加日志記錄或警報(bào)邏輯
# 使用示例
if __name__ == "__main__":
# 初始化智能體 (生產(chǎn)環(huán)境建議使用環(huán)境變量配置API密鑰)
agent = Qwen3Agent(
model_name='Qwen3-30B-A3B',
endpoint_type='local',
custom_endpoint='http://api.example.com/v1'
)
# 構(gòu)造對(duì)話消息
messages = [{
'role': 'user',
'content': 'https://qwenlm.github.io/blog/ 介紹Qwen的最新發(fā)展動(dòng)態(tài)'
}]
# 獲取響應(yīng)
response = agent.stream_response(messages)
# 處理響應(yīng)
if'error'notin response:
print("完整響應(yīng):")
print(response)
else:
print("請(qǐng)求失敗:", response['error'])
Qwen3資源導(dǎo)航:
- 在線體驗(yàn)[1]
- GitHub倉庫[2]
- 技術(shù)報(bào)告[3]
參考資料
[1] 在線體驗(yàn): ??https://chat.qwen.ai/??
[2] GitHub倉庫: ??https://github.com/QwenLM/Qwen3??
[3] 技術(shù)報(bào)告: ???https://qwenlm.github.io/blog/qwen3/??
本文轉(zhuǎn)載自公眾號(hào)AI 博物院 作者:longyunfeigu
