GPT-4O UPDATED // CLAUDE 3.5 SONNET TRENDING // NEW VECTOR DB RELEASED: CHROMA V0.5 // CURSOR RAISED $60M // GEMINI 1.5 PRO AVAILABLE // GPT-4O UPDATED // CLAUDE 3.5 SONNET TRENDING // NEW VECTOR DB RELEASED
Score: 95/100
Open Source
LANG: ZH

Unsloth

"以2倍速度、70%更少内存微调LLM"

Unsloth 是什么?

Unsloth 是一个开源优化库,旨在使大型语言模型 (LLM) 的微调速度显著加快,内存效率更高。它实现了高达2倍的速度提升,并将内存使用量减少多达70%,而不会牺牲准确性。这是通过为LoRA定制的基于Triton的内核和手动实现反向传播来实现的。Unsloth 与 Hugging Face 的 PEFT (Parameter-Efficient Fine-Tuning) 库无缝集成,允许开发人员以最少的代码更改来加速其现有的工作流程。

主要特点

  • 训练速度提高2倍: 与标准的Hugging Face实现相比,利用定制的Triton内核显著加快了微调过程。
  • 减少70%的内存使用: 通过大幅削减内存开销,使得在消费级GPU上微调更大的模型成为可能。
  • 零准确性损失: 保持与传统微调方法相同的准确性水平。
  • 自动RoPE缩放: 自动调整Llama和Mistral等模型的RoPE缩放,以处理更长的上下文长度。
  • 广泛的模型支持: 与Llama、Mistral、CodeLlama、TinyLlama、Yi等流行模型兼容。
  • 易于集成: 作为Hugging Face PeftModel的直接替代品,只需两行代码即可实现。

使用案例

  • 快速原型设计: 针对特定领域的任务,快速迭代微调实验。
  • 经济高效的训练: 在更实惠、易于获得的消费级硬件(如NVIDIA RTX GPU)上微调大型模型。
  • 学术研究: 使计算资源有限的研究人员能够对最先进的模型进行实验。
  • 定制聊天机器人开发: 通过在自定义数据集上微调Llama 3等模型,高效地创建专门的聊天机器人。

入门指南

这是一个如何使用Unsloth微调模型的简单示例。首先,安装必要的软件包:

```bash pip install “unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git” pip install –no-deps “xformers<0.0.26” “trl<0.9.0” “peft<0.11.0” “accelerate<0.30.0” “bitsandbytes<0.44.0”

接下来,使用 FastLanguageModel 加载您的模型和分词器。此示例使用 Llama-3 8B 模型。

```python from unsloth import FastLanguageModel import torch

max_seq_length = 2048 dtype = None # None 表示自动检测。Float16 适用于 Tesla T4, V100,Bfloat16 适用于 Ampere+ load_in_4bit = True # 使用4位量化以减少内存使用。

model, tokenizer = FastLanguageModel.from_pretrained( model_name = “unsloth/llama-3-8b-bnb-4bit”, max_seq_length = max_seq_length, dtype = dtype, load_in_4bit = load_in_4bit, )

向模型添加LoRA适配器

model = FastLanguageModel.get_peft_model( model, r = 16, # 选择任何 > 0 的数字 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 = True, random_state = 3407, use_rslora = False, loftq_config = None, )

现在您可以使用Hugging Face的TRL库继续进行训练

… (您的训练代码在此处)

定价

Unsloth 是一个根据 Apache-2.0 许可证 发布的免费开源项目。它可以免费用于个人和商业项目。

System Specs

License
Apache-2.0
Release Date
2026-01-24
Social
unslothai
Sentiment
非常积极

Tags

llm / 微调 / 优化 / 内存效率 / llama / mistral / peft

Alternative Systems

  • Axolotl
    一种用于微调各种LLM的工具,简化了训练过程。
  • Hugging Face PEFT
    一个用于大型模型参数高效微调的库。
  • bitsandbytes
    一个围绕CUDA自定义函数的轻量级包装器,特别适用于8位优化器。
  • LoRA
    一种流行的大型语言模型低秩自适应技术。
  • QLoRA
    一种将预训练模型量化为4位并添加少量可学习参数的方法。