阿里通义开源新一代混合推理模型 Qwen3:创新双模式推理,支持"思考模式"和"非思考模式"

120 阅读8分钟

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦


🚀 「多语言开发者炸锅!阿里放出开源核弹:这个LLM能用119种方言写代码?」

大家好,我是蚝油菜花。你是否经历过这些崩溃瞬间——

  • 👉 跨国项目要处理十几种语言,模型切换到手软
  • 👉 跑大模型显存爆红,显卡在机箱里发出哀嚎
  • 👉 简单问题秒回,复杂逻辑就装死...

今天带你看的 阿里Qwen3大模型 ,堪称LLM界的瑞士军刀!这个Apache 2.0开源的怪兽不仅支持119种语言混合输入,更首创「双模推理」黑科技:日常任务闪电响应,遇到复杂问题自动切换「烧脑模式」层层推演。最狠的是显存占用直接砍到竞品1/3,32B模型跑出别家7B的流畅度!已有团队用它同时处理中英法日四国需求——你的显卡准备好提前退休了吗?

🚀 快速阅读

Qwen3是阿里巴巴推出的新一代开源大型语言模型。

  1. 核心功能:支持思考/非思考双推理模式,覆盖119种语言,提供从0.6B到235B的7种模型配置
  2. 技术原理:采用四阶段训练流程和MoE架构,预训练数据达36万亿token,支持32K长上下文

Qwen3 是什么

qwen3

Qwen3 是阿里巴巴推出的新一代大型语言模型,采用Apache 2.0协议开源。

Qwen3 支持"思考模式"和"非思考模式"两种工作方式,前者适合需要逐步推理的复杂问题,后者提供快速响应。模型支持119种语言和方言,相比前代语言能力大幅提升。

通过优化编码和Agent能力,Qwen3能更好地与外部工具集成。其数据集规模达到约36万亿个token,采用包含长思维链冷启动、强化学习等四阶段的训练流程,提供从0.6B到235B的多种模型配置。

Qwen3 的主要功能

  • 混合推理模式:支持思考模式(复杂问题逐步推理)和非思考模式(简单问题快速响应)
  • 多语言支持:覆盖119种语言和方言,包括英语、中文、法语等
  • 增强Agent能力:支持MCP协议,可与外部工具高效交互
  • 多种模型配置:提供2个MoE模型和6个Dense模型,参数从0.6B到235B

Qwen3 的技术原理

  • 大规模预训练:36万亿token数据,分三阶段训练(基础预训练/知识强化/长上下文扩展)
  • 优化的后训练:四阶段流程(长思维链冷启动/强化学习/模式融合/通用强化学习)
  • 模型架构:包含Qwen3-235B-A22B等MoE模型和Qwen3-32B等Dense模型
  • 性能优化:显存占用仅为同类模型1/3,支持低成本部署

如何运行 Qwen3

🤗 Transformers

Transformers 是一个用于推理和训练的预训练自然语言处理库。建议使用最新版本的 transformers,至少需要 transformers>=4.51.0

以下代码片段展示了如何使用模型根据给定的输入生成内容。

from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen3-8B"

# 加载分词器和模型
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype="auto",
    device_map="auto"
)

