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

La biblioteca Easy & Efficient Quantization for Transformers (EETQ) admite cuantización int8 solo de pesos por canal para GPUs de NVIDIA. Utiliza kernels de GEMM y GEMV de alto rendimiento de FasterTransformer y TensorRT-LLM. La capa de atención se optimiza con FlashAttention2. No se requiere un conjunto de datos de calibración y el modelo no necesita estar precuantizado. La degradación de precisión es despreciable debido a la cuantización por canal.

EETQ también permite el ajuste fino con PEFT.

Instale EETQ desde la página de versiones o desde el código fuente. EETQ requiere CUDA 11.4 o superior.

página de lanzamiento
código fuente
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

Cuantice un modelo sobre la marcha definiendo el tipo de datos de cuantización en 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
)

Guarde el modelo cuantizado con save_pretrained() para poder reutilizarlo con 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