Skip to main content

Quantization

Quantization reduces memory usage by using lower precision for model weights.

Quick Start

Python API

Quantization Options

Supported Tasks

Quantization is available for:

4-bit (QLoRA)

Maximum memory savings:

8-bit

Better quality, less savings:

Memory Requirements

Llama 3.2 8B

Gemma 2 27B

Best Practices

Use with LoRA

Quantization requires PEFT/LoRA to be enabled:
Quantization only works when peft=True. Without PEFT enabled, the quantization setting will be ignored.

Adjust Learning Rate

Quantized training often benefits from a higher learning rate than the default (3e-5):

Use Flash Attention

Combine with Flash Attention for speed:

Inference with Quantized Models

Load quantized models for inference:

Platform Requirements

Quantization only works on Linux. The bitsandbytes library required for int4/int8 quantization is only available on Linux systems.

Apple Silicon (MPS) Note

Quantization is not compatible with Apple Silicon MPS. When you use quantization on a Mac with M1/M2/M3:
  • Training automatically falls back to CPU
  • You’ll see a warning message explaining this
  • For faster training on Mac, skip quantization and use LoRA alone
Environment variables for manual control:
  • AUTOTRAIN_DISABLE_MPS=1 - Force CPU training
  • AUTOTRAIN_ENABLE_MPS=1 - Force MPS even with quantization (may crash)

Quality Considerations

Quantization does reduce quality slightly. For critical applications:
  1. Test on your specific task
  2. Compare with full-precision baseline
  3. Consider 8-bit if quality matters more

Next Steps

LoRA/PEFT

Efficient fine-tuning

Flash Attention

Speed optimizations