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.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Optimum Quanto

Quanto, Optimum için bir PyTorch kuantizasyon arka ucudur. Ağırlıklar için doğrusal kuantizasyon (float8, int8, int4, int2) sunar ve tam hassasiyetli modellerle çok benzer bir doğruluk sağlar. Quanto, herhangi bir model modalitesi ve cihazla uyumlu olduğundan, donanım ne olursa olsun kullanımı kolaydır.

Quanto, daha hızlı üretim için torch.compile ile de uyumludur.

Quanto'yu aşağıdaki komutla yükleyin.

pip install optimum-quanto accelerate transformers

Bir QuantoConfig oluşturarak ve weights parametresini belirleyerek modeli kuantize edin. Bu, model torch.nn.Linear katmanları içerdiği sürece herhangi bir modalitedeki herhangi bir model için geçerlidir.

Transformers entegrasyonu yalnızca ağırlık kuantizasyonunu destekler. Aktivasyon kuantizasyonu, kalibrasyon veya QAT gerekiyorsa Quanto kütüphanesini doğrudan kullanın.

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

Daha hızlı üretim için bir Quanto modelini torch.compile ile sarmalayın.

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)

Kaynaklar

Kütüphane tasarımı ve ölçümler hakkında daha fazla bilgi edinmek için Quanto: a PyTorch quantization backend for Optimum blog yazısını okuyun.

Daha uygulamalı örnekler için Quanto defterine göz atın.

Update on GitHub