Transformers documentation

EETQ

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

EETQ

Библиотека Easy & Efficient Quantization for Transformers (EETQ) поддерживает int8 weight-only per-channel квантование для GPU NVIDIA. Она использует высокопроизводительные ядра GEMM и GEMV из FasterTransformer и TensorRT-LLM. Слой внимания оптимизирован с помощью FlashAttention2. Набор данных для калибровки не требуется, а модель не нужно предварительно квантовать. Потеря точности незначительна благодаря per-channel квантованию.

EETQ также поддерживает дообучение с использованием PEFT.

Установите EETQ со страницы релизов или из исходного кода. Для EETQ требуется CUDA 11.4+.

страница выпуска
исходный код
pip install --no-cache-dir https://github.com/NetEase-FuXi/EETQ/releases/download/v1.0.0/EETQ-1.0.0+cu121+torch2.1.2-cp310-cp310-linux_x86_64.whl

Квантуйте модель на лету, определив тип данных квантования в EetqConfig.

from transformers import AutoModelForCausalLM, EetqConfig

quantization_config = EetqConfig("int8")
model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.1-8B",
    dtype="auto",
    device_map="auto",
    quantization_config=quantization_config
)

Сохраните квантованную модель с помощью save_pretrained(), чтобы её можно было повторно загрузить с помощью from_pretrained().

quant_path = "/path/to/save/quantized/model"
model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")
Update on GitHub