Transformers documentation

VPTQ

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

VPTQ

Vector Post-Training Quantization (VPTQ) adalah metode Post-Training Quantization (PTQ) yang memanfaatkan vector quantization untuk mengkuantisasi LLM pada lebar bit yang sangat rendah (<2-bit). VPTQ dapat mengompres model 70B, bahkan 405B, menjadi 1-2 bit tanpa pelatihan ulang dan tetap mempertahankan tingkat akurasi yang tinggi. Ini adalah algoritma kuantisasi ringan yang membutuhkan waktu sekitar 17 jam untuk mengkuantisasi model 405B. VPTQ memiliki inferensi kuantisasi yang lincah dengan overhead decoding yang rendah serta throughput dan Time To First Token (TTFT) yang tinggi.

Jalankan perintah di bawah untuk menginstal VPTQ yang menyediakan kernel efisien untuk inferensi pada GPU NVIDIA dan AMD.

pip install vptq

VPTQ-community menyediakan kumpulan model yang dikuantisasi dengan VPTQ. Nama model memuat informasi mengenai bitwidth-nya (tidak termasuk overhead cookbook, parameter, dan padding). Pertimbangkan model [Meta-Llama-3.1-70B-Instruct-v8-k65536-256-woft] sebagai contoh.

  • Nama modelnya adalah Meta-Llama-3.1-70B-Instruct.
  • Jumlah centroid diberikan oleh 65536 (2^16).
  • Jumlah centroid residual diberikan oleh 256 (2^8).

Perhitungan lebar bit ekuivalen diberikan oleh berikut.

  • index: log2(65536) = 16 / 8 = 2-bit
  • indeks residual: log2(256) = 8 / 8 = 1-bit
  • total lebar bit: 2 + 1 = 3-bit

Dari sini, perkirakan ukuran model dengan mengalikan 70B * 3-bits / 8-bits/byte untuk total 26.25GB.

Muat model kuantisasi VPTQ dengan from_pretrained().

from transformers import AutoTokenizer, AutoModelForCausalLM

quantized_model = AutoModelForCausalLM.from_pretrained(
    "VPTQ-community/Meta-Llama-3.1-70B-Instruct-v16-k65536-65536-woft",
    dtype="auto", 
    device_map="auto"
)

Untuk mengkuantisasi model Anda sendiri, lihat tutorial VPTQ Quantization Algorithm Tutorial.

Benchmarks

VPTQ mencapai akurasi yang lebih baik dan throughput yang lebih tinggi dengan overhead kuantisasi yang lebih rendah pada model dengan berbagai ukuran. Hasil eksperimen berikut hanya untuk referensi; VPTQ dapat mencapai hasil yang lebih baik dengan parameter yang wajar, terutama dalam hal akurasi model dan kecepatan inferensi.

ModelbitwidthW2↓C4↓AvgQA↑tok/s↑mem(GB)biaya/h↓
LLaMA-2 7B2.026.138.0758.239.92.282
2.265.957.8759.435.72.483.1
LLaMA-2 13B2.025.327.1562.426.94.033.2
2.185.287.0463.118.54.313.6
LLaMA-2 70B2.073.935.7268.69.719.5419
2.113.925.7168.79.720.0119

Sumber daya

Lihat contoh demo VPTQ di Space Demo Online VPTQ atau coba jalankan notebook inferensi VPTQ.

Untuk informasi lebih lanjut, baca makalah VPTQ.

Update on GitHub