# 准备模型输入
prompt = "Give me a short introduction to large language models."
messages = [
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=True # 切换思维模式和非思维模式。默认为 True。
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

# 进行文本生成
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=32768
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist() 

# 结果将从 <think></think> 标签中的思维内容开始,然后是实际响应
print(tokenizer.decode(output_ids, skip_special_tokens=True))

默认情况下,Qwen3 模型会在响应前进行思考。可以通过以下方式控制:

  • enable_thinking=False:将 enable_thinking=False 传递给 tokenizer.apply_chat_template 可以严格防止模型生成思维内容。
  • /think/no_think 指令:在系统或用户消息中使用这些词来指示 Qwen3 是否应进行思考。在多轮对话中,遵循最新的指令。

ModelScope

这里强烈建议用户,特别是中国大陆的用户使用 ModelScope。ModelScope 采用了与 Transformers 类似的 Python API。CLI 工具 modelscope download 可以帮助您解决下载检查点的问题。

llama.cpp

llama.cpp 使得 LLM 推理在各种硬件上只需最少的设置即可实现高性能。需要 llama.cpp>=b5092

要在终端中使用 CLI,运行以下命令:

./llama-cli -hf Qwen/Qwen3-8B-GGUF:Q8_0 --jinja --color -ngl 99 -fa -sm row --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0 -c 40960 -n 32768 --no-context-shift
# 使用 CTRL+C 退出

要使用 API 服务器,在终端中运行以下命令:

./llama-server -hf Qwen/Qwen3-8B-GGUF:Q8_0 --jinja --reasoning-format deepseek -ngl 99 -fa -sm row --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0 -c 40960 -n 32768 --no-context-shift --port 8080

简单的 Web 前端将位于 http://localhost:8080,而 OpenAI 兼容的 API 将位于 http://localhost:8080/v1

更多指南,请参阅这里的文档

注意:

llama.cpp 采用了“旋转上下文管理”,并且通过驱逐早期令牌实现了无限生成。 可以通过参数进行配置,上述命令实际上禁用了它。

目前存在的问题:

聊天模板使用了 llama.cpp 的模板引擎不支持的功能。 因此,如果使用原始聊天模板,可能会遇到以下错误:

common_chat_templates_init: failed to parse chat template (defaulting to chatml)

这里正在努力修复这个问题。

Ollama

安装 Ollama 后,可以使用以下命令启动 Ollama 服务(需要 Ollama v0.6.6 或更高版本):

ollama serve
# 每次使用 ollama 时都需要保持该服务运行

要拉取模型检查点并运行模型,使用 ollama run 命令。可以通过在 qwen3 后添加后缀来指定模型大小,例如 :8b:30b-a3b

ollama run qwen3:8b
# 设置参数,输入 "/set parameter num_ctx 40960""/set parameter num_predict 32768"
# 要退出,输入 "/bye" 并按回车键

还可以通过 OpenAI 兼容的 API 访问 Ollama 服务。 请注意,您需要 (1) 在使用 API 时保持 ollama serve 运行,(2) 在使用 API 之前执行 ollama run qwen3:8b 以确保模型检查点已准备就绪。 API 默认位于 http://localhost:11434/v1/

更多详情,请访问ollama.ai

注意:

Ollama 采用了与 llama.cpp 相同的“旋转上下文管理”。 但是,其默认设置(num_ctx 2048 和 num_predict -1),建议使用 2048 个令牌上下文进行无限生成, 可能会导致 Qwen3 模型出现问题。 这里建议适当设置 num_ctxnum_predict

LMStudio

Qwen3 已经得到了lmstudio.ai的支持。您可以直接使用 LMStudio 和这里的 GGUF 文件。

MLX LM

如果您使用的是 Apple Silicon,mlx-lm 也支持 Qwen3(需要 mlx-lm>=0.24.0)。 在 Hugging Face Hub 上查找以 MLX 结尾的模型。

部署 Qwen3

Qwen3 得到了多个推理框架的支持。这里这里演示了 SGLangvLLM 的使用。您还可以从各种推理提供商(例如Alibaba Cloud Model Studio)找到 Qwen3 模型。

SGLang

  • SGLang 是一个用于大型语言模型和视觉语言模型的快速服务框架。
  • SGLang 可以用于启动带有 OpenAI 兼容 API 服务的服务器。
  • 需要 sglang>=0.4.6.post1

使用以下命令即可启动服务器:

python -m sglang.launch_server --model-path Qwen/Qwen3-8B --port 30000 --reasoning-parser qwen3

OpenAI 兼容的 API 将位于 http://localhost:30000/v1

vLLM

vLLM 是一个高吞吐量和内存高效的 LLM 推理和服务引擎。
建议使用 vllm>=0.8.5

vllm serve Qwen/Qwen3-8B --port 8000 --enable-reasoning --reasoning-parser deepseek_r1

OpenAI 兼容的 API 将位于 http://localhost:8000/v1

MindIE

对于在 Ascend NPU 上的部署,请访问Modelers并搜索 Qwen3。

使用 Qwen3 构建

工具使用

对于工具使用功能,这里建议查看Qwen-Agent,它提供了这些 API 的包装器,以支持工具使用或函数调用,并支持 MCP。
您还可以使用 SGLang、vLLM、Transformers、llama.cpp、Ollama 等进行工具使用。
请参阅这里的文档,了解如何启用支持。

微调

这里建议使用训练框架,包括AxolotlUnSlothSwiftLlama-Factory等,通过 SFT、DPO、GRPO 等微调您的模型。

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发感兴趣,我会每日分享大模型与 AI 领域的开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术!

🥦 AI 在线答疑 -> 智能检索历史文章和开源项目 -> 丰富的 AI 工具库 -> 每日更新 -> 尽在微信公众号 -> 搜一搜:蚝油菜花 🥦