跳转到主要内容

量化

量化通过使用较低精度存储模型权重来减少内存使用。

快速开始

Python API

量化选项

支持的任务

量化可用于:

4-bit (QLoRA)

最大内存节省:

8-bit

更好的质量,节省较少:

内存要求

Llama 3.2 8B

Gemma 2 27B

最佳实践

与 LoRA 一起使用

量化需要启用 PEFT/LoRA:
量化仅在 peft=True 时有效。如果未启用 PEFT,量化设置将被忽略。

调整学习率

量化训练通常受益于比默认值(3e-5)更高的学习率:

使用 Flash Attention

Flash Attention 结合以提高速度:

使用量化模型进行推理

加载量化模型进行推理:

平台要求

量化仅在 Linux 上有效。 int4/int8 量化所需的 bitsandbytes 库仅在 Linux 系统上可用。

Apple Silicon (MPS) 注意事项

量化与 Apple Silicon MPS 不兼容。在 M1/M2/M3 Mac 上使用量化时:
  • 训练自动回退到 CPU
  • 您会看到解释此情况的警告消息
  • 要在 Mac 上更快训练,请跳过量化并仅使用 LoRA
用于手动控制的环境变量:
  • AUTOTRAIN_DISABLE_MPS=1 - 强制 CPU 训练
  • AUTOTRAIN_ENABLE_MPS=1 - 即使使用量化也强制 MPS(可能崩溃)

质量考虑

量化确实会略微降低质量。对于关键应用:
  1. 在您的特定任务上测试
  2. 与全精度基线进行比较
  3. 如果质量更重要,考虑使用 8-bit

下一步

LoRA/PEFT

高效微调

Flash Attention

速度优化