一天一个开源项目(第57篇):Unsloth - 2x 更快、70% 更省显存的 LLM 微调库

引言

"Train gpt-oss, DeepSeek, Gemma, Qwen & Llama 2x faster with 70% less VRAM!"

这是「一天一个开源项目」系列的第 57 篇文章。今天介绍的项目是 Unsloth (GitHub)。

想在自己的 GPU 上微调大模型,却苦于显存不足、训练太慢?Unsloth 是开源的 LLM 微调与强化学习库 :训练速度约 2x 、显存节省约 70% 、0% 精度损失。支持 gpt-oss、DeepSeek、Qwen、Llama、Gemma、TTS 等,提供 Colab 免费 Notebook、Docker 镜像,兼容 Hugging Face transformers 与 TRL。

你将学到什么

  • Unsloth 的核心能力与定位
  • 微调与强化学习(GRPO、GSPO 等)支持
  • 支持的模型与训练范式
  • 快速开始:pip、Docker、Colab
  • 与 Hugging Face + FA2 的对比

前置知识

  • 对 LLM 微调有基本了解
  • 了解 LoRA、QLoRA 等概念更佳(可选)

项目背景

项目简介

Unsloth 是开源的 大语言模型微调与强化学习库,基于 PyTorch 与 Triton 内核,通过内存优化与高效算子实现:训练速度约 2x、显存节省约 70%。支持全参数微调、预训练、4-bit、16-bit、FP8,支持 TTS、多模态、Embedding 等各类模型,强化学习(GRPO、GSPO、DAPO 等)显存节省约 80%。

团队

  • 团队 :Unsloth AI(unsloth.ai)
  • 理念:高效、易用、0% 精度损失、支持所有主流模型

项目数据


主要功能

核心能力

能力 说明
高效微调 2x 速度、70% 显存节省,0% 精度损失
全范式支持 全参数微调、预训练、4-bit、16-bit、FP8
模型覆盖 LLM、TTS、多模态、Embedding,兼容 transformers
强化学习 GRPO、GSPO、DrGRPO、DAPO、PPO 等,80% 显存节省
导出部署 GGUF、vLLM、SGLang、Hugging Face
硬件支持 NVIDIA、AMD、Intel GPU,Linux/WSL/Windows

使用场景

  1. 个人/小团队微调:在消费级 GPU 上微调 7B、8B 模型
  2. 强化学习:GRPO、GSPO 等推理链/对齐训练
  3. 长上下文:支持更长上下文微调(如 Llama 3.1 8B 在 80GB 上可达 342K)
  4. 免费 Colab:无 GPU 用户可用 Colab Notebook 免费训练

快速开始

Linux / WSL:

bash 复制代码
pip install unsloth

Windows :需先安装 PyTorch,详见 Windows 指南。

Docker:

bash 复制代码
docker run -d -e JUPYTER_PASSWORD="mypassword" \
  -p 8888:8888 -p 2222:22 \
  -v $(pwd)/work:/workspace/work \
  --gpus all \
  unsloth/unsloth

访问 http://localhost:8888 使用 Jupyter Lab。

Colab 免费训练 :在 Unsloth Notebooks 中按模型选择对应 Notebook,如 Qwen3.5、gpt-oss、Llama 3.1 等,一键运行。

最小示例:

python 复制代码
from unsloth import FastLanguageModel
import torch

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/llama-3.1-8b-instruct",
    max_seq_length=2048,
    load_in_4bit=True,
)

model = FastLanguageModel.get_peft_model(
    model,
    r=16,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                    "gate_proj", "up_proj", "down_proj"],
    lora_alpha=16,
    lora_dropout=0,
    bias="none",
    use_gradient_checkpointing="unsloth",
)

# 使用 SFTTrainer 训练...

支持的模型

LLM :Llama 3.1/3.2/3.3/4、Qwen2.5/Qwen3/Qwen3.5、DeepSeek、Gemma 2/3、gpt-oss、Mistral、Phi 等
多模态 :Llama 3.2 Vision、Qwen2.5-VL、Pixtral、Gemma 3 Vision 等
TTS :Orpheus、sesame/csm-1b 等
Embedding:EmbeddingGemma 等

项目优势

对比项 Unsloth Hugging Face + FA2
训练速度 约 2x 1x
显存占用 约 70% 更少 基准
长上下文 如 Llama 3.1 8B 342K(80GB) 28K
精度 0% 损失 0% 损失
RL 显存 约 80% 更少 基准

项目详细剖析

技术要点

  • Triton 内核:核心算子用 OpenAI Triton 编写,手动反向传播引擎
  • 无近似:不依赖近似方法,全部精确计算
  • RoPE & MLP:Triton 内核 + Padding Free + Packing,约 3x 训练加速、30% 显存节省
  • MoE 支持:MoE 模型训练约 12x 加速、35% 显存节省

性能基准(示例)

模型 GPU Unsloth 速度 Unsloth 显存 Unsloth 上下文 HF+FA2 上下文
Llama 3.3 (70B) 80GB 2x >75% 减少 13x 更长 1x
Llama 3.1 (8B) 80GB 2x >70% 减少 12x 更长 1x

目录结构

bash 复制代码
unsloth/
├── unsloth/          # 核心库
├── cli/              # CLI 工具
├── studio/           # Studio 相关
├── scripts/          # 脚本
├── tests/            # 测试
└── cli.py            # 入口

项目地址与资源

官方资源

适用人群

  • 需要在有限 GPU 上微调 LLM 的开发者
  • 做强化学习、对齐、推理链训练的团队
  • 想用 Colab 免费体验微调的学习者
  • 使用 Llama、Qwen、DeepSeek、Gemma 等开源模型的用户

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

相关推荐
冬奇Lab8 小时前
一天一个开源项目(第232篇):DSH Desktop —— 把桌面壳本身也做成一个插件,30k+ Stars 的 DeepSeek Harness 桌面客户端
人工智能·开源·资讯
Csvn9 小时前
线上出问题怎么查?一套可复现的排障 SOP(O04)
人工智能·aigc·agent
小虎AI生活9 小时前
把重复工作流派给 AI 的完整方法:四样要素、固定熟手与定时任务
aigc·ai编程
Dawson Zhu10 小时前
《Agentic Design Patterns》第 9 章导读:学习与适应(Learning and Adaptation)
人工智能·语言模型·架构·aigc·agi
302wanger10 小时前
和raft.build一起叨逼叨
aigc
写的都是BUG10 小时前
我开源了一个 Android/iOS 加固工具,顺便聊聊加固到底能防住什么
开源·掘金社区
caoerzhong11 小时前
JeeWMS 开源 WMS 部署避坑指南:Java 仓库管理系统的环境基线、四类根因与可复现交付
java·开发语言·开源
JavaGuide12 小时前
最近爆火的 Muse 浙大开源版 nanoMuse,来了!
aigc·openai·ai编程
ServBay12 小时前
不会写代码,如何搭建自己的 AI 自动化工作流
后端·aigc·ai编程
SL_staff12 小时前
目标健康度自检清单:开发者视角下的目标-计划-任务链路断点诊断
java·开源·github