🚀 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}
}