HuggingFace镜像/Qwen3-235B-A22B-GGUF
模型介绍
文件和版本
分析

Qwen3-235B-A22B-GGUF

Chat

Qwen3 亮点特性

Qwen3 是 Qwen 系列的最新一代大型语言模型,提供了一套全面的密集型和混合专家(MoE)模型。经过大规模训练,Qwen3 在推理能力、指令遵循、智能体能力和多语言支持方面实现了突破性进展,主要特性如下:

  • 独创支持单模型内无缝切换思维模式(适用于复杂逻辑推理、数学和编码任务)与非思维模式(适用于高效的通用对话),确保在不同场景下均能发挥最佳性能。
  • 推理能力显著增强,在数学、代码生成和常识逻辑推理任务上超越了前代 QwQ(思维模式下)和 Qwen2.5 指令模型(非思维模式下)。
  • 卓越的人类偏好对齐,在创意写作、角色扮演、多轮对话和指令遵循方面表现出色,提供更自然、引人入胜且沉浸式的对话体验。
  • 强大的智能体能力,支持在思维与非思维模式下精准集成外部工具,在复杂智能体任务中实现开源模型领先性能。
  • 支持 100 余种语言及方言,具备强大的多语言指令遵循和翻译能力。

模型概述

Qwen3-235B-A22B 具有以下特性:

  • 类型:因果语言模型

  • 训练阶段:预训练与后训练

  • 参数数量:总计 2350 亿,激活 220 亿

  • 非嵌入层参数数量:2340 亿

  • 层数:94

  • 注意力头数(GQA):Q 为 64,KV 为 4

  • 专家数量:128

  • 激活专家数量:8

  • 上下文长度:原生 32,768 tokens,通过 YaRN 可扩展至 131,072 tokens

  • 量化版本:q4_K_M、q5_0、q5_K_M、q6_K、q8_0

更多详情,包括基准测试评估、硬件要求和推理性能,请参阅我们的 博客、GitHub 和 文档。

快速开始

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 的前缀,但分别有自己的索引后缀,例如 -00001-of-00005。 要使用分割的 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

在思考模式与非思考模式间切换

您可以在用户提示词或系统消息中添加 /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 个 tokens 的上下文长度。对于总长度(包含输入和输出)显著超过此限制的对话,我们建议使用 RoPE 缩放技术来有效处理长文本。我们已通过 YaRN 方法验证了模型在最长 131,072 个 tokens 上下文长度下的性能。

在 llama.cpp 中启用 YARN 的方法:

./llama-cli ... -c 131072 --rope-scaling yarn --rope-scale 4 --yarn-orig-ctx 32768

[!NOTE] 所有主流开源框架均实现了静态 YaRN,这意味着无论输入长度如何,缩放因子都保持恒定,这可能会影响短文本的性能。 我们建议仅在需要处理长上下文时才添加 rope_scaling 配置。 还建议根据需要修改 factor。例如,如果您的应用程序的典型上下文长度为 65,536 个 token,最好将 factor 设置为 2.0。

[!TIP] 阿里云 Model Studio 提供的端点默认支持动态 YaRN,无需额外配置。

最佳实践

为获得最佳性能,我们建议采用以下设置:

  1. 采样参数:

    • 对于思考模式(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 参数。较高的值偶尔可能导致语言混合,并略微降低模型性能。
  2. 足够的输出长度:对于大多数查询,我们建议使用 32,768 个 token 的输出长度。对于高度复杂问题的基准测试,例如数学和编程竞赛中的问题,我们建议将最大输出长度设置为 38,912 个 token。这为模型提供了足够的空间来生成详细且全面的响应,从而提高其整体性能。

  3. 标准化输出格式:在进行基准测试时,我们建议使用提示词来标准化模型输出。

    • 数学问题:在提示词中包含“请逐步推理,并将最终答案放在 \boxed{} 中。”
    • 多项选择题:在提示词中添加以下 JSON 结构以标准化响应:“请在 answer 字段中仅用选项字母显示您的选择,例如:"answer": "C"。”
  4. 历史记录中无思考内容:在多轮对话中,历史模型输出应仅包含最终输出部分,不需要包含思考内容。提供的 Jinja2 聊天模板中已实现此功能。但是,对于不直接使用 Jinja2 聊天模板的框架,开发人员需要确保遵循此最佳实践。

引用说明

如果您觉得我们的工作对您有所帮助,欢迎引用我们的成果。

@misc{qwen3technicalreport,
      title={Qwen3 Technical Report}, 
      author={Qwen Team},
      year={2025},
      eprint={2505.09388},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2505.09388}, 
}