跳转到主要内容

Unsloth 集成

Unsloth 为 LoRA 微调提供优化的训练,显著减少训练时间和内存使用。

要求

Unsloth 仅适用于 SFT 训练--trainer sft--trainer default)。不支持 DPO、ORPO、PPO 和其他训练器。

支持的模型架构

Unsloth 针对特定模型系列进行了优化: 其他模型架构将回退到标准训练并显示警告。

快速开始

参数

Python API

与量化结合

Unsloth 与 int4 和 int8 量化配合使用以减少内存使用:

工作原理

当启用 Unsloth 并满足要求时:
  1. 使用 Unsloth 库的 FastLanguageModel 进行优化的模型加载
  2. 应用优化的梯度检查点(use_gradient_checkpointing="unsloth"
  3. 自动配置 LoRA 目标模块:q_projk_projv_projo_projgate_projup_projdown_proj
  4. 与 PEFT 集成以进行高效的适配器训练

回退行为

如果无法使用 Unsloth,训练将继续使用标准 transformers/PEFT:
  • Unsloth 未安装:记录警告,继续不使用 Unsloth
  • 不支持的模型类型:记录警告,继续不使用 Unsloth
  • 不支持的训练器:不应用 Unsloth(仅支持 SFT)

ShareGPT 映射

使用 --use-sharegpt-mapping 保留 ShareGPT 格式而不是转换:

下一步

LoRA/PEFT

高效微调技术

Quantization

使用量化减少内存