Transformers documentation

FBGEMM

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
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