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 格式和模板

  • 通过正则表达式匹配提高评估准确性