Transformers documentation
Optimum Quanto
Optimum Quanto
Quanto adalah backend kuantisasi PyTorch untuk Optimum. Fitur utamanya adalah kuantisasi linear untuk bobot (float8, int8, int4, int2) dengan akurasi yang sangat mirip dengan model presisi penuh. Quanto kompatibel dengan semua modalitas model dan perangkat, sehingga mudah digunakan terlepas dari jenis hardware.
Quanto juga kompatibel dengan torch.compile untuk generasi yang lebih cepat.
Instal Quanto dengan perintah berikut.
pip install optimum-quanto accelerate transformers
Kuantisasi model dengan membuat QuantoConfig dan menentukan parameter weights untuk target kuantisasi. Metode ini berlaku untuk model apa pun dalam modalitas apa pun, selama model tersebut mengandung lapisan torch.nn.Linear.
Integrasi Transformers hanya mendukung kuantisasi bobot. Gunakan library Quanto secara langsung jika Anda memerlukan kuantisasi aktivasi, kalibrasi, atau QAT.
from transformers import AutoModelForCausalLM, AutoTokenizer, QuantoConfig
quant_config = QuantoConfig(weights="int8")
model = transformers.AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-3.1-8B",
dtype="auto",
device_map="auto",
quantization_config=quant_config
)torch.compile
Bungkus model Quanto dengan torch.compile untuk generasi yang lebih cepat.
import torch
from transformers import AutoModelForSpeechSeq2Seq, QuantoConfig
quant_config = QuantoConfig(weights="int8")
model = AutoModelForSpeechSeq2Seq.from_pretrained(
"openai/whisper-large-v2",
dtype="auto",
device_map="auto",
quantization_config=quant_config
)
model = torch.compile(model)Sumber daya
Baca artikel blog Quanto: a PyTorch quantization backend for Optimum untuk mempelajari lebih lanjut tentang desain pustaka dan benchmark.
Untuk contoh yang lebih praktis, lihat notebook Quanto.
Update on GitHub