Transformers documentation

Optimum Quanto

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

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