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

引言

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

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

想在自己的 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 等开源模型的用户

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

相关推荐
GISer_Jing3 小时前
Agent架构师详解:Skill是什么?附CSDN博客撰写可复用Skill示例
前端·ai·aigc
后端小肥肠3 小时前
OpenClaw多Agent实战|手把手教你用一只小龙虾接入多个飞书Bot
人工智能·aigc·agent
lakernote3 小时前
EasyPostman 重大更新:正式支持插件模式,当前已上线 5 个官方插件
java·测试工具·开源·postman
奥升新能源平台6 小时前
奥升充电最小化高可用机房部署方案
运维·安全·开源·能源·springcloud
机器觉醒时代6 小时前
智元机器人赛事官方解读:双赛道升级,以开源生态共推具身智能落地
机器人·开源·具身智能·智元机器人
love530love6 小时前
Windows 开源项目部署评估与决策清单(完整版)
人工智能·windows·python·开源·github
梦梦代码精7 小时前
开源即商用,预期产出、风险与优化建议
人工智能·gitee·前端框架·开源·github
启山智软7 小时前
【智能商城系统技术架构优势】
java·spring·开源·商城开发
AI成长日志9 小时前
【GitHub开源项目专栏】扩散模型开源项目深度解析:Stable Diffusion与ControlNet架构全景
stable diffusion·开源·github