🌠Qwen3 - 如何运行与微调
学习如何使用 Unsloth 以及我们的 Dynamic 2.0 量化在本地运行与微调 Qwen3。
Qwen 的全新 Qwen3 模型在推理、遵循指令、代理能力和多语言支持方面实现了最先进的进步。
新! Qwen3 于 2025 年 7 月更新。运行并微调最新模型: Qwen-2507
所有上传均使用 Unsloth Dynamic 2.0 用于在 5-shot MMLU 和 KL 散度上达到 SOTA 性能,这意味着您可以以极小的精度损失运行并微调量化的 Qwen 大语言模型。
我们还上传了具有原生 128K 上下文长度的 Qwen3。Qwen 通过使用 YaRN 将其原始 40K 窗口扩展到 128K 来实现这一点。
Unsloth 现在也支持微调和 强化学习 (RL) 针对 Qwen3 和 Qwen3 MOE 模型——速度提升 2 倍,显存减少 70%,上下文长度增加 8 倍。使用我们的免费 Colab 笔记本
Qwen3 - Unsloth Dynamic 2.0 与最佳配置:
🖥️ 运行 Qwen3
要实现每秒 6+ 令牌的推理速度,我们建议可用内存应与您使用的模型大小相匹配或更大。例如,30GB 的 1-bit 量化模型至少需要 150GB 的内存。Q2_K_XL 量化模型为 180GB,将至少需要 180GB 的统一内存 (显存 + 内存)或 180GB 的内存 以获得最佳性能。
注意: 可以用 少于模型大小的总内存 (即更少的显存、更少的内存或较低的合计总量)来运行模型。然而,这会导致推理速度变慢。只有在您希望最大化吞吐量并实现最快推理时间时,才需要足够的内存。
⚙️ 官方推荐设置
根据 Qwen,这些是推理的推荐设置:
Temperature = 0.7
Temperature = 0.6
Min_P = 0.0(可选,但 0.01 表现良好,llama.cpp 默认为 0.1)
Min_P = 0.0
Top_P = 0.8
Top_P = 0.95
TopK = 20
TopK = 20
聊天模板/提示格式:
对于非思考模式,我们特意将 <think> 和 </think> 包裹为空:
对于思考模式,请勿使用贪心解码,因为这可能导致性能下降和无尽重复。
在思考模式和非思考模式之间切换
Qwen3 模型内置“思考模式”以增强推理并改善响应质量——类似于 QwQ-32B 的工作原理。切换说明将根据您使用的推理引擎而有所不同,请确保使用正确的说明。
llama.cpp 与 Ollama 的说明:
您可以添加 /think 和 /no_think 到用户提示或系统消息中,以在每轮之间切换模型的思考模式。模型将在多轮对话中遵循最近的指令。
这里有一个多轮对话示例:
transformers 与 vLLM 的说明:
思考模式:
enable_thinking=True
默认情况下,Qwen3 已启用思考。当您调用 tokenizer.apply_chat_template时, 您不需要手动设置任何内容。
在思考模式中,模型将在最终答案之前生成一个额外的 <think>...</think> 块——这使其能够“计划”并优化回答。
非思考模式:
enable_thinking=False
启用非思考将使 Qwen3 跳过所有思考步骤,表现得像普通的大语言模型。
此模式将直接提供最终响应——没有 <think> 块,也没有链式思维。
🦙 Ollama:运行 Qwen3 教程
安装
ollama如果您还没有安装!您只能运行最大到 32B 的模型。要运行完整的 235B-A22B 模型, 请参见此处.
运行模型!注意如果失败,您可以在另一个终端中调用
ollama serve!我们在 Hugging Face 上传中包含了所有修复和建议参数(温度等)在params中!
要禁用思考,请使用(或者您可以在系统提示中设置):
如果您遇到任何循环,Ollama 可能已将您的上下文长度窗口设置为大约 2,048。如果是这种情况,请将其提高到 32,000,看看问题是否仍然存在。
📖 Llama.cpp:运行 Qwen3 教程
获取最新的
llama.cpp在 GitHub 这里。您也可以按照下面的构建说明进行操作。若您没有 GPU 或仅想进行 CPU 推理,请将-DGGML_CUDA=ON改为-DGGML_CUDA=OFF。
通过以下方式下载模型(在安装
pip install huggingface_hub hf_transfer之后)。您可以选择 Q4_K_M 或其他量化版本。
运行模型并尝试任意提示。
要禁用思考,请使用(或者您可以在系统提示中设置):
运行 Qwen3-235B-A22B
对于 Qwen3-235B-A22B,我们将专门使用 Llama.cpp 以获得优化的推理和大量选项。
我们遵循与上述类似的步骤,但这次由于模型非常大,还需要执行额外的步骤。
通过以下方式下载模型(在安装
pip install huggingface_hub hf_transfer)。您可以选择 UD-Q2_K_XL 或其他量化版本。运行模型并尝试任意提示。
编辑
--threads 32以设置 CPU 线程数量,--ctx-size 16384以设置上下文长度,--n-gpu-layers 99以设置用于 GPU 卸载的层数。如果您的 GPU 出现显存不足,请尝试调整它。若仅使用 CPU 推理,请移除此项。
使用 -ot ".ffn_.*_exps.=CPU" 将所有 MoE 层卸载到 CPU!这实际上允许您将所有非 MoE 层放到 1 张 GPU 上,从而提高生成速度。如果您有更多 GPU 容量,可以自定义正则表达式以适配更多层。
🦥 使用 Unsloth 微调 Qwen3
Unsloth 使 Qwen3 的微调速度提高 2 倍,使用 70% 更少的显存并支持 8 倍更长的上下文长度。Qwen3(14B)可在 Google Colab 的 16GB VRAM Tesla T4 GPU 上舒适运行。
由于 Qwen3 同时支持有推理与无推理行为,您可以使用无推理的数据集对其进行微调,但这可能会影响其推理能力。如果您希望保持其推理能力(可选),可以在数据集中混合直接回答与链式思维示例。使用 75% 推理 和 25% 无推理 在您的数据集中以使模型保留其推理能力。
我们的对话笔记本使用 75% NVIDIA 的 open-math-reasoning 数据集和 25% Maxime 的 FineTome 数据集(无推理)的组合。以下是用于微调 Qwen3 的免费 Unsloth Colab 笔记本:
Qwen3(4B) - 高级 GRPO LoRA
Qwen3(14B)Alpaca 笔记本 (用于基础模型)
如果您有旧版本的 Unsloth 和/或在本地进行微调,请安装最新版本的 Unsloth:
Qwen3 MOE 模型微调
微调支持包括 MOE 模型:30B-A3B 和 235B-A22B。借助 Unsloth,Qwen3-30B-A3B 在仅 17.5GB VRAM 上可运行。对于微调 MoE —— 通常不建议微调路由器层,因此我们默认将其禁用。
30B-A3B 可在 17.5GB 显存中运行,但您可能缺少内存或磁盘空间,因为完整的 16-bit 模型必须下载并在运行时转换为 4-bit 以用于 QLoRA 微调。这是由于无法直接导入 4-bit BnB MOE 模型的问题。此问题仅影响 MOE 模型。
笔记本指南:

