Transformers documentation
EETQ
EETQ
Perpustakaan Easy & Efficient Quantization for Transformers (EETQ) mendukung kuantisasi per-channel weight-only int8 untuk GPU NVIDIA. Perpustakaan ini menggunakan kernel GEMM dan GEMV berkinerja tinggi dari FasterTransformer dan TensorRT-LLM. Lapisan attention dioptimalkan dengan FlashAttention2. Tidak diperlukan dataset kalibrasi, dan model tidak perlu dikuantisasi terlebih dahulu. Penurunan akurasi dapat diabaikan karena kuantisasi per-channel.
EETQ juga mendukung fine-tuning dengan PEFT.
Install EETQ dari halaman rilis atau kode sumber. CUDA 11.4+ diperlukan untuk EETQ.
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
git clone https://github.com/NetEase-FuXi/EETQ.git
cd EETQ/
git submodule update --init --recursive
pip install .Kuantisasi model secara langsung dengan mendefinisikan tipe data kuantisasi di 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
)Simpan model terkuantisasi dengan save_pretrained() agar dapat digunakan kembali dengan from_pretrained().
quant_path = "/path/to/save/quantized/model"
model.save_pretrained(quant_path)
model = AutoModelForCausalLM.from_pretrained(quant_path, device_map="auto")