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 bibliothèque Easy & Efficient Quantization for Transformers (EETQ) prend en charge la quantification int8 poids uniquement par canal pour les GPU NVIDIA. Elle utilise des noyaux GEMM et GEMV haute performance issus de FasterTransformer et TensorRT-LLM. La couche d’attention est optimisée avec FlashAttention2. Aucun jeu de données de calibration n’est requis, et le modèle n’a pas besoin d’être pré-quantifié. La dégradation de la précision est négligeable grâce à la quantification par canal.

EETQ prend en outre en charge le fine-tuning avec PEFT.

Installez EETQ depuis la page des versions ou le code source. CUDA 11.4 ou supérieur est requis pour EETQ.

page de publication
code source
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

Quantifiez un modèle à la volée en définissant le type de données de quantification dans 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
)

Enregistrez le modèle quantifié avec save_pretrained() afin de pouvoir le réutiliser avec 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