要使用这些笔记本,只需点击 Runtime,然后 Run all。您可以在笔记本中将设置更改为所需内容。我们默认已自动设置。将模型名称更改为您在 Hugging Face 上的模型名称,例如 'unsloth/Qwen3-8B' 或 'unsloth/Qwen3-0.6B-unsloth-bnb-4bit'。
还有其他可以切换的设置:
max_seq_length = 2048– 控制上下文长度。虽然 Qwen3 支持 40960,但我们建议测试时使用 2048。Unsloth 支持 8 倍更长的上下文微调。load_in_4bit = True– 启用 4 位量化,在 16GB GPU 上微调时将内存使用减少 4 倍。对于 完全微调 – 设置
full_finetuning = True和 8 位微调 – 设置load_in_8bit = True
如果您想查看关于如何使用 Unsloth 笔记本进行端到端微调或仅了解微调、创建 数据集 等的完整指南,请查看我们的 完整指南在此:
🧬Fine-tuning Guide📈数据集指南GRPO 与 Qwen3
我们为 Qwen3 制作了一个新的高级 GRPO 笔记本以进行微调。学习使用我们基于接近度的奖励函数(越接近的答案 = 越多奖励)以及 Hugging Face 的 Open-R1 数学数据集。 Unsloth 现在还有更好的评估并使用最新版本的 vLLM。
Qwen3(4B) 笔记本 - 高级 GRPO LoRA
了解以下内容:
在 Qwen3(基础)中启用推理并引导其执行特定任务
预微调以绕过 GRPO 易于学习格式化的倾向
通过新的正则匹配提升评估准确性
超出仅使用 'think' 的自定义 GRPO 模板,例如 <start_working_out></end_working_out>
基于接近度的评分:更好的答案获得更多分数(例如,预测 9 而正确答案为 10)并对异常值进行惩罚

最后更新于
这有帮助吗?

