Qwen3-4B
简介
Qwen3 is the latest generation of large language models in Qwen series, offering a comprehensive suite of dense and mixture-of-experts (MoE) models. Built upon extensive training, Qwen3 delivers groundbreaking advancements in reasoning, instruction-following, agent capabilities, and multilingual support, with the following key features:
模型卡片
模型配置
模型详情
已翻译Qwen3-4B
Qwen3 亮点
Qwen3 是 Qwen 系列最新一代大语言模型,提供了一套全面的 dense 和 mixture-of-experts (MoE) 模型。基于大规模训练,Qwen3 在推理、指令遵循、agent 能力和多语言支持方面实现了突破性进展,具有以下关键特性:
- 独特支持在单个模型内无缝切换思考模式(用于复杂逻辑推理、数学和编码)和非思考模式(用于高效、通用的对话),确保在各种场景下实现最佳性能。
- 推理能力显著增强,在数学、代码生成和常识逻辑推理方面超越了之前的 QwQ(思考模式)和 Qwen2.5 instruct 模型(非思考模式)。
- 卓越的人类偏好对齐,在创意写作、角色扮演、多轮对话和指令遵循方面表现出色,提供更自然、更具吸引力和沉浸感的对话体验。
- 精通 agent 能力,能够在思考和非思考模式下精确集成外部工具,在基于 agent 的复杂任务中达到开源模型的领先性能。
- 支持 100 多种语言和方言,具备强大的多语言指令遵循和翻译能力。
模型概述
Qwen3-4B 具有以下特性:
- 类型:因果语言模型
- 训练阶段:预训练与后训练
- 参数量:4.0B
- 非嵌入参数量:3.6B
- 层数:36
- 注意力头数 (GQA):Q 为 32,KV 为 8
- 上下文长度:原生 32,768,通过 YaRN 可达 131,072 tokens。
更多详情,包括基准评估、硬件要求和推理性能,请参考我们的 博客、GitHub 和 文档。
[!TIP]
如果遇到严重的无限重复问题,请参考最佳实践部分获取最优采样参数,并将presence_penalty设置为 1.5。
快速开始
Qwen3 的代码已集成到最新的 Hugging Face transformers 中,建议您使用最新版本的 transformers。
使用 `transformers)
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)
对于部署,您可以使用 `sglang>=0.4.6.post1` 或 `vllm>=0.8.5` 来创建兼容 OpenAI 的 API 端点:
- SGLang:
```shell
python -m sglang.launch_server --model-path Qwen/Qwen3-4B --reasoning-parser qwen3
```
- vLLM:
```shell
vllm serve Qwen/Qwen3-4B --enable-reasoning --reasoning-parser deepseek_r1
```
对于本地使用,Ollama、LMStudio、MLX-LM、llama.cpp 和 KTransformers 等应用也已支持 Qwen3。
## 在思考模式与非思考模式之间切换
> [!TIP]
> `enable_thinking` 开关同样适用于 SGLang 和 vLLM 创建的 API。
> 请参考我们的文档:[SGLang 用户](https://qwen.readthedocs.io/en/latest/deployment/sglang.html#thinking-non-thinking-modes) 和 [vLLM 用户](https://qwen.readthedocs.io/en/latest/deployment/vllm.html#thinking-non-thinking-modes)。
### `enable_thinking=True`
默认情况下,Qwen3 启用了思考能力,类似于 QwQ-32B。这意味着模型将利用其推理能力来提升生成回复的质量。例如,在 `tokenizer.apply_chat_template` 中显式设置 `enable_thinking=True` 或保留默认值时,模型将进入思考模式。
```python
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=True # True is the default value for enable_thinking
)
在此模式下,模型将生成包含在 ... 块中的思考内容,随后输出最终回复。
[!NOTE]
对于思考模式,请使用Temperature=0.6、TopP=0.95、TopK=20和MinP=0(generation_config.json中的默认设置)。不要使用贪心解码,否则可能导致性能下降和无限重复。更详细的指导请参考最佳实践部分。
enable_thinking=False
我们提供了一个硬开关来严格禁用模型的思考行为,使其功能与之前的 Qwen2.5-Instruct 模型保持一致。此模式在需要禁用思考以提高效率的场景中特别有用。
text = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False # Setting enable_thinking=False disables thinking mode
)
在此模式下,模型不会生成任何思考内容,也不会包含 ... 块。
[!NOTE]
对于非思考模式,我们建议使用Temperature=0.7、TopP=0.8、TopK=20和MinP=0。更详细的指导请
正在翻译中,请稍候...