Transformers documentation

AQLM

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AQLM

Аддитивное квантование языковых моделей (AQLM) квантует несколько весов совместно, используя взаимозависимости между ними. AQLM представляет группы из 8–16 весов в виде суммы нескольких векторных кодов.

AQLM также поддерживает дообучение с LoRA с помощью библиотеки PEFT и полностью совместима с torch.compile для ещё более быстрого вывода и обучения.

Выполните команду ниже, чтобы установить библиотеку AQLM с поддержкой ядер для инференса и обучения как на GPU, так и на CPU.

pip install aqlm[gpu,cpu]

Загрузите модель с квантованием AQLM с помощью from_pretrained().

from transformers import AutoTokenizer, AutoModelForCausalLM

quantized_model = AutoModelForCausalLM.from_pretrained(
    "ISTA-DASLab/Mixtral-8x7b-AQLM-2Bit-1x16-hf",
    dtype="auto", 
    device_map="auto"
)

Конфигурации

Настройки квантования AQLM различаются в основном количеством используемых кодовых книг, а также размером кодовых книг в битах. Наиболее популярные настройки и поддерживаемые ядра вывода приведены ниже.

ЯдроКоличество кодовых книгРазмер кодовой книги, битыОбозначенияТочностьУскорениеБыстрый вывод на GPUБыстрый CPU-инференс
TritonKNKxN-До ~0,7x✅❌
CUDA1161x16ЛучшийДо ~1,3x✅❌
CUDA282x8ХорошоДо ~3,0x✅❌
NumbaK8Kx8ХорошоДо ~4,0x❌✅

Ресурсы

Запустите ноутбук с демонстрацией AQLM, чтобы увидеть больше примеров квантования модели, загрузки квантованной модели на Hub и других задач.

Для примеров демонстрационных блокнотов посетите репозиторий AQLM.

Update on GitHub