🚀 Qwen3-8B-GGUF
Qwen3-8B-GGUF是Qwen系列最新一代大语言模型,具备推理、指令遵循、智能体能力和多语言支持等多方面的先进特性,能为用户带来更自然、更沉浸的对话体验。
🚀 快速开始
llama.cpp
更多使用指南请查看 llama.cpp文档。
建议你克隆 llama.cpp
并按照官方指南进行安装,本项目遵循 llama.cpp 的最新版本。在以下演示中,假设你在 llama.cpp
仓库下运行命令。
./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 --presence-penalty 1.5 -c 40960 -n 32768 --no-context-shift
ollama
更多使用指南请查看 ollama文档。
你可以使用以下命令运行 Qwen3:
ollama run hf.co/Qwen/Qwen3-8B-GGUF:Q8_0
✨ 主要特性
Qwen3 亮点
Qwen3 是 Qwen 系列的最新一代大语言模型,提供了一套全面的密集模型和专家混合(MoE)模型。基于大量训练,Qwen3 在推理、指令遵循、智能体能力和多语言支持方面取得了突破性进展,具有以下关键特性:
- 单模型内独特支持思维模式(用于复杂逻辑推理、数学和编码)和非思维模式(用于高效通用对话)的无缝切换,确保在各种场景下都能实现最佳性能。
- 推理能力显著增强,在数学、代码生成和常识逻辑推理方面超越了之前的 QwQ(思维模式)和 Qwen2.5 指令模型(非思维模式)。
- 高度符合人类偏好,在创意写作、角色扮演、多轮对话和指令遵循方面表现出色,提供更自然、引人入胜和沉浸式的对话体验。
- 具备卓越的智能体能力,能够在思维和非思维模式下与外部工具精确集成,在复杂的基于智能体的任务中在开源模型中取得领先性能。
- 支持 100 多种语言和方言,具备强大的 多语言指令遵循 和 翻译 能力。
Qwen3-8B 模型概述
属性 |
详情 |
模型类型 |
因果语言模型 |
训练阶段 |
预训练与后训练 |
参数数量 |
82 亿 |
参数数量(非嵌入) |
69.5 亿 |
层数 |
36 |
注意力头数量(GQA) |
Q 为 32,KV 为 8 |
上下文长度 |
原生支持 32,768 个词元,使用 YaRN 方法可支持 131,072 个词元 |
量化方式 |
q4_K_M、q5_0、q5_K_M、q6_K、q8_0 |
更多详细信息,包括基准评估、硬件要求和推理性能,请参考 博客、GitHub 和 文档。
💻 使用示例
思维模式与非思维模式切换
你可以在用户提示或系统消息中添加 /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
⚠️ 重要提示
所有著名的开源框架都实现了静态 YaRN,这意味着无论输入长度如何,缩放因子都保持不变,可能会影响较短文本的性能。建议仅在需要处理长上下文时添加 rope_scaling
配置,也建议根据需要修改 factor
。例如,如果应用程序的典型上下文长度为 65,536 个词元,最好将 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
参数,较高的值可能偶尔导致语言混合和模型性能略有下降。
- 足够的输出长度:对于大多数查询,建议使用 32,768 个词元的输出长度。对于高度复杂问题的基准测试,如数学和编程竞赛中的问题,建议将最大输出长度设置为 38,912 个词元,这为模型提供了足够的空间来生成详细和全面的响应,从而提高其整体性能。
- 标准化输出格式:在进行基准测试时,建议使用提示来标准化模型输出。
- 数学问题:在提示中包含 “请逐步推理,并将最终答案放在 \boxed{} 内”。
- 多项选择题:在提示中添加以下 JSON 结构以标准化响应:“请在
answer
字段中仅使用选项字母显示选择,例如 "answer": "C"
”。
- 历史记录中不包含思维内容:在多轮对话中,历史模型输出应仅包括最终输出部分,无需包含思维内容。这在提供的 Jinja2 聊天模板中已实现。但是,对于不直接使用 Jinja2 聊天模板的框架,由开发人员确保遵循最佳实践。
📄 许可证
本项目采用 Apache-2.0 许可证。
引用
如果您觉得我们的工作有帮助,请引用:
@misc{qwen3,
title = {Qwen3},
url = {https://qwenlm.github.io/blog/qwen3/},
author = {Qwen Team},
month = {April},
year = {2025}
}