Transformers documentation

FBGEMM

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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