Transformers documentation
FBGEMM
FBGEMM
FBGEMM (Facebook GEneral Matrix Multiplication) — это библиотека для умножения матриц с низкой точностью, предназначенная для малых размеров батча и поддерживающая методы, минимизирующие потерю точности, такие как построчная квантизация и квантизация с учётом выбросов. С помощью FBGEMM можно квантовать веса модели до 8 бит на канал, а активации — до 8 бит на токен (также известное как fp8 или w8a8).
Вам нужен GPU с compute capability 9+, например H100.
Установите пакет FBGEMM_GPU с помощью команды ниже, чтобы убедиться, что у вас последняя версия.
pip install --upgrade accelerate fbgemm-gpu torch
Если у вас возникают проблемы с установкой, попробуйте установить ночную сборку.
Создайте FbgemmFp8Config и передайте его в from_pretrained(), чтобы квантовать модель в fp8.
from transformers import FbgemmFp8Config, AutoModelForCausalLM
quantization_config = FbgemmFp8Config()
quantized_model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Meta-Llama-3-8B",
dtype="auto",
device_map="auto",
quantization_config=quantization_config
)save_pretrained() и from_pretrained() позволяют сохранять и загружать квантованную модель.
quant_path = "/path/to/save/quantized/model"
quantized_model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")Ресурсы
Подробнее о FBGEMM читайте в блоге Опубликование FBGEMM для передового серверного вывода.
Update on GitHub