🚀 Qwen3-235B-A22B-GGUF
Qwen3-235B-A22B-GGUF 是 Qwen 系列大语言模型的重要成果,具备强大的推理、多语言支持等能力,能在多种场景下提供优质的对话体验。
🚀 快速开始
llama.cpp
更多使用指南请查看我们的 llama.cpp 文档。
建议你克隆 llama.cpp
并按照官方指南进行安装,我们采用的是 llama.cpp 的最新版本。在以下演示中,假设你在 llama.cpp
仓库下运行命令。
克隆仓库可能效率不高,因此你可以手动下载所需的 GGUF 文件,或者使用 huggingface-cli
(pip install huggingface_hub
),如下所示:
huggingface-cli download Qwen/Qwen3-235B-A22B-GGUF Q4_K_M/Qwen3-235B-A22B-Q4_K_M-00001-of-00005.gguf --local-dir . --local-dir-use-symlinks False
然而,由于单个文件上传限制为 50G,大文件会被拆分成多个片段。具体来说,拆分后的文件有相同的前缀,后缀表示其索引。例如,Q4_K_M
的 GGUF 文件如下:
Qwen3-235B-A22B-Q4_K_M-00001-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00002-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00003-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00004-of-00005.gguf
Qwen3-235B-A22B-Q4_K_M-00005-of-00005.gguf
它们的前缀为 Qwen3-235B-A22B-Q4_K_M
,后缀用于索引。要使用拆分后的 GGUF 文件,需要先使用 llama-gguf-split
命令进行合并,如下所示:
./llama-gguf-split --merge Qwen3-235B-A22B-Q4_K_M-00001-of-00005.gguf Qwen3-235B-A22B-Q4_K_M.gguf
✨ 主要特性
Qwen3 亮点
Qwen3 是 Qwen 系列的最新一代大语言模型,提供了一套全面的密集模型和混合专家(MoE)模型。经过大量训练,Qwen3 在推理、指令遵循、智能体能力和多语言支持方面取得了突破性进展,具有以下关键特性:
- 单模型内独特支持思维模式(用于复杂逻辑推理、数学和编码)和非思维模式(用于高效通用对话)的无缝切换,确保在各种场景下都能实现最佳性能。
- 推理能力显著增强,在数学、代码生成和常识逻辑推理方面超越了之前的 QwQ(思维模式)和 Qwen2.5 指令模型(非思维模式)。
- 高度符合人类偏好,在创意写作、角色扮演、多轮对话和指令遵循方面表现出色,提供更自然、引人入胜和沉浸式的对话体验。
- 具备强大的智能体能力,能够在思维和非思维模式下与外部工具精确集成,在复杂的基于智能体的任务中在开源模型中处于领先地位。
- 支持 100 多种语言和方言,具备强大的多语言指令遵循和翻译能力。
📦 安装指南
请参考上述快速开始部分的 llama.cpp 安装步骤。
💻 使用示例
思维模式和非思维模式切换
你可以在用户提示或系统消息中添加 /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 原生支持长达 32,768 个标记的上下文长度。对于总长度(包括输入和输出)显著超过此限制的对话,建议使用 RoPE 缩放技术来有效处理长文本。我们使用 YaRN 方法验证了模型在长达 131,072 个标记的上下文长度上的性能。
在 llama.cpp
中启用 YARN:
./llama-cli ... -c 131072 --rope-scaling yarn --rope-scale 4 --yarn-orig-ctx 32768
最佳实践
为了实现最佳性能,建议采用以下设置:
- 采样参数:
- 对于思维模式(
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
参数。较高的值可能偶尔导致语言混合和模型性能略有下降。
- 足够的输出长度:对于大多数查询,建议使用 32,768 个标记的输出长度。对于高度复杂问题的基准测试,如数学和编程竞赛中的问题,建议将最大输出长度设置为 38,912 个标记。这为模型提供了足够的空间来生成详细和全面的响应,从而提高其整体性能。
- 标准化输出格式:在进行基准测试时,建议使用提示来标准化模型输出。
- 数学问题:在提示中包含 "Please reason step by step, and put your final answer within \boxed{}."。
- 多项选择题:在提示中添加以下 JSON 结构以标准化响应:"Please show your choice in the
answer
field with only the choice letter, e.g., "answer": "C"
."
- 历史记录中不包含思维内容:在多轮对话中,历史模型输出应仅包括最终输出部分,不需要包括思维内容。这在提供的 Jinja2 聊天模板中已经实现。然而,对于不直接使用 Jinja2 聊天模板的框架,开发者需要确保遵循最佳实践。
📚 详细文档
有关更多详细信息,包括基准评估、硬件要求和推理性能,请参考我们的 博客、GitHub 和 文档。
🔧 技术细节
模型概述
Qwen3-235B-A22B 具有以下特点:
属性 |
详情 |
模型类型 |
因果语言模型 |
训练阶段 |
预训练和后训练 |
参数数量 |
总共 235B,激活 22B |
参数数量(非嵌入) |
234B |
层数 |
94 |
注意力头数量(GQA) |
Q 为 64,KV 为 4 |
专家数量 |
128 |
激活专家数量 |
8 |
上下文长度 |
原生 32,768,使用 YaRN 可达 131,072 个标记 |
量化 |
q4_K_M, q5_0, q5_K_M, q6_K, q8_0 |
📄 许可证
本项目采用 Apache-2.0 许可证。
引用
如果你觉得我们的工作有帮助,请引用我们:
@misc{qwen3,
title = {Qwen3},
url = {https://qwenlm.github.io/blog/qwen3/},
author = {Qwen Team},
month = {April},
year = {2025}
}
⚠️ 重要提示
所有著名的开源框架都实现了静态 YaRN,这意味着缩放因子无论输入长度如何都保持不变,可能会影响较短文本的性能。建议仅在需要处理长上下文时添加 rope_scaling
配置。也建议根据需要修改 factor
。例如,如果你的应用程序的典型上下文长度为 65,536 个标记,最好将 factor
设置为 2.0。
💡 使用建议
阿里云模型工作室提供的端点默认支持动态 YaRN,无需额外配置。