1.Qwen3
- github:https://github.com/QwenLM/Qwen3
- 文档:https://qwen.readthedocs.io/zh-cn/latest/
- https://huggingface.co/Qwen
- https://modelscope.cn/collections/Qwen3-9743180bdc6b48
最新版本Qwen3有以下特点:
全尺寸稠密与混合专家模型
:0.6B, 1.7B, 4B, 8B, 14B, 32B and 30B-A3B, 235B-A22B
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 |
Models | Layers | Heads (Q / KV) | Experts (Total/ Activated) | Context Length |
---|---|---|---|---|
Qwen3-30B-A3B | 48 | 32 / 4 | 128 / 8 | 128K |
Qwen3-235B-A22B | 94 | 64 / 4 | 128 / 8 | 128K |
- 支持在思考模式(用于复杂逻辑推理、数学和编码)和 非思考模式 (用于高效通用对话)之间无缝切换,确保在各种场景下的最佳性能。
显著增强的推理能力
,在数学、代码生成和常识逻辑推理方面超越了之前的 QwQ(在思考模式下)和 Qwen2.5 指令模型(在非思考模式下)。卓越的人类偏好对齐
,在创意写作、角色扮演、多轮对话和指令跟随方面表现出色,提供更自然、更吸引人和更具沉浸感的对话体验。擅长智能体能力
,可以在思考和非思考模式下精确集成外部工具,在复杂的基于代理的任务中在开源模型中表现领先。支持 100 多种语言和方言
,具有强大的多语言理解、推理、指令跟随和生成能力。
魔塔qwen3-chat-demo
:https://modelscope.cn/studios/Qwen/qwen3-chat-demo
Qwen3-235B-A22B 在代码、数学、通用能力等基准测试中,与一众顶级模型相比,表现出极具竞争力的结果。
小型 MoE 模型 Qwen3-30B-A3B 的激活参数数量是 QwQ-32B10%,表现更胜一筹, Qwen3-4B 这样的小模型也能匹敌 Qwen2.5-72B-Instruct 的性能。
经过后训练的模型,例如 Qwen3-30B-A3B,以及它们的预训练基座模型(如 Qwen3-30B-A3B-Base),现已在 Hugging Face、ModelScope 等平台上开放使用。
1.1 多种思考模式
Qwen3 模型支持两种思考模式:
思考模式
:在这种模式下,模型会逐步推理,经过深思熟虑后给出最终答案。这种方法非常适合需要深入思考的复杂问题。非思考模式
:在此模式中,模型提供快速、近乎即时的响应,适用于那些对速度要求高于深度的简单问题。
这种灵活性使用户能够根据具体任务控制模型进行 “思考” 的程度。例如,复杂的问题可以通过扩展推理步骤来解决,而简单的问题则可以直接快速作答,无需延迟。
这两种模式的结合大大增强了模型实现稳定且高效的 “思考预算” 控制能力。
Qwen3 展现出可扩展且平滑的性能提升,这与分配的计算推理预算直接相关。这样的设计让用户能够更轻松地为不同任务配置特定的预算,在成本效益和推理质量之间实现更优的平衡。
1.2 119 种语言
Qwen3 模型支持 119 种语言和方言。这一广泛的多语言能力为国际应用开辟了新的可能性,让全球用户都能受益于这些模型的强大功能。
1.3 Agent 能力
如今,Agent 已经是大模型领域重点关注的能力之一,尤其是最近 MCP 模型上下文协议的引入更是大大增强了 Agent 的适用性和灵活性,大大拓宽了应用场景。
此次,Qwen3 模型的 Agent 和 代码能力得到增强,包括加强了对 MCP 的支持。可以看下面一个示例(提取 QwenLM 库的 markdown 内容,然后绘制显示项目 stars 数量的条形图),展示了 Qwen3 如何思考并与环境进行交互:
[video(video-2V3cO1jJ-1745908156203)(type-csdn)(url-https://live.csdn.net/v/embed...)(image-https://i-blog.csdnimg.cn/img...)(title-Qwen3 模型的 Agent -mcp)]
首先来个简单的推理测试题,Qwen3-235B-A22B 不出意料地能轻松应对。
1.4 qwen3 训练
预训练数据量达 36 万亿 token,后训练实现混合推理
在预训练方面,Qwen3 的数据集相比 Qwen2.5 有了显著扩展。Qwen2.5 是在 18 万亿个 token 上进行预训练的,而 Qwen3 使用的数据量几乎是其两倍,达到了约 36 万亿个 token,涵盖了 119 种语言和方言。
为了构建庞大的数据集,开发团队不仅从网络上收集数据,还从 PDF 文档中提取信息。他们使用 Qwen2.5-VL 从这些文档中提取文本,并用 Qwen2.5 改进提取内容的质量。
另外,为了增加数学和代码数据的数量,开发团队利用 Qwen2.5-Math 和 Qwen2.5-Coder 这两个数学和代码领域的专家模型合成数据,合成了包括教科书、问答对以及代码片段等多种形式的数据。
具体而言,预训练过程分为了以下三个阶段:
在第一阶段(S1)
,模型在超过 30 万亿个 token 上进行了预训练,上下文长度为 4K token。这一阶段为模型提供了基本的语言技能和通用知识。在第二阶段(S2)
,通过增加知识密集型数据(如 STEM、编程和推理任务)的比例来改进数据集,随后模型又在额外的 5 万亿个 token 上进行了预训练。在最后阶段
,使用高质量的长上下文数据将上下文长度扩展到 32K token,确保模型能够有效地处理更长的输入。
得益于模型架构的改进、训练数据的增加以及更有效的训练方法,Qwen3 Dense 基础模型的整体性能与参数更多的 Qwen2.5 基础模型相当,例如 Qwen3-1.7B/4B/8B/14B/32B-Base 分别与 Qwen2.5-3B/7B/14B/32B/72B-Base 表现相当。
特别是在 STEM、编码和推理等领域,Qwen3 Dense 基础模型的表现甚至超过了更大规模的 Qwen2.5 模型。可以看到,Qwen3 MoE 基础模型在仅使用 10% 激活参数的情况下达到了与 Qwen2.5 Dense 基础模型相似的性能,由此带来了训练和推理成本的显著节省。
与此同时,Qwen3 在后训练阶段同样进行了优化。
为了开发能够同时具备思考推理和快速响应能力的混合模型,开发团队实施了一个四阶段的训练流程,包括:(1)长思维链冷启动,(2)长思维链强化学习,(3)思维模式融合,以及(4)通用强化学习。
- 在第一阶段,使用多样的的长思维链数据对模型进行了微调,涵盖了数学、代码、逻辑推理和 STEM 问题等多种任务和领域。这一过程旨在为模型配备基本的推理能力。
- 第二阶段的重点是大规模强化学习,利用基于规则的奖励来增强模型的探索和钻研能力。
- 在第三阶段,在一份包括长思维链数据和常用的指令微调数据的组合数据上对模型进行微调,将非思考模式整合到思考模型中,确保了推理和快速响应能力的无缝结合。
- 在第四阶段,在包括指令遵循、格式遵循和 Agent 能力等在内的 20 多个通用领域的任务上应用了强化学习,进一步增强模型的通用能力并纠正不良行为。
1.5 部署资源
2.Qwen3快速开始
2.1 思考模式
以下是如何在不同框架中使用 Qwen3 的简单指南。提供了一个在 Hugging Face transformers 中使用 Qwen3-30B-A3B 的标准示例:
from modelscope import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen3-30B-A3B"
# 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,
enable_thinking=True # Switch between thinking and non-thinking modes. Default is 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)
print("content:", content)
要禁用思考模式,只需对参数 enable_thinking 进行如下修改:
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False # True is the default value for enable_thinking.
)
对于部署,您可以使用 sglang>=0.4.6.post1 或 vllm>=0.8.4 来创建一个与 OpenAI API 兼容的 API endpoint:
SGLang:
python -m sglang.launch_server --model-path Qwen/Qwen3-30B-A3B --reasoning-parser qwen3
vLLM:
vllm serve Qwen/Qwen3-30B-A3B --enable-reasoning --reasoning-parser deepseek_r1
要禁用思考模式,您可以移除参数 --reasoning-parser(以及 --enable-reasoning)。
如果用于本地开发,您可以通过运行简单的命令 ollama run qwen3:30b-a3b 来使用 ollama 与模型进行交互。您也可以使用 LMStudio 或者 llama.cpp 以及 ktransformers 等代码库进行本地开发。
2.2 多轮对话
提供了一种软切换机制,允许用户在 enable_thinking=True 时动态控制模型的行为。具体来说,您可以在用户提示或系统消息中添加 /think 和 /no_think 来逐轮切换模型的思考模式。在多轮对话中,模型会遵循最近的指令。
以下是一个多轮对话的示例:
from transformers import AutoModelForCausalLM, AutoTokenizer
classQwenChatbot:
def __init__(self, model_):
self.tokenizer = AutoTokenizer.from_pretrained(model_name)
self.model = AutoModelForCausalLM.from_pretrained(model_name)
self.history = []
def generate_response(self, user_input):
messages = self.history + [{"role": "user", "content": user_input}]
text = self.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
inputs = self.tokenizer(text, return_tensors="pt")
response_ids = self.model.generate(**inputs, max_new_tokens=32768)[0][len(inputs.input_ids[0]):].tolist()
response = self.tokenizer.decode(response_ids, skip_special_tokens=True)
# Update history
self.history.append({"role": "user", "content": user_input})
self.history.append({"role": "assistant", "content": response})
return response
# Example Usage
if __name__ == "__main__":
chatbot = QwenChatbot()
# First input (without /think or /no_think tags, thinking mode is enabled by default)
user_input_1 = "How many r's in strawberries?"
print(f"User: {user_input_1}")
response_1 = chatbot.generate_response(user_input_1)
print(f"Bot: {response_1}")
print("----------------------")
# Second input with /no_think
user_input_2 = "Then, how many r's in blueberries? /no_think"
print(f"User: {user_input_2}")
response_2 = chatbot.generate_response(user_input_2)
print(f"Bot: {response_2}")
print("----------------------")
# Third input with /think
user_input_3 = "Really? /think"
print(f"User: {user_input_3}")
response_3 = chatbot.generate_response(user_input_3)
print(f"Bot: {response_3}")
2.3 Agent
Qwen3 在工具调用能力方面表现出色。推荐使用 Qwen-Agent 来充分发挥 Qwen3 的 Agent 能力。Qwen-Agent 内部封装了工具调用模板和工具调用解析器,大大降低了代码复杂性。
要定义可用的工具,您可以使用 MCP 配置文件,使用 Qwen-Agent 内置的工具,或者自行集成其他工具。
from qwen_agent.agents import Assistant
# Define LLM
llm_cfg = {
'model': 'Qwen3-30B-A3B',
# Use the endpoint provided by Alibaba Model Studio:
# 'model_type': 'qwen_dashscope',
# 'api_key': os.getenv('DASHSCOPE_API_KEY'),
# Use a custom endpoint compatible with OpenAI API:
'model_server': 'http://localhost:8000/v1', # api_base
'api_key': 'EMPTY',
# Other parameters:
# 'generate_cfg': {
# # Add: When the response content is `<think>this is the thought</think>this is the answer;
# # Do not add: When the response has been separated by reasoning_content and content.
# '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)
3.Qwen3上线应用
通义App与通义网页版(tongyi.com)全面上线阿里新一代通义千问开源模型Qwen3(简称千问3)。
千问3系列推出两款重磅模型:Qwen3-235B-A22B采用混合专家(MoE)架构,性能达到国产及全球开源模型的新高度;Qwen3-32B为高性能稠密模型,具备低成本部署、高效稳定等优势,成为企业首选。两款模型均已上线通义App和网页版“千问大模型”智能体,用户可在主对话页面体验其在逻辑推理、编程、翻译等领域的卓越能力。升级后的通义App以超级智能体为核心,支持问答、聊天、图片理解与生成、写作、翻译等多项智能功能,并持续强化代码生成、数学推理、拍照讲题等专业技能,打造实用、贴心的个人AI助手。
### Qwen3 相对于其他开源模型的优势
#### 1. **性能与效率**
- **混合推理模式**:Qwen3 是国内首个“混合推理模型”,结合了“快思考”(快速响应)和“慢思考”(深度推理)两种模式:
- **快思考**:用于简单任务,低算力消耗,秒级响应。
- **慢思考**:用于复杂问题,多步骤推理,节省整体算力消耗。
- **参数优化**:旗舰模型 **Qwen3-235B-A22B** 拥有 2350 亿总参数,但在推理时仅激活 220 亿参数,显存占用仅为性能相近模型的 **三分之一**,部署成本大幅降低(仅需4张H20 GPU)。
- **小模型性能**:即使是较小的模型(如 Qwen3-4B),也能媲美甚至超越更大规模的上一代模型(如 Qwen2.5-72B-Instruct)。
#### 2. **基准测试表现**
- **超越竞品**:
- 在数学评测(AIME25)中得分为 **81.5**,刷新开源模型记录。
- 在代码能力评测(LiveCodeBench)中突破 **70 分**,超过 Grok-3。
- 在人类偏好对齐评测(ArenaHard)中得分为 **95.6**,超越 OpenAI-o1 和 DeepSeek-R1。
- 在 Agent 能力评测(BFCL)中得分为 **70.8**,超越 Gemini 2.5-Pro 和 OpenAI-o1。
- **参数效率**:Qwen3 的 MoE 模型(如 Qwen3-30B-A3B)仅激活 30 亿参数,但性能接近 GPT-4o,并能匹敌 Qwen2.5-72B-Instruct。
#### 3. **部署成本与灵活性**
- **低成本部署**:Qwen3 的满血版(235B 参数)仅需 4 张 H20 GPU,显存占用仅为性能相近模型的三分之一。
- **多尺寸选择**:提供从 0.6B 到 235B 的多种模型(包括 MoE 和 Dense 架构),适应不同场景需求(如资源受限环境、本地部署等)。
#### 4. **多语言与多模态支持**
- **119 种语言支持**:首次支持 119 种语言,覆盖全球主流语言及方言。
- **多模态能力**:增强对文本、图像、音频、视频的统一处理能力,支持视觉推理(如解析数学公式、表格)、实时语音生成和视频流处理。
#### 5. **开源生态与协议**
- **宽松开源协议**:采用 Apache 2.0 协议,允许个人和企业自由使用、修改和商业化,相比 Meta Llama 的复杂许可更友好。
- **全球下载量领先**:阿里通义已开源 200+ 模型,累计下载量超 3 亿次,衍生模型数超 10 万个,超越 Llama 成为全球最大开源模型生态。
---
### Qwen3 相比 Qwen2.5 的主要改进
#### 1. **训练数据与上下文长度**
- **数据量翻倍**:Qwen3 的预训练数据从 Qwen2.5 的 **18 万亿 token** 扩展到 **36 万亿 token**,涵盖更多高质量多模态数据(如教科书、代码片段、问答对等)。
- **长上下文支持**:Qwen3 支持高达 **128K 上下文长度**,可处理更复杂的长文本任务(如文档分析、多轮对话)。
#### 2. **模型架构优化**
- **Attention 层改进**:Qwen3 和 Qwen3MoE 的 Attention 层对查询(q)和键(k)进行了归一化处理,提升计算稳定性。
- **滑动窗口缓存**:默认支持滑动窗口缓存,减少重复计算,提升推理效率。
- **Flash-Attention 集成**:Qwen3MoE 模型集成 Flash-Attention 模块,加速注意力机制的计算。
#### 3. **性能提升**
- **Dense 模型性能**:Qwen3 的 Dense 模型(如 Qwen3-32B)在 STEM、编程和推理任务中,性能超越同规模甚至更大规模的 Qwen2.5 模型。
- **MoE 模型效率**:Qwen3MoE 模型(如 Qwen3-30B-A3B)仅激活 10% 的参数量(如 30B vs Qwen2.5-32B),但性能更优,显著降低训练和推理成本。
#### 4. **推理与训练方法改进**
- **四阶段训练流程**:Qwen3 采用四阶段训练方法(长推理链冷启动、强化学习、思维模式融合、通用强化学习),开发兼具推理和快速响应能力的混合模型。
- **数学与编码能力增强**:通过合成数学和代码数据(利用 Qwen2.5-Math/Coder 等模型),进一步提升 STEM 领域的表现。
#### 5. **工具调用与 Agent 支持**
- **原生 MCP 协议支持**:Qwen3 原生支持 MCP 协议,结合 Qwen-Agent 框架,简化工具调用流程,降低编码复杂性。
- **Agent 能力提升**:在 BFCL 评测中,Qwen3 的 Agent 得分(70.8)远超竞品,大幅降低智能体调用工具的门槛。
---
### 总结
Qwen3 在性能、成本、多语言/多模态能力、开源生态等方面全面超越竞品(如 Llama 4、DeepSeek-R1),并针对 Qwen2.5 进行了多项关键改进(如数据量扩展、模型架构优化、推理效率提升)。其“混合推理”模式和低成本部署能力,使其成为当前最强开源模型之一,尤其适合大规模应用和资源受限场景。
4.通义灵码
- 多种思考模式
Qwen3 模型支持两种思考模式:
- 思考模式:在这种模式下,模型会逐步推理,经过深思熟虑后给出最终答案。这种方法非常适合需要深入思考的复杂问题。
- 非思考模式:在此模式中,模型提供快速、近乎即时的响应,适用于那些对速度要求高于深度的简单问题。
这种灵活性使用户能够根据具体任务控制模型进行 “思考” 的程度。例如,复杂的问题可以通过扩展推理步骤来解决,而简单的问题则可以直接快速作答,无需延迟。至关重要的是,这两种模式的结合大大增强了模型实现稳定且高效的 “思考预算” 控制能力。
- 增强的 Agent 能力
Qwen3 为即将到来的智能体 Agent 和大模型应用爆发提供了更好的支持。在评估模型 Agent 能力的 BFCL 评测中,Qwen3 创下 70.8 的新高,超越 Gemini2.5-Pro、OpenAI-o1 等顶尖模型,这将大幅降低 Agent 调用工具的门槛。