Unsloth¶
本指南将教您如何使用 Unsloth 轻松训练 Qwen3 模型。Unsloth 简化了本地模型训练,涵盖了从加载、量化到训练、评估、运行以及通过推理引擎(如 Ollama、llama.cpp、vLLM)进行部署的所有内容。训练 Qwen 模型的速度提升 2 倍,同时使用减少 70% 的显存(VRAM)。
GitHub 仓库: Unsloth
⭐ 主要特性¶
支持全量微调、预训练、LoRA、QLoRA、8-bit 训练等
支持单 GPU 和多 GPU(Linux、Windows、Colab、Kaggle;NVIDIA GPU,即将支持 AMD 和 Intel)
兼容所有 Transformer 模型:TTS、多模态、STT、BERT、RL
支持 RLHF:GRPO、DPO、DAPO、RM、PPO、KTO 等
手写 Triton 内核和手动反向传播引擎确保无精度损失(0% 近似)。
快速入门¶
本地安装(推荐 Linux):
pip install unsloth
您可以在此处查看 Unsloth 的完整安装说明[英文]。
使用 Unsloth 微调 Qwen3¶
Unsloth 使 Qwen3 的微调速度提升 2 倍,显存(VRAM)使用减少 70%,并支持 8 倍更长的上下文。Qwen3(14B)可轻松运行在免费的 16 GB 显存 Colab Tesla T4 GPU 上。
为了保留 Qwen3 的推理能力,建议使用 75% 推理类数据与 25% 非推理类数据的组合(例如,NVIDIA 的数学推理数据集 + Maxime 的 FineTome 数据集)。
更多详细信息,请参阅 Unsloth 完整的Qwen3 微调指南[英文]。
Colab Notebooks¶
在本地更新 Unsloth:
pip install --upgrade --force-reinstall --no-cache-dir unsloth unsloth_zoo
微调 Qwen3 MoE 模型¶
支持的 MoE 模型包括 30B‑A3B 和 235B‑A22B。Unsloth 仅需 17.5 GB 显存即可微调 30B‑A3B 模型。默认情况下禁用路由层(router-layer)的微调。
对 MoE 模型进行微调时,请使用 FastModel:
from unsloth import FastModel
model, tokenizer = FastModel.from_pretrained(
model_name="unsloth/Qwen3-30B-A3B",
max_seq_length=2048,
load_in_4bit=True,
load_in_8bit=False,
full_finetuning=False,
)
Notebook 指南¶
如需端到端的完整操作流程,请参阅 Unsloth 的完整端到端微调指南[英文]。
打开 Notebook → 点击 Runtime ▸ Run all。
直接在 Notebook 中调整设置(例如模型名称、上下文长度):
max_seq_length:推荐值为 2048(Qwen3 最高支持 40960)。load_in_4bit=True:将内存使用量减少为原来的四分之一。启用全量微调(
full_finetuning=True)或 8-bit 训练(load_in_8bit=True)。
如果您想直接使用来自 ModelScope 的模型,请使用:
pip install modelscope -qqq
import os
os.environ["UNSLOTH_USE_MODELSCOPE"] = "1"
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="unsloth/Qwen3-4B-Base",
max_seq_length=2048,
)
使用 Qwen3 进行强化学习(RL)与 GRPO¶
您还可以使用 Unsloth 通过强化学习(RL)来训练 Qwen 模型。探索 Unsloth 的进阶 GRPO Notebook,其中包含基于接近度的奖励评分和 Hugging Face 的 Open‑R1 数学数据集:Qwen3 (4B) 进阶 GRPO LoRA Notebook。
基于 Proximity 的奖励,对更接近正确答案的回答给予更高奖励
自定义 GRPO 格式和模板
通过正则表达式匹配提高评估准确性
资源与链接¶
这就是使用 Unsloth 轻松训练 Qwen 模型的方法。如果您需要任何帮助,请加入 Unsloth 的 Discord 或 GitHub 页面参与讨论。
链接: