# FBGEMM

[FBGEMM (Facebook GEneral Matrix Multiplication)](https://github.com/pytorch/FBGEMM) — это библиотека для умножения матриц с низкой точностью, предназначенная для малых размеров батча и поддерживающая методы, минимизирующие потерю точности, такие как построчная квантизация и квантизация с учётом выбросов. С помощью FBGEMM можно квантовать веса модели до 8 бит на канал, а активации — до 8 бит на токен (также известное как fp8 или w8a8).

> [!TIP]
> Вам нужен GPU с [compute capability 9+](https://developer.nvidia.com/cuda-gpus#collapseOne), например H100.

Установите пакет FBGEMM_GPU с помощью команды ниже, чтобы убедиться, что у вас последняя версия.

```bash
pip install --upgrade accelerate fbgemm-gpu torch
```

Если у вас возникают проблемы с установкой, попробуйте установить [ночную сборку](https://docs.pytorch.org/FBGEMM/fbgemm_gpu/development/InstallationInstructions.html#fbgemm-gpu-install-libraries).

Создайте [FbgemmFp8Config](/docs/transformers/main/ru/main_classes/quantization#transformers.FbgemmFp8Config) и передайте его в [from_pretrained()](/docs/transformers/main/ru/main_classes/model#transformers.PreTrainedModel.from_pretrained), чтобы квантовать модель в fp8.

```py
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()](/docs/transformers/main/ru/main_classes/model#transformers.PreTrainedModel.save_pretrained) и [from_pretrained()](/docs/transformers/main/ru/main_classes/model#transformers.PreTrainedModel.from_pretrained) позволяют сохранять и загружать квантованную модель.

```py
quant_path = "/path/to/save/quantized/model"
quantized_model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")
```

## Ресурсы

Подробнее о FBGEMM читайте в блоге [Опубликование FBGEMM для передового серверного вывода](https://engineering.fb.com/2018/11/07/ml-applications/fbgemm/).

