🚀 Qwen3-30B-A3B-GGUF
Qwen3-30B-A3B-GGUF是Qwen系列最新一代大语言模型,具备多种强大特性,能在推理、指令遵循、智能体能力和多语言支持等方面提供卓越表现,适用于多种复杂场景。
✨ 主要特性
Qwen3亮点
Qwen3是通义系列的最新一代大语言模型,提供了一套全面的密集模型和专家混合(MoE)模型。基于广泛的训练,Qwen3在推理、指令遵循、智能体能力和多语言支持方面取得了突破性进展,具有以下关键特性:
- 独特支持单模型内思维模式无缝切换:可在“思维模式”(用于复杂逻辑推理、数学和编码)和“非思维模式”(用于高效通用对话)之间自由切换,确保在各种场景下都能实现最佳性能。
- 推理能力显著增强:在数学、代码生成和常识逻辑推理方面,超越了之前的QwQ(思维模式)和Qwen2.5指令模型(非思维模式)。
- 高度符合人类偏好:在创意写作、角色扮演、多轮对话和指令遵循方面表现出色,提供更自然、引人入胜和沉浸式的对话体验。
- 卓越的智能体能力:能够在思维和非思维模式下与外部工具精确集成,在复杂的基于智能体的任务中在开源模型中取得领先性能。
- 支持100多种语言和方言:具备强大的多语言指令遵循和翻译能力。
📦 安装指南
llama.cpp
查看我们的 llama.cpp文档 以获取更多使用指南。
建议你克隆 llama.cpp
并按照官方指南进行安装。我们使用的是llama.cpp的最新版本。在以下演示中,假设你在 llama.cpp
仓库下运行命令。
./llama-cli -hf Qwen/Qwen3-30B-A3B:Q8_0 --jinja --color -ngl 99 -fa -sm row --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0 --presence-penalty 1.5 -c 40960 -n 32768 --no-context-shift
ollama
查看我们的 ollama文档 以获取更多使用指南。
你可以使用以下命令运行Qwen3:
ollama run hf.co/Qwen/Qwen3-30B-A3B-GGUF:Q8_0
📚 详细文档
模型概述
Qwen3-30B-A3B 具有以下特点:
属性 |
详情 |
模型类型 |
因果语言模型 |
训练阶段 |
预训练和后训练 |
参数数量 |
总共305亿,激活33亿 |
参数数量(非嵌入) |
299亿 |
层数 |
48 |
注意力头数量(GQA) |
Q为32,KV为4 |
专家数量 |
128 |
激活专家数量 |
8 |
上下文长度 |
原生32768,使用YaRN可达 131072个标记 |
量化方式 |
q4_K_M、q5_0、q5_K_M、q6_K、q8_0 |
有关更多详细信息,包括基准评估、硬件要求和推理性能,请参考我们的 博客、GitHub 和 文档。
快速开始
llama.cpp
查看我们的 llama.cpp文档 以获取更多使用指南。
建议你克隆 llama.cpp
并按照官方指南进行安装。我们使用的是llama.cpp的最新版本。在以下演示中,假设你在 llama.cpp
仓库下运行命令。
./llama-cli -hf Qwen/Qwen3-30B-A3B:Q8_0 --jinja --color -ngl 99 -fa -sm row --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0 --presence-penalty 1.5 -c 40960 -n 32768 --no-context-shift
ollama
查看我们的 ollama文档 以获取更多使用指南。
你可以使用以下命令运行Qwen3:
ollama run hf.co/Qwen/Qwen3-30B-A3B-GGUF:Q8_0
思维模式与非思维模式切换
你可以在用户提示或系统消息中添加 /think
和 /no_think
来逐轮切换模型的思维模式。在多轮对话中,模型将遵循最新的指令。
以下是一个多轮对话的示例:
> Who are you /no_think
<think>
</think>
I am Qwen, a large-scale language model developed by Alibaba Cloud. [...]
> How many 'r's are in 'strawberries'? /think
<think>
Okay, let's see. The user is asking how many times the letter 'r' appears in the word "strawberries". [...]
</think>
The word strawberries contains 3 instances of the letter r. [...]
处理长文本
Qwen3原生支持长达32768个标记的上下文长度。对于总长度(包括输入和输出)显著超过此限制的对话,建议使用RoPE缩放技术来有效处理长文本。我们使用 YaRN 方法验证了模型在长达131072个标记的上下文长度上的性能。
要在 llama.cpp
中启用YARN,请使用以下命令:
./llama-cli ... -c 131072 --rope-scaling yarn --rope-scale 4 --yarn-orig-ctx 32768
⚠️ 重要提示
所有著名的开源框架都实现了静态YaRN,这意味着缩放因子无论输入长度如何都保持不变,可能会影响较短文本的性能。建议仅在需要处理长上下文时添加 rope_scaling
配置。同时,建议根据需要修改 factor
。例如,如果应用程序的典型上下文长度为65536个标记,最好将 factor
设置为2.0。
💡 使用建议
阿里云模型工作室提供的端点默认支持动态YaRN,无需额外配置。
最佳实践
为了实现最佳性能,建议遵循以下设置:
- 采样参数:
- 思维模式(
enable_thinking=True
):使用 Temperature=0.6
、TopP=0.95
、TopK=20
、MinP=0
和 PresencePenalty=1.5
。请勿使用贪心解码,因为这可能导致性能下降和无限重复。
- 非思维模式(
enable_thinking=False
):建议使用 Temperature=0.7
、TopP=0.8
、TopK=20
、MinP=0
和 PresencePenalty=1.5
。
- 建议将量化模型的
presence_penalty
设置为1.5以抑制重复输出。可以在0到2之间调整 presence_penalty
参数。较高的值可能偶尔会导致语言混合和模型性能略有下降。
- 足够的输出长度:对于大多数查询,建议使用32768个标记的输出长度。对于高度复杂问题的基准测试,如数学和编程竞赛中的问题,建议将最大输出长度设置为38912个标记。这为模型提供了足够的空间来生成详细和全面的响应,从而提高其整体性能。
- 标准化输出格式:建议在进行基准测试时使用提示来标准化模型输出。
- 数学问题:在提示中包含“请逐步推理,并将最终答案放在 \boxed{} 内”。
- 多项选择题:在提示中添加以下JSON结构以标准化响应:“请在
answer
字段中仅使用选项字母显示你的选择,例如 "answer": "C"
”。
- 历史记录中无思维内容:在多轮对话中,历史模型输出应仅包括最终输出部分,无需包括思维内容。这在提供的Jinja2聊天模板中已经实现。但是,对于不直接使用Jinja2聊天模板的框架,开发人员需要确保遵循最佳实践。
引用
如果您认为我们的工作有帮助,请引用我们的成果:
@misc{qwen3,
title = {Qwen3},
url = {https://qwenlm.github.io/blog/qwen3/},
author = {Qwen Team},
month = {April},
year = {2025}
}
📄 许可证
本项目采用 Apache-2.0许可证。