bitsandbytes

bitsandbytes 量化训练与推理

补充说明

bitsandbytes 提供 8-bit/4-bit 量化和 8-bit 优化器,常用于 QLoRA、低显存微调和量化推理。它与 Transformers、PEFT、Accelerate 集成紧密。

核心能力:load_in_8bit、load_in_4bit、BitsAndBytesConfig、Adam8bit、LLM.int8()。

常用示例

安装:

pip install bitsandbytes
python -c "import bitsandbytes as bnb; print(bnb.__version__)"

4-bit 加载模型:

from transformers import AutoModelForCausalLM, BitsAndBytesConfig

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype="bfloat16",
    bnb_4bit_use_double_quant=True,
)
model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen2.5-7B-Instruct",
    quantization_config=bnb_config,
    device_map="auto",
)

8-bit 优化器:

import bitsandbytes as bnb
optimizer = bnb.optim.Adam8bit(model.parameters(), lr=1e-4)

检查 CUDA 支持:

python -m bitsandbytes

易错点与排错