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), LLM'leri son derece düşük bit genişliğinde (<2-bit) kuantize etmek için vektör kuantizasyonundan yararlanan bir Post-Training Quantization (PTQ) yöntemidir. VPTQ, yeniden eğitim gerektirmeden 70B ve hatta 405B modelleri 1-2 bite sıkıştırabilir ve yüksek bir doğruluk derecesini koruyabilir. 405B bir modeli kuantize etmesi yaklaşık 17 saat süren hafif bir kuantizasyon algoritmasıdır. VPTQ, düşük çözümleme maliyeti ve yüksek veri aktarım hızı ile Time To First Token (TTFT) sunan çevik kuantizasyon çıkarımı özelliklerine sahiptir.

NVIDIA ve AMD GPU'lerde çıkarım için verimli çekirdekler sunan VPTQ'yi yüklemek için aşağıdaki komutu çalıştırın.

pip install vptq

VPTQ-community, VPTQ ile kuantize edilmiş modellerin bir koleksiyonunu sunar. Model adı, bit genişliği hakkında bilgi içerir (cookbook, parametre ve dolgu (padding) maliyetleri hariç). Örnek olarak [Meta-Llama-3.1-70B-Instruct-v8-k65536-256-woft] modelini ele alalım.

  • Model adı Meta-Llama-3.1-70B-Instruct'tir.
  • Merkezlerin sayısı 65536 (2^16) ile verilir.
  • Kalanık merkezlerin sayısı 256 (2^8) olarak verilir.

Eşdeğer bit genişliği hesabı aşağıda verilmiştir.

  • index: log2(65536) = 16 / 8 = 2-bit
  • residual index: log2(256) = 8 / 8 = 1-bit
  • toplam bit genişliği: 2 + 1 = 3-bit

Buradan, 70B * 3-bit / 8-bit/bayt çarpımını alarak model boyutunu tahmin edin; toplam 26.25GB eder.

from_pretrained() ile VPTQ ile kuantize edilmiş bir model yükleyin.

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"
)

Kendi modelinizi kuantize etmek için VPTQ Kuantizasyon Algoritması Eğitimi eğitimine başvurun.

Benchmarks

VPTQ, farklı boyutlardaki modellerde daha düşük kuantizasyon maliyetiyle daha iyi doğruluk ve daha yüksek işlem hacmi sağlar. Aşağıdaki deneysel sonuçlar yalnızca referans amaçlıdır; VPTQ, makul parametreler altında, özellikle model doğruluğu ve çıkarım hızı açısından daha iyi sonuçlar elde edebilir.

Modelbit genişliğiW2↓C4↓AvgQA↑tok/sn↑mem(GB)maliyet/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

Kaynaklar

VPTQ'nin örnek demosunu VPTQ Online Demo Space'inde görüntüleyebilir veya VPTQ çıkarım notebook'unu çalıştırmayı deneyebilirsiniz.

Daha fazla bilgi için VPTQ makalesini okuyun.

Update on GitHub